Tem como melhorar? Conf squid.conf [RESOLVIDO]

1. Tem como melhorar? Conf squid.conf [RESOLVIDO]

Junior B!u
juniorbiu

(usa Debian)

Enviado em 19/11/2013 - 14:52h

Companheiros, boa noite.
Na empresa onde trabalho montei um proxy baseado em CentOS + Squid com a seguinte configuração:
> Distro: CentOS
> Versão: Linux 2.6.32-358.18.1.el6.x86_64
> Squid: Version 3.1.10
> SquidGuard: 1.3 Berkeley DB 4.7.25
> Servidor com 5GB de RAM / 4 Proc / Vmware ESXi 5.1
* /var/cache com 35GB exclusivo

Com base nestas infos, configurei o squid.conf a seguir.
O que acredito é que possa melhorar, ainda não esta refinadinho. E por isso recorro aos senhores.

O que pode ser melhorado?


******************************************************
******************************************************
http_port 10.152.166.21:8080

hierarchy_stoplist cgi-bin ?
visible_hostname proxy.xx

# Memoria cache
cache_mem 2048 MB
memory_pools off

#Tamanho maximo de arquivos alocados na RAM
maximum_object_size_in_memory 512 KB
memory_replacement_policy heap GDSF
quick_abort_min -1 KB

# Maximo e Minimo armazenados em disco
maximum_object_size 512 MB
minimum_object_size 0 KB

# Porcentagem de atualizacao do cache - limpo ao atingir o maximo
cache_replacement_policy heap LFUDA
cache_swap_low 80
cache_swap_high 90
ipcache_size 1024
ipcache_low 80
ipcache_high 90
fqdncache_size 1024

# Download e Upload
client_request_buffer_max_size 512 KB
reply_body_max_size 100 MB

# Sites Corporativos
acl local_websites dst_as 10.0.0.0/255.0.0.0
http_access allow local_websites


acl manager proto cache_object
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

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# ---- Cache do Windows Update ----
refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims


# Configuracoes de cache, dono, logs, errors
cache_effective_group squid

cache_dir aufs /var/cache/squid/cache/1 10000 10 128
cache_dir aufs /var/cache/squid/cache/2 10000 10 128
cache_dir aufs /var/cache/squid/cache/3 10000 10 128
cache_dir aufs /var/cache/squid/cache/4 10000 10 128

cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
error_directory /usr/share/squid/errors/pt-br/

cache_mgr xxxx@xxxx.com


# Atualizacoes do cache
hierarchy_stoplist cgi-bin ?
hierarchy_stoplist html ?

refresh_pattern -i \.jpg$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.gif$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.png$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.jpeg$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.bmp$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.tif$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.tiff$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.swf$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.exe$ 0 50% 21600 reload-into-ims
refresh_pattern -i \.php$ 0 20% 1440 reload-into-ims
refresh_pattern -i \.html$ 0 20% 1440 reload-into-ims
refresh_pattern -i \.htm$ 0 20% 1440 reload-into-ims
refresh_pattern -i \.shtml$ 0 20% 1440 reload-into-ims
refresh_pattern -i \.shtm$ 0 20% 1440 reload-into-ims
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320


# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid


################################################
## SQUIDGUARD ##
################################################

redirect_program /usr/bin/squidguard -c /etc/squid/squidguard.conf
#Numero de processos do squidguard
redirect_children 20
#Mantem o Squid funcionando quando o Squidguard pare
redirector_bypass on

##############################################

acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines


## ACL SQSTAT
acl manager proto cache_object
acl webserver src 10.152.166.21/255.255.255.0
http_access allow manager webserver
http_access deny manager


half_closed_clients off
server_persistent_connections off
client_persistent_connections off


http_access deny manager
http_access allow localnet
http_access allow localhost
http_access deny all

******************************************************
******************************************************


  


2. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 19/11/2013 - 16:54h

Dei uma analisada nas tuas configurações. Na minha opinião estão muito boas.
Está dando algum problema?


3. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 19/11/2013 - 17:26h

Buckminster escreveu:

Dei uma analisada nas tuas configurações. Na minha opinião estão muito boas.
Está dando algum problema?


Também achei boas as configurações de memoria e politicas de cache para seu Hardware, apenas uma observação vc disse 35GB de cache mas definiu 40GB = 4X10000 vai estourar o espaço: altere a ultima linha para 5GB

cache_dir aufs /var/cache/squid/cache/1 10000 10 128
cache_dir aufs /var/cache/squid/cache/2 10000 10 128
cache_dir aufs /var/cache/squid/cache/3 10000 10 128
cache_dir aufs /var/cache/squid/cache/4 5000 10 128



4. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 19/11/2013 - 17:35h

andrecanhadas escreveu:

Buckminster escreveu:

Dei uma analisada nas tuas configurações. Na minha opinião estão muito boas.
Está dando algum problema?


Também achei boas as configurações de memoria e politicas de cache para seu Hardware, apenas uma observação vc disse 35GB de cache mas definiu 40GB = 4X10000 vai estourar o espaço: altere a ultima linha para 5GB

cache_dir aufs /var/cache/squid/cache/1 10000 10 128
cache_dir aufs /var/cache/squid/cache/2 10000 10 128
cache_dir aufs /var/cache/squid/cache/3 10000 10 128
cache_dir aufs /var/cache/squid/cache/4 5000 10 128


Exatamente. Eu não tinha percebido isso.


5. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Junior B!u
juniorbiu

(usa Debian)

Enviado em 21/11/2013 - 08:10h

Sim, notei isso após postar aqui, mas corrigi também, bem lembrado.

Problemas, noto que ele para as vezes, mas sem erro ou algo do gênero. Para o navegador é indicado que o proxy não foi localizado, mas no servidor aponta que o serviço esta up e sem erros.
Volta a funcionar após eu parar o serviço, limpar o cache e iniciar o serviço de novo. Detalhe para que o cache não estava cheio.

Uso 100% o SquidGuard para gerenciar os bloqueios e esta funcionando bem.
Tem alguns alertas, e vou postar a configuração dele e os alertas. Quem sabe vocês já conhecem.


6. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 21/11/2013 - 09:32h

juniorbiu escreveu:

Sim, notei isso após postar aqui, mas corrigi também, bem lembrado.

Problemas, noto que ele para as vezes, mas sem erro ou algo do gênero. Para o navegador é indicado que o proxy não foi localizado, mas no servidor aponta que o serviço esta up e sem erros.
Volta a funcionar após eu parar o serviço, limpar o cache e iniciar o serviço de novo. Detalhe para que o cache não estava cheio.

Uso 100% o SquidGuard para gerenciar os bloqueios e esta funcionando bem.
Tem alguns alertas, e vou postar a configuração dele e os alertas. Quem sabe vocês já conhecem.


Este tamanho de arquivo na memória acho um pouco alto:

maximum_object_size_in_memory 512 KB

Deixaria ele com 256 no maximo. (sempre usei 128KB)

Quando travar verifique com o top a quantidade de memória usada pelo squid e squidguard, ja tive problemas do squid travar pq estourava a memória devido a uma regra que atropelava a outra e gerava um loop.


7. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Robson Ramos Barreto
barreto13

(usa Ubuntu)

Enviado em 21/11/2013 - 13:53h

Junior,

É bem isso que o andre disse. O squid deve estar travando devido a sobrecarga da memoria.

Tambem não so recomendo diminuir maximum_object_size_in_memory para 128 como tambem o cache mem que esta com 2G para 256.

Voce tem um CentOS virtualizado no ESXi?
No minimo o ESXi precisa de 2G e para o CentOS voce deve alocar no maximo 3G. Na minha opiniao, voce esta alocando muita memoria para o squid, fora que quanto mais cache_dir é alocado, mais memoria é utilizada, fora o cache_mem.

Faz o monitoramento da memoria com top e ajustando se necessário.

Encontrei este site que ajuda a cacular a memoria pro squid
http://rodrigotamada.wordpress.com/2013/04/16/squid-otimizando-seu-squid-squid-tunning/

Abs
Robson






8. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 21/11/2013 - 14:51h

barreto13 escreveu:

Junior,

É bem isso que o andre disse. O squid deve estar travando devido a sobrecarga da memoria.

Tambem não so recomendo diminuir maximum_object_size_in_memory para 128 como tambem o cache mem que esta com 2G para 256.

Voce tem um CentOS virtualizado no ESXi?
No minimo o ESXi precisa de 2G e para o CentOS voce deve alocar no maximo 3G. Na minha opiniao, voce esta alocando muita memoria para o squid, fora que quanto mais cache_dir é alocado, mais memoria é utilizada, fora o cache_mem.

Faz o monitoramento da memoria com top e ajustando se necessário.

Encontrei este site que ajuda a cacular a memoria pro squid
http://rodrigotamada.wordpress.com/2013/04/16/squid-otimizando-seu-squid-squid-tunning/

Abs
Robson





Acho que o cache_mem esta bom seria 350=35GB +2048 +20MB tolerancia = 2768 sobraria 2.2GB pro sistema.



9. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Junior B!u
juniorbiu

(usa Debian)

Enviado em 21/11/2013 - 15:57h

Sim, virtualizo o servidor no ESXi, e entrego as configurações indicadas.
O servidor ESX tem para ele uma média de 2GB, sendo que 1GB é o necessário e não tenho gargalo de memoria ou processador.

==============================

Fui nesta linha de calculo mesmo, onde tenho servidores com 5GB de RAM.
Segue htop de como esta:

top - 15:51:05 up 3 days, 7:11, 1 user, load average: 0.00, 0.00, 0.00
Tasks: 169 total, 1 running, 167 sleeping, 1 stopped, 0 zombie
Cpu(s): 0.1%us, 0.1%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 4958796k total, 3635616k used, 1323180k free, 1621148k buffers
Swap: 3145720k total, 0k used, 3145720k free, 1338260k cached

==============================

Acho que minha preocupação é o numero de processos ativos/requisições simultâneas.
Hoje ficam ativos uns 20 processos do squid + 20 ou 30 do squidguard.

O que acham sobre este numero de processos?



10. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/11/2013 - 16:03h

Aumente o número de descritores de processos e altere a swappiness:

# sysctl -w fs.file-max=921600 << coloquei 921600, mas você pode colocar menos.
# vim /etc/sysctl.conf

Acrescente no final:

fs.file-max=921600
vm.swappiness=10 << coloquei 10, ou seja, o sistema continua fazendo swappiness, mas não tão frequente.

Reinicie e teste.



11. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Junior B!u
juniorbiu

(usa Debian)

Enviado em 21/11/2013 - 16:26h

*Buckminster: Esta configuração vai aumentar o recurso a ser utilizado em RAM e delimitar o que vai para swap. Acha que pode estar ocorrendo mau uso da RAM?


12. Re: Tem como melhorar? Conf squid.conf [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 21/11/2013 - 17:00h

juniorbiu escreveu:

*Buckminster: Esta configuração vai aumentar o recurso a ser utilizado em RAM e delimitar o que vai para swap. Acha que pode estar ocorrendo mau uso da RAM?


Aumentar os descritores aumenta o número de processos que o sistema pode utilizar.
Mas veja bem, o número de descritores de processos NÃO é o número de programas que a máquina pode abrir.
Um processo até pode ser definido como "um programa em execução", mas um programa pode ter vários processos abertos para seu funcionamento. Um processo quase sempre faz parte de alguma fila. Em geral, os descritores de processos são os elementos dessas filas.
Os descritores de processos contêm informações vitais para a operação do sistema.

A swappinnes é uma técnica de troca de processos.
Todo sistema operacional armazena, em uma fila em disco, os processos de longo prazo. Quando há espaço na memória principal (RAM, por exemplo) os processos são movidos para ela para serem executados e retirados quando forem concluídos. Ou seja, quando você abre um aplicativo, um editor de texto, por exemplo, o sistema operacional aloca um espaço na memória RAM para executá-lo.

Se não há espaço na memória RAM, o sistema utiliza a SWAP (memória virtual - espaço em disco utilizado como memória RAM) e isso torna o sistema lento, pois o acesso do processador ao disco rígido é muito mais lento do que à memória RAM. Aliás, atualmente, o disco rígido é maior gargalo que se tem em um computador.

Às vezes até existindo espaço na memória RAM, o sistema (dependendo do sistema) utiliza a swap, pois ele calcula quantos processos interligados irá precisar e esses processos precisam estar necessariamente em endereços de memória contíguos, ou seja, grosso modo, precisam estar um ao lado do outro. Mas isso não é tão frequente acontecer.

Quanto mais você aumenta o valor na swappinnes (que vai de 0 a 100) mais o sistema, grosso modo, utilizará a swap. Por exemplo, se você colocar a swappinnes em 0, o sistema não utilizará a swap, porém, se "lotar" a memória RAM teu sistema ficará lento.

Aumentar a swappinnes é conveniente para máquinas com pouca memória RAM, de 1GB para baixo (coisa rara hoje em dia).
É lógico que isso depende também dos serviços que se tem instalados na máquina, se tais serviços consomem muita memória, etc.

No caso do Squid em especial, é uma boa prática aumentar os descritores, pois o Squid utiliza muitos processos para funcionar.

Na swappinnes você deve levar em conta a quantidade total de memória RAM que tem na máquina e os serviços instalados nela.
Eu acredito que 10 é um bom valor, mas geralmente o padrão vem com 60, depende da distribuição.

Muitas vezes, configurar bem os descritores e a swappinnes faz muita diferença no sistema.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts