Como Resolver Lentidão na Navegação ao Usar Squid Proxy

Neste artigo, vamos abordar uma situação comum que muitos administradores de sistemas enfrentam: a navegação lenta ao usar o Squid como proxy, seja na forma transparente ou configurada diretamente nos navegadores. Essa lentidão pode ser frustrante tanto para os usuários quanto para os administradores, mas felizmente, há uma solução que pode resolver esse problema específico.

Descrição do problema

Você pode ter notado que a navegação na web está lenta para os usuários que utilizam o Squid como proxy. Esse problema pode ocorrer independentemente de o proxy estar configurado de forma transparente ou diretamente no navegador dos usuários.

Alguns sinais de que você está enfrentando esse problema incluem:

  • Servidor sem sobrecarga aparente: Mesmo monitorando o uso de CPU, memória e outros recursos no servidor, você não vê indícios de sobrecarga.
  • Navegação local normal: Quando os usuários navegam sem passar pelo proxy, a velocidade de navegação é adequada.
  • Acesso SSH ao servidor sem problemas: A conexão SSH para gerenciar o servidor é rápida e sem atrasos.
  • Baixo consumo de banda de Internet: O uso da largura de banda da rede é baixo, indicando que o problema não está relacionado à conexão de Internet em si.

No entanto, ao verificar os logs do Squid, particularmente o cache.log, você encontra a seguinte mensagem de alerta:

WARNING! Your cache is running out of filedescriptor

Essa mensagem indica que o Squid está ficando sem descritores de arquivos disponíveis, o que está causando a lentidão.

Identificação da Causa

A mensagem encontrada no cache.log revela que o número de descritores de arquivos que o Squid pode abrir simultaneamente está limitado. No exemplo típico, o log pode indicar algo como:

With 1024 file descriptors available

Isso significa que o Squid tem apenas 1024 descritores de arquivos disponíveis. Quando esse limite é atingido, o Squid precisa aguardar até que algum descritor seja liberado (ou seja, um arquivo seja fechado) antes de poder abrir novos arquivos. Esse processo causa atrasos no atendimento das conexões dos clientes, resultando na lentidão da navegação.

Resumo do Problema

A solução para esse problema envolve aumentar o número máximo de descritores de arquivos que o sistema Linux permite que o Squid utilize. Aqui está como você pode fazer isso:

1. Aumente o número máximo de arquivos que podem ser abertos no sistema:

No prompt de comando, execute o seguinte comando para aumentar o limite global de descritores de arquivos no sistema:

$ echo 8192 > /proc/sys/fs/file-max

Esse comando ajusta o limite para 8192 descritores de arquivos, mas você pode definir um valor maior, dependendo das necessidades do seu ambiente.

2. Ajuste o limite de descritores de arquivos para o processo do Squid:

Em seguida, defina o número máximo de descritores de arquivos que o processo do Squid pode abrir:

ulimit -HSn 8192

Isso garante que o Squid possa utilizar até 8192 descritores de arquivos, alinhando o limite do processo com o limite do sistema.

3. Recompilação do Squid (opcional, mas recomendada):

Para garantir que o Squid reconheça corretamente esses novos limites, é recomendado recompilar o Squid com essas configurações. Embora essa etapa possa não ser necessária em todas as distribuições ou versões do Squid, ela é uma boa prática para evitar problemas futuros.

4. Atualize o script de inicialização do Squid:

Para garantir que o Squid sempre inicie com essas configurações, adicione o comando ulimit ao início do script de inicialização do Squid. Isso assegura que, a cada reinicialização do serviço, o Squid tenha acesso ao número correto de descritores de arquivos.

5. Verifique se a mudança foi aplicada:

Após fazer essas alterações, reinicie o serviço do Squid e verifique novamente o cache.log para confirmar que o número de descritores de arquivos foi atualizado:

With 8192 file descriptors available

Com o novo limite aplicado, o Squid deve ser capaz de lidar com mais conexões simultâneas sem causar lentidão na navegação dos usuários.

Conclusão

Ao aumentar o número de descritores de arquivos disponíveis para o Squid, você deve ver uma melhoria significativa na velocidade de navegação para os usuários que passam pelo proxy. Essa configuração é especialmente importante em ambientes com muitos usuários ou com alta demanda de tráfego web, onde o limite padrão de descritores de arquivos pode ser facilmente atingido.

Se você ainda tiver dúvidas ou enfrentar outros problemas relacionados ao Squid, não hesite em buscar mais informações ou consultar a documentação oficial do Squid.

Caso tenha mais alguma dúvida sobre Squid, sinta-se à vontade para entrar em contato.

Referências

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Rolar para cima