squid ficando sem soquetes

2

Eu tenho uma configuração em que o squid fica na frente de um servidor java e age como um proxy reverso. Recentemente eu carreguei o site testado e se eu disparar 100 threads nele, cada um fazendo um pedido usando jmeter eu começo a receber erros na minha ferramenta de teste de carga como 'sem rota para host' mesmo que a ferramenta de teste de carga eo servidor estejam no mesma máquina.

se eu executar o seguinte comando, onde a porta 82 é a porta em que meu servidor squid está sendo executado:

netstat -ann | grep 82 | wc -l

eu recebo 22000 ou algo assim e a maioria deles está em TIMED_WAIT. Eu estou pensando que talvez o grande número de sockets no estado TIMED_WAIT esteja passando fome pela caixa de recursos.

    
por benmmurphy 19.04.2010 / 17:50

4 respostas

2

Uma resposta útil do StackOverflow:

link

    
por 19.04.2010 / 17:55
1

Existem vários limites diferentes que podem afetar a operação do seu proxy da Web. Como sysadmin1138 mencionou, as conexões TCP são uma delas.

Outra, como Kyle conseguiu postar antes de mim, são os descritores de arquivos. O padrão do SQUID, pelo menos com o 2.6, é 1024. Para aumentar este limite, você tem que recompilar o --with-maxfd . Mesmo depois de recompilado com FD mais alto, o ulimit estará em vigor para o usuário que inicia o squid. Por exemplo, para aumentar o limite de recursos para 8192, execute isto antes de iniciar o squid:

ulimit -HSn 8192

O padrão do Linux é bem alto no nível do kernel atualmente, então você provavelmente não precisará sintonizar fora do SQUID para o FD. Se você fornecer saída de registro, provavelmente indicará o problema exato e poderemos fornecer recomendações mais detalhadas.

    
por 19.04.2010 / 18:14
0

Podem ser muitos arquivos abertos Com o unix, "tudo é um arquivo", isso inclui sockets. Você precisa aumentar o máximo de arquivos abertos com ulimit para o usuário ou possivelmente também no kernel ( /proc/sys/fs/file-max ). Você também pode jogar com o tempo gasto em TIME_WAIT com /proc/sys/net/ipv4/tcp_fin_timeout

    
por 19.04.2010 / 18:10
0

Se você estiver usando o Squid 2.7, você pode definir o número de fds disponíveis sem recompilar;    link

    
por 30.04.2010 / 09:13

Tags