Servidor proxy (Squid). [RESOLVIDO]

1. Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 29/08/2012 - 17:15h

Pessoal bem?
Estou com seguinte problema em um servidor proxy squid:
Sempre ao final da tarde, a conexão com à Internet fica muito lenta devido a alguma configuração do proxy, então reinicio o squid e tudo volta a funcionar! A máquina que está rodando o squid é um Intel Core 2 Quad 2.66GHz, com 4GB memória.
Reparei o consumo alto da memória de cache, então coloquei no cron o comando "31 * * * * root sh /usr/local/mysar/bin/mysar_cron.sh" para limpar a cada 31min. Mas não adiantou. Segue o meu squid.conf para uma análise:

################### Proxy ##############
http_port 3128 transparent
visible_hostname 254-proxy
error_directory /usr/share/squid/errors/Portuguese
access_log /var/log/squid/access_infsite.log
##################### para visial studio http:
ignore_expect_100 on

##################### Config Cache: #########

cache_mem 256 MB
cache_swap_low 80
cache_swap_high 85
maximum_object_size 1 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 128 KB
ipcache_size 3072
ipcache_low 90
ipcache_high 93
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320

cache_dir ufs /etc/squid/cache/cache1 2048 16 64
cache_dir ufs /etc/squid/cache/cache2 2048 16 64
cache_dir ufs /etc/squid/cache/cache3 2048 16 64
cache_dir ufs /etc/squid/cache/cache4 2048 16 64


##################### Ganho de perfomace ##

pipeline_prefetch on

##################### Safe_ports: #########

acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 587 995 563 70 210 280 488 59 777 8080 389 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
###################### declarações ########

acl all src 0.0.0.0/0.0.0.0
acl rede0 src "/etc/squid/config/rede0"
acl social_clientes src "/etc/squid/config/social_clientes"
acl social_url url_regex -i "/etc/squid/config/social_url"
###################### delay_pools #########

delay_pools 2

delay_class 1 2
delay_parameters 1 3/3 3/3
delay_access 1 allow social_url social_clientes

delay_class 2 2
delay_parameters 2 -1/-1 99999/99999
delay_access 2 allow rede0
###################### liberar ou negar acesso

http_access allow rede0
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow social_clientes
http_access deny all











## É o Senhor que mostra os caminhos.





  


2. Re: Servidor proxy (Squid). [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 29/08/2012 - 21:12h

Eu já tive problemas com o delay pools que do nada o squid estourava a memoria e eram erros no delaypools:
http://www.vivaolinux.com.br/artigo/Criando-delay-pools-(Proxy-Squid)?pagina=2

Seu delay pools não esta como deveria de uma pesquisada sobre configurando squid delay pools


3. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 30/08/2012 - 10:53h

André, muito obrigado pela dica. Vou dar uma olhada neste artigo e posto o resultado!


4. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 30/08/2012 - 11:47h

Dei uma olhada e percebi que no final das contas, a diferença está na quantidade de bits trafegado por segundo. Eu modifiquei como exmplo do artigo, e a diferença que notei foi na taxa de download que reduziu.

Olha só a conf do artigo:
delay_pools 2

delay_class 1 2
delay_parameters 1 -1/-1 500/1000
delay_access 1 allow palavras

delay_class 2 2
delay_parameters 2 -1/-1 15000/25000
delay_access 2 allow interno


O meu:
delay_pools 2

delay_class 1 2
delay_parameters 1 3/3 3/3
delay_access 1 allow social_url social_clientes

delay_class 2 2
delay_parameters 2 -1/-1 99999/99999
delay_access 2 allow rede0


Cheguei até a pensar que era algo com a máquina, mas o "top" apresenta estabilidade.
Por acaso a configuração de memória do meu conf está mesmo correta?
Por exemplo em "cache_mem 256 MB" e "cache_dir ufs /etc/squid/cache/cache1 2048 16 64".
Eu estava usando o "cache_mem" com valor de 75% do total da memória, que ficou assim "cache_mem 3072 MB", o resultado é que ele durava uns 3 dias e voltava a ficar lento novamente.
Ontem coloque um CRON para rodar de 10 em 10min para limpar a o cache (echo 3 > /proc/sys/vm/drop_caches), até então está ok, mas não sei se isso atrapalha o squid.


5. Re: Servidor proxy (Squid). [RESOLVIDO]

johnny borges
johnnyb

(usa Fedora)

Enviado em 30/08/2012 - 13:44h

Amigo nao e o cache que esta com problema não as suas dealy pools podem estar confugiradas eradas
e o chache pesquise um pouco mais sobre ele pois 2048 16 64 pode ser uma configuração inadequadra para o tamanho do cache

intao irei lhe passar algumas ai vc tira a regra do crom de apagar o cache, e se a maquina for dedicada ao squid vc pode aumentar o uso d memoria mais nao se esqueça de deixar um folga para sistema e os serviços que vc roda no servidor


bom vamos as regras
nessa regra caso vc nao tenha certeza do calculo de memoria comece com pouco e va aumentando mais sempre deixe uma folga de memoria para caso de sobrecarga de sistema blz
cache_mem 100 MB

regra do cache substitua por essa
cache_dir ufs /var/spool/squid 2048 16 256


acrescente o dns no squid
dns_nameservers 8.8.8.8
dns_nameservers 8.8.4.4

dealy pools

delay_pools 2
delay_class 1 1
delay_class 2 2
delay_parameters 1 512000/512000 # 4Mbps
delay_parameters 2 512000/512000 6250/64000 # 4Mbps de agregado, 50K de banda com rajada de 64K.
acl diretoria src "lista-de-ips-sem-limitacao.txt"
acl downloads_limitados urlpath_regex -i .*\.mp3 .*\.avi .*\.zip .*\.exe
delay_access 1 allow diretoria
delay_access 1 deny dowloads_limitados
delay_access 1 allow all
delay_access 2 allow all

nao limete .php ou html pois esses tipos de arquivos dificilmente congestiona a rede

depois das alterações
apague a pasta de cache do squid e faça outra
e nao se esqueça de dar permissao para o squid grava na pasta
logo apos entre com o comando
squid -z
para criar novamente os diretorios


testa ai e posta o resultado pra nois
"caso isso resolva o seu problema nao se esqueça de marcar o topico como resulvido e marque a melhor resposta pois assim vc tabem ajuda os outros "



6. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 30/08/2012 - 14:10h

Ótimo cara, blz.
Vou testar!


7. Re: Servidor proxy (Squid). [RESOLVIDO]

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 30/08/2012 - 16:58h

Vi o seu comentário la no meu script.

Vou analisar com calma aqui e tento te ajudar amanhã.



8. Re: Servidor proxy (Squid). [RESOLVIDO]

Cristiano Gomes
cristianovicosa

(usa Debian)

Enviado em 31/08/2012 - 10:06h

Estou mandando meu conf para você testar.
Mude as configurações de acordo com suas necessidades.
Acho que seu "cache_mem" está auto.


http_port 3128 transparent
hierarchy_stoplist cgi-bin ?
visible_hostname OFICINA_DO_COMPUTADOR_31_3891_2871

cache_mem 64 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size_in_memory 64 KB
maximum_object_size 900 MB
minimum_object_size 5 KB
cache_dir ufs /var/spool/squid3 5000 8 256
cache_replacement_policy lru
memory_replacement_policy lru
acl rede src 192.168.0.0/16 #mude de acordo com sua rede
http_access allow rede
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
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 CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
icp_access deny all
htcp_access deny all

access_log /var/log/squid3/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern (cgi-bin|\?) 0 0% 0
refresh_pattern . 0 20% 4320
icp_port 3130
coredump_dir /var/spool/squid3
error_directory /usr/share/squid3/errors/Portuguese

Se não resolver poste aqui.


9. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 31/08/2012 - 12:35h

Realmente o André e o johnnyb(que também está me ajudando) tinham razão!
No meu .conf Tinha um erro no delay_pools, então dei um lida na parte de delay_pool da documentação oficial (http://wiki.squid-cache.org/Features/DelayPools) e fiz novas configurações.
Testei todos os controles, inclusive o limite de determinado host para sites específicos e funcionou beleza. Agora é aguardar para ver o resultado e se não vai ficar lento novamente.

Obs.: ontem tive um problema de espaço em disco 100% cheio. Então tiver que apagar todo cache em disco(demoraa...) e direcionar o cache do squid para uma partição maior. Qual sugestão vocês me dão a respeito de cache em disco do squid(apagar periodicamente, configurar no CRON, etc..)?

Segue minha nova conf e obrigado por estarem me ajudando:

################### Proxy ##############
http_port 3128 transparent
visible_hostname 254-proxy
error_directory /usr/share/squid/errors/Portuguese
access_log /var/log/squid/access_infsite.log

##################### Config Cache: #########

cache_mem 2048 MB
cache_swap_low 80
cache_swap_high 85
maximum_object_size 1 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 128 KB
#ipcache_size 3072
ipcache_low 90
ipcache_high 93
#refresh_pattern ^ftp: 1440 20% 10080
#refresh_pattern ^gopher: 1440 0% 1440
#refresh_pattern (cgi-bin|\?) 0 0% 0
#refresh_pattern . 0 20% 4320

cache_dir ufs /home/cache_squid 2048 16 256

##################### extras #############

pipeline_prefetch on
ignore_expect_100 on

##################### Safe_ports: #########

acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 587 995 563 70 210 280 488 59 777 8080 389 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT
###################### declarações ########

acl all src 0.0.0.0/0.0.0.0
acl rede0 src "/etc/squid/config/rede0"
acl rede21 src "/etc/squid/config/rede21"

acl social_clientes src "/etc/squid/config/social_clientes"
acl social_url url_regex -i "/etc/squid/config/social_url"

##################### DNS #################

dns_nameservers 10.26.20.250
dns_nameservers 8.8.8.8

###################### delay_pools #########

delay_pools 3

delay_class 1 1
delay_parameters 1 9/9
delay_access 1 allow social_url social_clientes # lentidão
delay_access 1 deny all

delay_class 2 2
delay_parameters 2 -1/-1 110000/110000 # download até 120k
delay_access 2 allow rede0
delay_access 2 deny all

delay_class 3 2
delay_parameters 3 -1/-1 210000/210000 # download até 220k
delay_access 3 allow rede21
delay_access 3 deny all

###################### liberar ou negar acesso

http_access allow rede0
http_access allow rede21
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow social_clientes
http_access deny all











## É o Senhor que mostra os caminhos.


10. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 31/08/2012 - 12:45h

[quote]marceloviana escreveu:

Muito obrigado pelo seu conf Cristiano, de verdade mesmo!
fiz uma nova postagem acima dê uma olhada por favor.



11. Re: Servidor proxy (Squid). [RESOLVIDO]

johnny borges
johnnyb

(usa Fedora)

Enviado em 31/08/2012 - 14:48h

Amigo adcione essas linhas no seu squid conf

# *** para nao fazer cache de cgi-bin
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY

# *** administra o cache ou seja quando chega a 95 ele apaga as paginas menos usadas ate voltar ao 90
cache_swap_low 90
cache_swap_high 95

blz qualquer coisa da o grito ai


12. Re: Servidor proxy (Squid). [RESOLVIDO]

Marcelo Viana
marceloviana

(usa CentOS)

Enviado em 31/08/2012 - 16:19h

Beleza cara, obrigado! Os parâmetros de cache (cache_swap_low 90
cache_swap_high 95) já tenho na minha conf, só os valores que estão diferentes.
Vou ajustar!




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts