Esta é a minha primeira pergunta dentro do ServerFault. Então, peço-lhe perdão se a pergunta aqui está um pouco fora de contexto ou muito longa. Eu não encontrei nada na internet, então estou recorrendo a você.
Estou usando o pfSense Firewall v2.2.4 em uma máquina virtual desenvolvida pelo VirtualBox em um Windows 2003 Server x64 para rotear a Internet entre aproximadamente 60 usuários da LAN e aplicar filtros ao conteúdo que pode ser visualizado por eles. Eu implementei a autenticação NTLM com o Samba e, em seguida, usei seu nome de usuário autenticado para aplicar minhas regras no SquidGuard. Tudo está funcionando como um encanto, exceto por uma coisa: alguns usuários relataram conexão lenta por meio de proxy. Minha máquina e algumas outras, que têm seu tráfego de Internet roteado por NAT, não mostram esse comportamento.
Eu tentei isolar o problema e descobri que quando eu reinicio os serviços do Squid, a lentidão desaparece instantaneamente. Pesquisando pela web eu encontrei algo relacionado ao parâmetro url_rewrite_children
Squid. O padrão é 16 start=8 idle=4
para esta versão do squidGuard. Então eu os criei em 32 start=25 idle=5
dentro de squidguard_configurator.inc e passei um bom tempo monitorando os estados dos serviços através do comando ps axu | grep -i squidguard
.
Os resultados, quando tudo parece OK, mostram 25 processos do squidGuard, que é o comportamento esperado mas, por algum motivo, após um intervalo de aproximadamente 100 ~ 120 minutos, o Squid inicia mais 5 processos do squidGuard e então a navegação através do proxy baixa. Parece que os processos do reescritor do squidGuard congelaram ou passaram por uma sobrecarga, mas os indicadores do processador e da memória não mostram nada de estranho e os logs do sistema também não mostram nada de diferente.
Eu criei uma tarefa Cron que reconfigura o squid a cada 15 minutos com o comando squid -k reconfigure
e outra tarefa Cron que reinicia os serviços do squid através do comando /usr/local/etc/rc.d/squid.sh restart
. Funciona, mas acho que não é a solução ideal.
Existe algo que eu possa verificar ou alterar nos arquivos de configuração do squid ou squidGuard para me livrar desse problema?
Minha versão pfSense é 2.2.4-RELEASE (amd64) construída em Sáb Jul 25 19:57:37 CDT 2015 (FreeBSD 10.1-RELEASE-p15), meu pacote squid3 está na versão 0.4.7 e no pacote squidGuard-devel está na versão 1.5.10.
O pfSense está sendo executado em uma máquina virtual com CPUs Intel (R) Xeon (R) E5-2420 v2 a 2.20GHz - 4 CPUs: 1 pacote (s) x 4 núcleo (s) e 4 GB de RAM e 240 GB de disco rígido disco.
Qualquer ajuda será apreciada.
Obrigado antecipadamente. Bruno