Você deve remover essa regra porque ela é redundante:
-A INPUT -i lo -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Estas regras são processadas em tempo constante sem dados de estado e é extremamente improvável que seja o problema:
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p esp -j ACCEPT
-A INPUT -i ppp+ -j ACCEPT
-A INPUT -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -p udp -m udp --dport 4500 -j ACCEPT
-A INPUT -p udp -m udp --dport 1701 -j ACCEPT
-A INPUT -i lo -j ACCEPT
Essas regras tendem a ser eficientes e provavelmente não são a causa, a menos que você tenha um número extremamente grande de conexões TCP abertas:
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ppp+ -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Esta regra é a mais cara que você tem, devido à criação de log e, mais importante, à regra de limite:
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
Tente remover o último e veja se o desempenho melhora. Se isso não ocorrer, adicione-o novamente e remova as duas regras de estado para ver se o desempenho melhora.
No entanto, isso depende muito do que você quer dizer ao fazer uma solicitação para o aplicativo. Nada disso será aplicado, a menos que você esteja fazendo a solicitação através da rede, já que suas regras são todas inseridas ou encaminhadas (embora possam estar afetando a velocidade de uma consulta feita à rede a partir desse host). A operação já terminou?