Nosso servidor está sobrecarregado com sessões TCP / IP, temos 1200 - 1500 delas. A maioria deles está pendurada no estado TIME_OUT. Acontece que uma conexão no estado TIME_OUT ocupa um soquete até que o tempo limite de 60 segundos seja decorrido.
O problema é que o servidor não responde e muitos clientes não estão sendo atendidos.
Fiz um teste simples: baixe um arquivo XML do servidor com o Internet Explorer 8.0 O download termina em uma fração de segundo. Mas vejo que a conexão TCP / IP está travando no estado TIME_OUT por 60 segundos.
Existe alguma maneira de se livrar de TIME_OUT em espera ou diminuir o tempo para liberar o soquete para novas conexões?
Entendo por que a conexão TCP / IP entra no estado TIME_OUT, mas não entendo por que o Internet Explorer não fecha a conexão após o término do download do arquivo XML.
Os detalhes.
Nosso servidor executa o serviço da Web escrito em Perl (mod-perl). O serviço fornece dados meteorológicos aos clientes. O cliente é uma aplicação Flash (na verdade, controle Flash ActiveX incorporado no aplicativo Windows).
SO: Ubuntu
A opção "Keep Alive" do Apache está definida como 0
KeepAlive on|off
. KeepAlive 0
é a sintaxe do Apache 1.1; Presumo que você não esteja usando isso.