Squid demora para carregar [RESOLVIDO]

1. Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 25/08/2010 - 11:22h

Bom dia gente, estou com um problema cronico.

Tenho um cliente que roda squid em um Red Hat, o cara que configurou esse squid já saiu da empresa há uns 2 anos e a bomba sobrou na minha mão.

Nos terminais( XP com proxy autenticado ) a primeira pagina abre rapido. Mas quando clica em algum link ou abre alguma outra URL ela demooooora pra carregar (muitas vezes mais de 5 minutos para carregar um terra.com.br da vida).

Já vi em outros tópicos com problemas parecidos, sugestões de cache_mem e maximum_object_size mas não resolveu meu problema, por isso resolvi criar um novo tópico para ver se consigo resolver algo.

Meu squid.conf tem algumas regras uteis, mas tem muita coisa antiga tbm que não tem mais utilidade, mas eu tenho medo de apagar e o squid parar de vez. Vou postar o codigo e se alguem puder me axiliar em alguma maneira para otimizar meu squid seria de grande ajuda!

#----------------------------------------------------------
# SEJA BEM VINDO AO SERVIDOR PROXY BITBYTE
# ---------------------------------------------------------
# Ultima alteracao - 24/08 de 2010
# Mudanca em mazimum_object_size ( antigo 4mb )
# Mudanca em cache_mem (antigo 64mb)
# --------------
# OPCOES DE REDE
# --------------
# Porta utilizada pelo servidor para atenteder as requisicoes feitas a ele
http_port 3128
# Lista de palavras que, se encontradas em uma URL, irao carregar
# diretamente do cache local
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist html ?
#
# Lista de palavras que nunca devem ser salvas em cache
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
# -------------
# OUTRAS OPCOES
#--------------
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# --------------------------
# OPCOES DE TAMANHO DE CACHE
# --------------------------
# Quantidade de memoria utilizada pelo SQUID
cache_mem 128 MB
# Tamanho minimo para reposicao de objetos armazenados
cache_swap_low 90
# Tamanho maximo para reposicao de objetos armazenados
cache_swap_high 95
# Tamanho maximo dos arquivos a serem armazenados em CACHE
maximum_object_size 12000 kb
# Tamanho minimo dos arquivos a serem armazenados em CACHE
#minimum_object_size 0 KB
# -------------------------------------------------
# LOCALIZACAO DOS ARQUIVOS DE LOG E PASTAS DE CACHE
# -------------------------------------------------
# Diretorio onde os arquivos cache serao armazenados
cache_dir diskd /var/spool/squid 6144 16 252 Q1=64 Q2=72
# Log de acesso ao servidor proxy
cache_access_log /var/log/squid/access.log
# Arquivo onde sera gerado o log sobre o comportamento do cache
cache_log /var/log/squid/cache.log
# DNS a ser utilizado pelo SQUID
dns_nameservers 200.204.0.10 200.204.0.138
# Local onde esta o executavel DISKD, que aumenta o desempenho do cache
diskd_program /usr/lib/squid/diskd
#-------------
# AUTENTICACAO
# ------------
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Controle de Acesso Internet
auth_param basic credentialsttl 2 hours
# -----------------
# CONTROLE DE ACESSO
# ------------------
acl all src 0.0.0.0/0.0.0.0
acl conectividade src "/etc/squid/conectividade" #IPs da caixa
acl conectividade1 dstdomain "/etc/squid/conectividade1" #URL da caixa
acl autenticar proxy_auth REQUIRED
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl smtp port 110
acl pop port 25
acl CONNECT method CONNECT
# Configuracao para caixa economica
acl cscaixa url_regex "/etc/squid/cscaixa.txt"
no_cache deny cscaixa
always_direct allow cscaixa
acl proibir_palavras url_regex -i "/etc/squid/block.txt"
#acl ip_proibidos src 192.168.0.14
acl rede_interna src 192.168.0.0/255.255.255.0
#conectividade social
http_access allow conectividade all
http_access allow conectividade1 all
# Somente permitir acesso ao cache vindos de localhost
http_access deny proibir_palavras
#http_access deny ip_proibidos
http_access allow autenticar
http_access allow manager localhost
http_access deny manager
# Bloquear acessos a portas desconhecidas
http_access deny !Safe_ports
http_access deny CONNECT !Safe_ports
# Bloquear todos os acessos que nao sejam atraves das portas seguras
http_access deny CONNECT !SSL_ports
# Essa e a volta dos pedidos das Regras dos usuarios
http_access allow localhost
http_access allow rede_interna
# E-mail do Administrador do servidor proxy
#cache_mgr suporte@bitbyte.com.br
# Nome do servidor proxy
visible_hostname servint.lgm.br
# ------------------------
# HTTPD ACELERATOR OPTIONS
# ------------------------
# Nome do host acelerador do squid
#httpd_accel_host virtual
# Porta acelerada pelo squid
#httpd_accel_port 80
# Esta opcao habilita o squid para ser acelerador e proxy ao mesmo tempo
httpd_accel_with_proxy on
# Esta opcao habilita o squid como proxy transparente
#httpd_accel_uses_host_header on



  


2. MELHOR RESPOSTA

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 25/08/2010 - 11:34h

comece pelo mais simples, e (se necessário) vá para o mais complicado.

o mais simples aqui (e TIVE, um dia, problema semelhante) é o dns que o squid vai utilizar. Vc pode montar um dns-cache na mesma máquina ou pode utilizar dns-servers de boa qualidade. Os que vc está usando são da telecômica e a telecômica NÃO É confiável, portanto, altere:

# DNS a ser utilizado pelo SQUID
dns_nameservers 200.204.0.10 200.204.0.138 <-- substitua por 8.8.8.8 8.8.4.4 (são do google).

POSTERIORMENTE (se ainda tiver problemas) comente esta linha:

# Esta opcao habilita o squid para ser acelerador e proxy ao mesmo tempo
# httpd_accel_with_proxy on <-- comentada

na verdade, pra que vc a quer acelerada? não tá fazendo proxy reverso pra Apache, está?

verifique também a "profundidade" do swap - não se deve te-lo muito "profundo" se a máquina não for rápida e não dispuser de um bom volume de ram ("profundidade: vários folders com MUITOS sub-folders cada um)

finalmente, observe (top ou htop) se a máquina não está "no talo" durante o período normal, veja ali em cima (children) se o número não é pequeno demais para os acessos, o uso de ram.

isso tudo faz parte de um bom "tuning" do squid.

divirta-se :)






3. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 25/08/2010 - 11:29h

Esqueci de comentar, minha rede local esta na eth0 e o speedy esta na eth1.
Sempre foi assim, por isso acredito que esta não seja a causa de nenhum problema. Há alguns meses tudo trabalhava em uma velocidade aceitavel.


4. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 25/08/2010 - 11:58h

Eu altero o DNS apenas no squid.conf ou altero tbm no resolv.conf?
A cfg deste server é um tanto vergonhosa ( PIII 900 com 256 de ram ) mas ele já funcionou melhor com a msm quantidade de micros.
Até onde meu conhecimento permite, eu sei que ele roda apache com o sarg para relatórios de uso.

Vou alterar o DNS e no squid.conf e no resolv.conf e volto a postar o resultado aqui.

Abrz.


5. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 25/08/2010 - 13:33h

Alterei os DNS e continua lento.

Para testar eu abri o site do bradesco. Beleza, abriu rapidinho, mas ao clicar na aba "pessoa juridica" ou "Prime" ai começa a lentidão.. leva muito tempo pra carregar alguma coisa...

Isso começou umas 2 semanas atras .. até então tava normal.. =/


6. Re: Squid demora para carregar [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 25/08/2010 - 14:19h

(Apesar de você rodar o apache para rodar os relatórios do sarg, não há interconexão entre eles que não apenas de manuseio de arquivo. Não precisa dequela opção no squid.conf.)

Além de configuração do squid, pode ser cache "sujo", ou assim digamos "corrompido".
Tente iniciar um novo cache e veja se muda a velocidade:

Páre o squid, e :

mv /var/spool/squid /var/spool/squid2
mkdir /var/spool/squid
chmod 777 /var/spool/squid
Depois dê um /usr/sbin/squid -z
E inicie novamente o squid.

Veja se a velocidade muda. Se não mudar é hora de analisar as conexões que passam por seu gateway, pois o problema pode ser a rede. Acontece de as vezes um "virusinho" novo que abre diversas conexões se espalhar pela rede e iniciar um DDoS no Squid...r


7. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 25/08/2010 - 14:44h

Valeu Diede, refiz as pastas do cache, restartei o squid mas continua lento...

Como posso analisar as conexões? Andei tendo problemas na rede com o conficker e já passei muita dor de cabeça com o 2008 server que é o pdc da rede. Provavelmente deve ter algum vestigio na rede ainda e seja isso a causa da lentidão...



8. Re: Squid demora para carregar [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 25/08/2010 - 15:14h

É... era do Conficker mesmo que eu estava falando... hehehe... já tive uns probleminhas com ele numa rede em que gerencio apenas o server mas não as estações (Antivirus, WinUpdate e talz não é comigo.).
Você pode abrir um wireshark aí no server e ver as conexões feitas...

Mas, faça um teste primeiro:
Execute este comando: "cat /proc/net/ip_conntrack| wc -l"
Irá exibir um número. Se esse número for maior que 5 vezes o número de máquinas que você tem na rede, talvez seja hora de se preocupar...

Agora, contando que seja um virus mesmo, como está seu iptables? o jeito mais fácil de "matar" esses virues é tirando o masquerade geral (tipo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE) e permitindo só para as portas que o pessoal precisa usar (FTP, POP, IMAP...)...
Poste a saída do seu iptables-save para a gente analisar...


9. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 27/08/2010 - 17:21h

Executei esse comando hj, na rede eu tenho cerca de 40 maquinas e o comando me retornou 342.
O que esse comando faz exatamente?

Ajuda se eu postar meu iptables aqui?


10. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 27/08/2010 - 17:27h

Eu peguei o iptables dentro de sysconfig. Achei ele no minimo estranho.
Vejam:

# Firewall configuration written by lokkit
# Manual customization of this file is not recommended.
# Note: ifup-post will punch the current nameservers through the
# firewall; such entries will *not* be listed here.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Lokkit-0-50-INPUT - [0:0]
-A INPUT -j RH-Lokkit-0-50-INPUT
-A FORWARD -j RH-Lokkit-0-50-INPUT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 80 --syn -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT
-A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
-A RH-Lokkit-0-50-INPUT -i eth0 -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --syn -j REJECT
COMMIT


To perdido, num sei se é este mesmo que eu tenho que ver, tem um iptables dentro do rc.local, mas ele parece um script.. não tem regras.

Alguem tem uma luz ae?


11. Squid demora para carregar

Perfil removido
removido

(usa Nenhuma)

Enviado em 27/08/2010 - 17:33h

Vou tentar ajudar da seguinte forma: Não estou tentando responder sua pergunta com outra pergunta, mas é só para eu saber.
Você tem somente o proxy nesta máquina?
Você já verificou as capacidades dela, fala em relação a uso de memória, tamanho e uso do hd tamanho dos caches guardados?
Posta para eu poder tentar te ajudar, pois se o desempenho do micro estiver ruin logo o desempenho do proxy também vai estar entende?
Abraço.


12. Re: Squid demora para carregar [RESOLVIDO]

Eduardo
dufrosa

(usa Red Hat)

Enviado em 27/08/2010 - 17:42h

Ela roda só o proxy, com o sarg para verificar os acessos.

A config eu já postei aqui ( P3 900 com 256 ) Hd tá tranquilo.

Não sei qual comando para verificar se a maquina esta no talo ou não, mas seria estranho ser a config sendo que há algum tempo estava tudo normal.

Tive um problema feio com o Conficker e desconfio que algo foi alterado no linux.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts