PFSense 2.1 - Lentidão Squid, até latência aumenta
-
Olá Senhores,
Estou com um servidor com o PFSense 2.1 64Bits, é o mesmo da Open VPN que criei outro tópico.
Não importa qual versão do Squid que eu instale, acaba com o desempenho do PFSense, da 2.7 passando pelo 3 e pelo 3-Dev que o colega Marcelloc está desenvolvendo.
Já tentei algumas soluções que pesquisei, como essa:
http://forum.pfsense.org/index.php/topic,8620.msg59306.html#msg59306Sem resultado, basta eu ativar o Squid e até a latência das conexões sobem. Para ter idéia, com o Squid ativo ao disparar ICMP(Ping) para o site aqui da empresa o tempo de resposta fica em 350-360ms. Basta eu derrubar o serviço do Squid e tudo volta ao normal, latências de 50-60ms.
Olhei no Access.log e no cache.log, mas simplesmente não há nenhuma mensagem de erro ou de aviso.
Um trecho completo da inicialização do cache do Squid:
2013/10/16 17:30:59| Shutting down... 2013/10/16 17:30:59| FD 23 Closing ICP connection 2013/10/16 17:30:59| basic/auth_basic.cc(97) done: Basic authentication Shutdown. 2013/10/16 17:30:59| Closing unlinkd pipe on FD 18 2013/10/16 17:30:59| storeDirWriteCleanLogs: Starting... 2013/10/16 17:30:59| Finished. Wrote 3 entries. 2013/10/16 17:30:59| Took 0.00 seconds (21582.73 entries/sec). CPU Usage: 0.249 seconds = 0.083 user + 0.166 sys Maximum Resident Size: 12564 KB Page faults with physical i/o: 0 2013/10/16 17:30:59| Open FD UNSTARTED 11 DNS Socket IPv6 2013/10/16 17:30:59| Open FD READ/WRITE 12 DNS Socket IPv4 2013/10/16 17:30:59| Open FD UNSTARTED 23 ICP Socket 2013/10/16 17:30:59| Squid Cache (Version 3.1.22): Exiting normally. 2013/10/16 17:31:54| Starting Squid Cache version 3.1.22 for amd64-portbld-freebsd8.3... 2013/10/16 17:31:54| Process ID 79115 2013/10/16 17:31:54| With 11095 file descriptors available 2013/10/16 17:31:54| Initializing IP Cache... 2013/10/16 17:31:54| DNS Socket created at [::], FD 21 2013/10/16 17:31:54| DNS Socket created at 0.0.0.0, FD 22 2013/10/16 17:31:54| Adding domain jsa.net from /etc/resolv.conf 2013/10/16 17:31:54| Adding nameserver 143.106.2.5 from /etc/resolv.conf 2013/10/16 17:31:54| Adding nameserver 8.8.4.4 from /etc/resolv.conf 2013/10/16 17:31:54| Adding nameserver 208.67.220.220 from /etc/resolv.conf 2013/10/16 17:31:54| Adding nameserver 8.8.8.8 from /etc/resolv.conf 2013/10/16 17:31:54| User-Agent logging is disabled. 2013/10/16 17:31:54| Referer logging is disabled. 2013/10/16 17:31:54| Unlinkd pipe opened on FD 29 2013/10/16 17:31:54| Local cache digest enabled; rebuild/rewrite every 3600/3600 sec 2013/10/16 17:31:54| Store logging disabled 2013/10/16 17:31:54| Swap maxSize 10485760 + 262144 KB, estimated 826761 objects 2013/10/16 17:31:54| Target number of buckets: 41338 2013/10/16 17:31:54| Using 65536 Store buckets 2013/10/16 17:31:54| Max Mem size: 262144 KB 2013/10/16 17:31:54| Max Swap size: 10485760 KB 2013/10/16 17:31:54| Version 1 of swap file with LFS support detected... 2013/10/16 17:31:54| Rebuilding storage in /var/squid/cache (CLEAN) 2013/10/16 17:31:54| Using Least Load store dir selection 2013/10/16 17:31:54| Current Directory is /etc 2013/10/16 17:31:54| Loaded Icons. 2013/10/16 17:31:54| helperOpenServers: Starting 0/0 'ssl_crtd' processes 2013/10/16 17:31:54| helperOpenServers: No 'ssl_crtd' processes needed. 2013/10/16 17:31:54| Accepting HTTP connections at 192.168.0.254:8080, FD 32. 2013/10/16 17:31:54| Accepting ICP messages at [::]:7, FD 33. 2013/10/16 17:31:54| HTCP Disabled. 2013/10/16 17:31:54| Ready to serve requests. 2013/10/16 17:31:54| Done reading /var/squid/cache swaplog (3 entries) 2013/10/16 17:31:54| Finished rebuilding storage from disk. 2013/10/16 17:31:54| 3 Entries scanned 2013/10/16 17:31:54| 0 Invalid entries. 2013/10/16 17:31:54| 0 With invalid flags. 2013/10/16 17:31:54| 3 Objects loaded. 2013/10/16 17:31:54| 0 Objects expired. 2013/10/16 17:31:54| 0 Objects cancelled. 2013/10/16 17:31:54| 0 Duplicate URLs purged. 2013/10/16 17:31:54| 0 Swapfile clashes avoided. 2013/10/16 17:31:54| Took 0.00 seconds (942.21 objects/sec). 2013/10/16 17:31:54| Beginning Validation Procedure 2013/10/16 17:31:54| Completed Validation Procedure 2013/10/16 17:31:54| Validated 31 Entries 2013/10/16 17:31:54| store_swap_size = 66 2013/10/16 17:31:55| storeLateRelease: released 0 objects
Observações:
1 - Testei o Squid desabilitando o cache.
2 - Já desabilitando a geração de LOGs.
3 - Reinstalei e rodei todas as versões do Squid.Alguém com algum problema parecido?
-
Esta usando em modo transparente?
-
Esta usando em modo transparente?
Sim, tanto em modo transparente quanto em modo normal.
O estranho é que ele parece só liberar o carregamento do site se o Squid acaba o download para o cache, só que o cache está desativado…
-
Ainda não testei o squid com a 2.1 em produção. Mas já vou ficar ligado neste problema…
-
Bem,
Eu já tenho vários pfSenses 2.1 com Squid 2.7 e Squid3-dev em produção. Por aqui, tudo absolutamente normal.
É estranho o serviço interferir no ping, já que pacotes ICMP não são processados pelo Squid. Este 143.106.2.5 é um DNS válido mesmo? qual a latência para atingi-lo a partir da sua rede?
Como ficam o consumo de memoria e CPU com o Squid ativado?
Abraços!
Jack -
Bem,
Eu já tenho vários pfSenses 2.1 com Squid 2.7 e Squid3-dev em produção. Por aqui, tudo absolutamente normal.
É estranho o serviço interferir no ping, já que pacotes ICMP não são processados pelo Squid. Este 143.106.2.5 é um DNS válido mesmo? qual a latência para atingi-lo a partir da sua rede?
Como ficam o consumo de memoria e CPU com o Squid ativado?
Abraços!
JackBoa tarde JackL!
Esse IP DNS é o da UNICAMP, geralmente a latência fica < 50ms.
O problema ocorre no mesmo servidor que menciono neste tópico: http://forum.pfsense.org/index.php/topic,68075.msg373978.html#msg373978
A VPN está funcionando, mas o Squid continua com problemas, não importa a versão que eu instale, o servidor começa a aumentar a latência da conexão até tornar a navegação impossivel, mesmo por fora do Squid.
Para ter uma idéia, hoje eu resolvi a questão da VPN e instalei o Squid3-DEV novamente para continuar testando uma solução, assim que eu instalei ele já deixou a navegação muito lenta… além de que há um aparente BUG na versão do pacote(falarei mais abaixo).
Isto tudo me parece estar sendo causado por problemas de roteamento, talvez o PFSense esteja procurando rotas IPv6 ou forçando o trafego através dessa versão do protocolo. Detalhe que eu já desativei o suporte a IPv6 no sistema.
Outra coisa estranha foram os erros do Squid3-DEV. Como estou testando, subo o Squid em modo não transparente e acesso por um computador para testar. Quando reinstalei o pacote e apliquei as configurações para ele operar "não transparente", apareceu o seguinte erro no LOG:
php: /pkg_edit.php: The command '/usr/pbi/squid-amd64/sbin/squid -k reconfigure -f /usr/pbi/squid-amd64/etc/squid/squid.conf' returned exit code '1', the output was '2013/10/22 15:50:13| Can't use proxy auth because no authentication schemes are fully configured. FATAL: ERROR: Invalid ACL: acl password proxy_auth REQUIRED Squid Cache (Version 3.3.8): Terminated abnormally. CPU Usage: 0.010 seconds = 0.010 user + 0.000 sys Maximum Resident Size: 31728 KB Page faults with physical i/o: 0' squid: ERROR: Invalid ACL: acl password proxy_auth REQUIRED
Então eu fiquei intrigado, se na GUI a autenticação está desativada, porque o erro menciona que nenhum esquema de autenticação foi definido e gera erro?
Então eu tentei editar o arquivo do Squid(/usr/pbi/squid-amd64/etc/squid/squid.conf) manualmente para testar, eu comentei algumas linhas referentes a autenticação:
#auth_param basic children 5 #auth_param basic realm Please enter your credentials to access the proxy #auth_param basic credentialsttl 5 minutes #acl password proxy_auth REQUIRED #http_access allow password localnet # Default block all to be sure http_access deny allsrc
Com isso o serviço passou a iniciar, mas ao tentar navegar na estação, apresenta mensagem de que o PRoxy recusou a conexão, algo semelhante ao que o colega Gilmarcabral relatou neste tópico: http://forum.pfsense.org/index.php/topic,67550.0.html
Sinceramente, é o primeiro servidor que implantei com a versão 2.1 e só tenho tido problemas, antes no mesmo Hardware tinha a versão 2.0.3. Pensando seriamente em fazer o Rollback.
Alguma sugestão?
-
Qual o método de autenticação que está marcado no squid?
Pode conferir e salvar mais uma vez para ver se algo muda?
A última alteração do pacote foi a inclusão do metodo de autenticação captive portal.
-
Ativa o squid e faça a analise com o tcpdump , faça um traceroute também , ou até mesmo um dig em uma consulta de dns pra ver o tempo de resposta.
-
Qual o método de autenticação que está marcado no squid?
NONE
Pode conferir e salvar mais uma vez para ver se algo muda?
A última alteração do pacote foi a inclusão do metodo de autenticação captive portal.
Já conferi e salvei a perder a conta de vezes, sempre gera o mesmo erro, tentei até selecionar um método, como LDAP e salvar, depois colocar em NONE e salvar denovo, sempre o mesmo erro no LOG.
Com o Squid3 e com Squid 2.7 isso não ocorre, só que por exemplo, com o Squid3, no cliente dá conexão recusada agora, já com o Squid2.7 só ocorre o problema da latência.
Isso está cada vez mais me parecendo problema de roteamento… -
vou revisar o código do squid3-dev nesta parte de autenticação.
-
Ativa o squid e faça a analise com o tcpdump , faça um traceroute também , ou até mesmo um dig em uma consulta de dns pra ver o tempo de resposta.
Olá!
Requisições DNS estão OK, foi a primeira coisa que testei com todas as versões do Squid e com o pacote desinstalado também.
Rastreamento de rotas está OK também, o que ocorre é um aumento gradual e constante da latência até o ponto de ficar impraticável a navegação, mesmo para quem está navegando por fora do Squid.
O que ocorre com o Squid3 e Squid3-DEV é que o Proxy agora está recusando conexões, como aconteceu com o colega Gilmarcabral.
-
vou revisar o código do squid3-dev nesta parte de autenticação.
Obrigado Marcelloc.
Sobre o meu "causo", você possui algum cenário de versão/pacotes parecido?
-
Sobre o meu "causo", você possui algum cenário de versão/pacotes parecido?
Em produção ainda não. Só em testes.
-
ta usando ipv6 ou só ipv4?
-
LFCavalcanti,
Minhas sugestões:
-
Faça uma instalação limpa, com o Squid 2.7 e volte o backup (gere ele antes, claro);
-
Desligue o tráfego de pacotes IPv6.
Teste assim e valide. Depois, se for atualizar para o Squid 3 ou Squid3-Dev, esteja atento as dependências. Fique de olho e consulte os logs do Squid.
Créditos das dicas ao nosso consultor, aqui da ConexTI, Felipe Ortega. ;)
Abraços!
Jack -
-
Irei participar deste problema.
Como o LFCavalcanti informou o problema dele e igual o meu.
Eu fiz a instalação do zero.
Em seguida desabilitei o trafego na GUI de ipv6.
ai configurei e instalei o squid e quando rodo o comando netstat -an vejo que a porta esta closed.
Ai removi o squid3-dev e instalei o squid e o problema permanece.
Teste todas versões do squid que o pfsense possui. -
ta usando ipv6 ou só ipv4?
Obrigado pela ajuda, mas preciso pedir que leia o tópico novamente, inclusive suas referencias para não termos que repassar a mesma informação várias vezes.
-
LFCavalcanti,
Minhas sugestões:
-
Faça uma instalação limpa, com o Squid 2.7 e volte o backup (gere ele antes, claro);
-
Desligue o tráfego de pacotes IPv6.
Teste assim e valide. Depois, se for atualizar para o Squid 3 ou Squid3-Dev, esteja atento as dependências. Fique de olho e consulte os logs do Squid.
Créditos das dicas ao nosso consultor, aqui da ConexTI, Felipe Ortega. ;)
Abraços!
JackOlá JackL!
Este servidor estava rodando com o Squid 2.7 a principio. Mesmo assim, nosso colega Gilmar Cabral já fez isto, conforme comentário dele abaixo:
Irei participar deste problema.
Como o LFCavalcanti informou o problema dele e igual o meu.
Eu fiz a instalação do zero.
Em seguida desabilitei o trafego na GUI de ipv6.
ai configurei e instalei o squid e quando rodo o comando netstat -an vejo que a porta esta closed.
Ai removi o squid3-dev e instalei o squid e o problema permanece.
Teste todas versões do squid que o pfsense possui.Vou tentar então gerar as regras de NAT Outbound manualmente, mas se a porta do Proxy é bloqueada… estranho "tchê". ;D
Algum local onde podemos editar as regras do Firewall manualmente? Seja em arquivo ou console?
-
-
boa noite.
Tenho novidade sobre o squid 2.7 com o suporte ao IPV6 desabilitado na GUI do pfsense 2.1
Agora esta funcionando.
Desabilitei o suporte a ipv6 na GUI do pfsense 2.1 com isso o squid2.7 inicializou e funcionoaru 100%.
Sem este suporte ao IPV6 ate a minha openvpn não cria mais a rota ipv6 automaticamente sendo que estou usando ipv4.
Agora irei fazer o teste atualizando para a versão squid3 ou squid3-dev para ver se funciona.
Pelo menos a versão do squid2.7 funciona sem dependência do ipv6. -
Jackl uma duvida sobre sua sugestão.
Voce sugere que depois de tudo validado e testado no squid 2.7 atualiza-lo para o squid3 ou squid3-dev com suas dependencias de SSL resolvidadas assim devera funcionar?
Caso for isso uma duvida como seria esta atualização?
Remoçâo do squid 2.7 e intalando o squid3 ou squid3-dev?
Ou mantenho o squid 2.7 e instalo omsquid3 ou o squid3-dev?
Desde ja agradeço.