Taxa de Download Baixa via Squid

1. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 01/06/2009 - 09:04h

Bom dia pessoal

recentemente substituí um servidor squid que rodava em Slackware 10.2 por outro com Fedora10 e com a versão 3.0.STABLE13 do squid. O que acontece é que nas máquinas onde utilizo proxy a taxa de download não passa dos 15kb/s, por outro lado quando utilizo um computador com acesso direto tenho taxas de download de 70, 90kb/s. Isso não acontecia antes, a diferença era mínima. Alguém sabe o que pode estar ocorrendo? esse é meu .conf atual.

http_port 3128
cache_mem 128 MB
maximum_object_size 128 KB
cache_dir ufs /etc/squid/cache 500 50 50
cache_access_log /etc/squid/logs/access.log
cache_store_log /etc/squid/logs/store.log
pid_filename /var/run/squid.pid

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/senhas
auth_param basic children 5
auth_param basic realm Monitor de Internet MA
acl manager proto cache_object

#acl all src 0.0.0.0/0

acl Safe_ports port 21 80 22 70 443 465 563 873 995 8200
acl CONNECT method CONNECT
acl localhost src 127.0.0.1/32
#http_access allow all

acl redeMA src 192.168.0.0/24


acl usuarios proxy_auth REQUIRED

#-- IPs que acessam a TUDO
acl at src "/etc/squid/aT"

#-- Quiosques do Banco real
acl acesso_banco src "/etc/squid/grupos/usr_banco"

#-- Usuarios de acesso especifico
acl acesso_esp proxy_auth "/etc/squid/grupos/usr_esp"

#-- Usuarios que tem acesso padrao
acl acesso_padrao proxy_auth "/etc/squid/grupos/usr_padrao"

#-- Usuarios que acessam a TUDO
acl acesso_total proxy_auth "/etc/squid/grupos/usr_total"

#listas de endereços
acl bloqueado url_regex -i "/etc/squid/bloqueio/bloqueado.txt"
acl liberado url_regex -i "/etc/squid/bloqueio/liberado.txt"
acl especifico url_regex -i "/etc/squid/bloqueio/especifico.txt"
acl bancoreal url_regex -i "/etc/squid/bloqueio/bancoreal.txt"

http_access allow manager localhost
http_access deny manager
http_access allow localhost

#-- IPs que acessam a TUDO
http_access allow at

#-- Usuarios que acessam a TUDO
http_access allow acesso_total

#-- Usuarios que tem acesso padrao
http_access allow acesso_padrao liberado !bloqueado
http_access deny acesso_padrao especifico

#-- Usuarios de acesso especifico
http_access allow acesso_esp liberado especifico !bloqueado
http_access deny bloqueado !especifico !liberado

#-- Quiosques do Banco real
http_access allow acesso_banco bancoreal !liberado !especifico !bloqueado
http_access deny acesso_banco liberado especifico bloqueado !bancoreal

http_access allow usuarios acesso_total
http_access allow usuarios acesso_padrao
http_access allow usuarios acesso_esp

http_access deny !redeMA
http_access allow redeMA
#http_access deny all
#icp_access allow all


  


2. Re: Taxa de Download Baixa via Squid

Jefferson Diego
Diede

(usa Debian)

Enviado em 01/06/2009 - 09:56h

Desde que administro um server com squid, percebi algumas coisas que podem deixar o squid lento:

1. Logs não rotacionados
- Verifique o tamanho dos arquivos /etc/squid/logs/access.log e /etc/squid/logs/store.log. Quanto maiores eles forem, mas lento o squid ficará.
- Se possível desabilite o cache_store_log. A não ser em casos específicos, não há utilidade para ele:
cache_store_log none

2. Cache "Dirty".
- Aqui uso um cache de 4GB. Com "trilhões" de acessos ao Orkut diáriamente na rede, depois de +ou- 1 mês de vida, o Squid fica extremamente lento, principalmente depois de reiniciamentos forçados do servidor (RESET), o que obriga a reiniciar o cache.

3. Falta de um "DNS Accelerator".
- Umas máquinas por aqui com uma coisinha chamada Conficker deixaram claro como tudo seria se eu não tivesse um DNS interno... experimente instalar o Bind9 e ver no que dá.

Faça um experimento:

/etc/init.d/squid stop

cd /etc/squid
mv cache cache2
mkdir cache
chown squid:squid cache
squid -z
cd /etc/squid/logs/
squid -k rotate
/etc/init.d/squid start

Verifique se muda em alguma coisa:

PS: Por que seu cache fica em /etc ?


3. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 21/06/2009 - 15:22h

Eu já tenho um DNS na minha rede, mas ele roda num outro servidor, que tem Windows Server 2003. Mesmo assim vc acha que há necessidade de configurar o bind no meu proxy?


4. Re: Taxa de Download Baixa via Squid

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/06/2009 - 11:43h

Se já há um DNS, confira se o timing dele está bom. Faça uns testes na rede com o nslookup, veja quanto tempo demora para responder a uma requisição DNS...
E, é claro, coisas como o Conficker podem estar deixando seu DNS sobrecarregado. Aqui cheguei a ter quase 100 requisições pode segundo, vindas de diversas máquinas...
E... resolveu alguma coisa ao rotacionar os logs? resetar o cache?


5. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 22/06/2009 - 12:03h

Rotacionar os logs, não resolveu, a abertura de páginas ficou mais rápida, mas os downloads continuam lentos. Outra coisa que achei estranha é que meu access.log cresceu assombrosamente, ele ficou com 6GB em apenas um mês. Quando server era Slackware o crescimento era menor, eu não era responsável por ele mas ele estava cerca de 1 ano sem que os logs fosem rotacionados e atualmente o número de usuários da minha rede é menor.

Uma outra coisa é que meu consumo de memória também está alto para uma máquina que só roda squid e apache e não opera em modo gráfico. Meu server tem 2GB de RAM e tenho 300MB livres.

De qualquer maneira vou fazer os testes que você recomendou. Ontem eu instalei o Bind nele já estou cogitando configurá-lo, pode ser que solucione o problema.


6. Re: Taxa de Download Baixa via Squid

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/06/2009 - 13:56h

Só por curiosidade mas, quantos usuários há na sua rede?
Aqui tenho cerca de 50 usuários, e a meu access.log demora quase 2 semanas para atingir a case de 100MB...
Bem... seu uso de memória também está muito alto..
A documentação do Squid diz que o processo squid não se reserva a limitar-se pelo "cache_mem", até porque ele precisa de 10MB para indexar cada GB de cache no cache_dir.
Meu server tem cache Mem de 128MB e não é incomum a utilização de memória beirar os 300MB, mas no seu caso já ultrapassa muitos limites.

Só outra coisa:
O seu Servidor está devidamente protegido, em questões de Firewall?
Quando peguei meu server para administrar, nos primeiros dias achei estar tudo ok, mas algumas horas depois de iniciar, quando começou a ficar lento, ví que a porta 3128 estava aberta para ainternet e tinha milhares de "pessoinhas" conectando-se ao meu proxy...
Eu sei que seu proxy tem autenticação e tudo, mas só o fato do cara estar iniciando a conexão já reduziria a velocidade...
Se for o caso, dá uma conferida, com o comando:
tail -f /etc/squid/logs/access.log| grep -v "192.168.0."
(Que mostrará todos os acessos que não vêm da sua rede 192.168.0.0/24)




7. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 22/06/2009 - 14:26h

Tenho cerca de 100 usuários. Quanto a firewall, eu não tenho um nativo neste servidor, mas tenho um firewall cisco PIX que cobre toda minha rede e também é meu gateway.


8. Re: Taxa de Download Baixa via Squid

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/06/2009 - 14:40h

Nesse seu caso a coisa muda...
Aqui meu server é Gateway+Firewall+Storage+Router...
É até heresia dividar de um cisco, mas e quanto ao comando tail? foi registrado algum acesso fora do escopo 192.168.0.x?


9. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 22/06/2009 - 16:10h

Vou ficar te devendo este teste hehe, hoje é meu dia de folga, estou em casa.


10. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 23/06/2009 - 11:02h

Fiz o teste que você falou, mas não encontrei nenhuma anormalidade. Uma coisa estranha é que rodei o comando top e ele diz que o squid esta utilizando 7% da memória e o restante dos processos 0.0. e diz que, como eu havia te falado, so tenho 300~400MB livres, não to entendendo mais nada...

Também utilizei o nslookup e a resposta foi imediata, meu server DNS não apresentou lentidão.


11. Folga? o que é isto? :-)

Jefferson Diego
Diede

(usa Debian)

Enviado em 23/06/2009 - 14:33h

Ah.. Quanto a utilização de memória, basei-se pela linha "-/+ buffers/cache" do comando free -m.
Veja a saída do meu Server, por exemplo:

total used free shared buffers cached
Mem: 1995 1591 403 0 103 506
-/+ buffers/cache: 981 1013
Swap: 8189 481 7708

O que conta como free é o 1013 não o 403, pois o 403 é o free considerando-se a utilização de memória para cache do sistema. Não é anormal ficar com 50, ou mesmo 10 MB livres com utilização de cache.

Bem... vamos ser extremos... por enquanto aí na sua rede, considerando que o Squid está lento e tals, você está deixando a conexão direta via NAT, ou deixando lento mesmo?
Se for possível, deixe tudo em NAT e passe máquina por máquina pelo proxy, vendo se com poucas máquinas ele alcança velocidade máxima...


12. Taxa de Download Baixa via Squid

Hevanderson da Silva Maria
hev

(usa Slackware)

Enviado em 23/06/2009 - 16:26h

Ahhh sim, então não estou tão mal de memória.
Veja a saída do free -m no meu server:

total used free shared buffers cached
Mem: 2024 1808 215 0 205 1338
-/+ buffers/cache: 264 1759
Swap: 2015 0 2015

No domingo eu estava utilizando cerca de 7 máquinas via proxy e estava lento da mesma maneira.




01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts