Como Melhorar o Desempenho ? [RESOLVIDO]

1. Como Melhorar o Desempenho ? [RESOLVIDO]

igor iglesias
igoiglesias

(usa XUbuntu)

Enviado em 07/12/2010 - 12:44h

Olá Amigos,

será que vcs poderiam me dar uma ajudinha para melhora o desempenho(performace) de meu servidor de Proxy/Cache ??
Estou começando com um provedor de internet aqui onde moro e estou precisando muito desse servidor!!

ele tem:
1GB de Memoria DDR2
Processador AMD Sempron 1.6Ghz
Hd de 160GB
1 placa rede (trabalha em paralelo com o Mikrotik)

o Squid.conf que eu uso é esse ai

http_port 3128 transparent
#icp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
cache_mem 100 MB
maximum_object_size_in_memory 256 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 80
cache_swap_high 85
ipcache_size 1024
ipcache_low 90
ipcache_high 95
fqdncache_size 1024
cache_dir ufs /var/spool/squid 100000 16 256
cache_access_log /var/log/squid/access.log
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
dns_nameservers 8.8.4.4
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
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 Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow localhost
http_access allow all
http_reply_access allow all
icp_access allow all

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 . 0 20% 4320

#Cache windowsupdate ( Faz 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.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
refresh_pattern download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims
refresh_pattern www.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims

#Cache atulizacao avira ( Faz cache do Avira ) ##
refresh_pattern personal.avira-update.com/.*\.(cab|exe|dll|msi|gz) 10080 100% 43200 reload-into-ims

#Cache atualizacao symantec
refresh_pattern liveupdate.symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
refresh_pattern symantecliveupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims

#Cache avast
refresh_pattern avast.com/.*\.(vpu|cab|stamp|exe) 10080 100% 43200 reload-into-ims

#zph_tos_local 0x30
#zph_tos_peer 0
#zph_tos_parent off
#zph_preserve_miss_tos on

#mime_table /etc/squid/mime.conf
pid_filename /var/run/proxy.pid
debug_options ALL,1
log_fqdn off

forwarded_for off
error_directory /usr/share/squid/errors/Portuguese
coredump_dir /var/cache/squid
detect_broken_pconn on
pipeline_prefetch on


des de já, muito obrigado !!


  


2. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 07/12/2010 - 15:22h

De muitas formas, amigo.
De início, aumente esse cache_mem para pelo menos uns 300MB. Quanto a seu cache_dir, mude o sistema de arquivos de ufs para aufs. Agora de resto, depende. Qual é seu link? quantos usuários? o servidor é dedicado apenas para proxy?


3. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

igor iglesias
igoiglesias

(usa XUbuntu)

Enviado em 07/12/2010 - 21:02h

olá amigo, obrigado pela ajuda primeiramente.

o servidor roda cache, apache, bind somente e meu link por enquanto é de 1 mega para 26 clientes
(e ja esta ficando meio lento em sertas horas do dia )

se der gostaria que me esplicace como essas modificaçoes q vc sugeriu vão me ajudar

pois n pretendo só coloca-lo para funcionar.. quero aprender tbm !!


e outra coisa ... uso squid 2.6, me recomendaria trocar pra squid3???


4. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/12/2010 - 04:15h

Em realação as mudanças:
O "cache_mem" controla o quanto de memória o squid usará como cache de objetos. A ideia de aumentar este valor é a seguinte:
Imagine que sua máquina use DDR2 800Mhz, que teoricamente lê/grava a 6400MB/s. Seu HD, por mais rápido que seja, alcança os 80..90MB/s.
No cálculo com melhor dos valores acima você tem sua memória mais de 70 vezes mais rápida que e o HD. E o mais importante: MENOR LATÊNCIA.
Numa rede hipotética onde 10.000 usuários estão abrindo suas páginas do Orkut: É melhor que o cache busque esta imagem 10.000 no HD, ou que a busque 10.000 na memória que é muito mais rápida[1]? Isso mesmo. Virtualmente, quanto maior memória RAM há no seu cache, melhor o desempenho.

O aufs usa a mesma estrutura do ufs, com a diferença de que enquanto no ufs é o processo do squid que controla a leitura/gravação do cache, no aufs são threads. A vantagem é que o processo principal não fica "travado" esperando por I/O. Você tem então um sistem mais rápido, ao custo (ínfimo) de um consumo maior de recursos. (Ao passo que sua máquina tem MUITOS recursos).

O serviço que mais consome recursos na sua máquina aparenta ser o servidor cache (Squid). A não ser que você rode algo muito "pesado" nesse seu apache, aumente mais aindao valor de cache_mem: Você tem 1GB. Seu sistema deve estar usando no máximo 30% disso.

Quanto a sua versão do Squid, recomendo que troque a 2.6, mas não necessariamente para a 3.
A 2.6 é "Oldstable" (terminologia de Debian ;-) ). Ela não será mais atualizada. O mesmo ocorre para a 3.0.
As versões "Stable" - no ciclo de desenvolvimento - são a 3.1 a 2.7.
Em certas ocasiões, tenho preferência pela 2.7, por conta de diversas possibilidades de rewrite que ainda não foram portadas para a versão 3.x. Mas, rewriters são um pouco mais avançados. E específicos.
Nas funções mais "simples" de cache, ambas versões são eficientes. Fica a sua escolha.


PS: Considere que apesar do próprio S.O. fazer cache do que é lido do HD, o conteúdo da web não é necessariamente estático.



5. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

igor iglesias
igoiglesias

(usa XUbuntu)

Enviado em 08/12/2010 - 07:17h

Vlw amigo.

mudei meu cache_mem para 300MB e meu cache_dir para aufs

e seguindo o que li em outro topico aqui no vol add o seguinte:

cache_dir aufs /var/spool/squid/1/ 25000 16 256
cache_dir aufs /var/spool/squid/2/ 25000 16 256
cache_dir aufs /var/spool/squid/3/ 25000 16 256
cache_dir aufs /var/spool/squid/4/ 25000 16 256

o que vc ache ? e tem mais alguma dica para min ??

a proposito, quando uso o comando FREE para checar o tanto de memória livre depois de um tempo rodadando sempre fica entre 15MB a 10MB livre, isso é normal ??

Não sei se falei mais uso o Ubuntu 9.04 Server !
e meu apache não roda nada d mais, esta padrão ainda
ontem atualizei meu squid para o 2.7 e desinstalei o bind !


6. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/12/2010 - 07:46h

Sim, é normal trabalhar nessas margens de memória livre pois o sistema faz cache/buffer. Você pode ter 20GB de RAM, mas o sistema irá deixar 10..50MB de RAM livre. Para se orientar da utilização real, dê um "free -m" mas olhe pela linha "-/+ buffers/cache", ou faça assim: "free -m| grep -v Mem".
Quanto a seus cache_dir, na prática tantos deles no mesmo HD não fará diferença de desempenho. Você só tem que prestar atenção também no tamanho deles. Você definiu um total de 100GB num HD de apenas 160GB compartilhado com o sistema. Em determinado momomento pode ser que 100GB de cache + sistema + arquivos de log consumam o espaço livre no seu HD e o squid acabe travando...
Quanto ao bind, é recomendável mantê-lo. Um cache de DNS sempre otimiza as coisas. A não ser, é claro, que você já tenha um DNSCache na sua rede interna. Daí é só configurar o proxy para usá-lo ao invés de criar um novo neste servidor mesmo.


7. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

igor iglesias
igoiglesias

(usa XUbuntu)

Enviado em 08/12/2010 - 10:14h

Eu faço cache de DNS no Mikrotik ja !

e outra coisa sempre que o sistema fica com esses 10MB de memória livre, logo em seguida ele começa a usar a Swap,
isso é normal ??

faço essa pergunta pq ja ouvi dizer que quando o server começa a usar a Swap ele perde um pouco do desempenho !


8. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/12/2010 - 10:54h

É normal sim, por conta de uma propriedade do kernel chamada "swappiness". Ela calcula como o Kernel irá distribuir o que será carregado na RAM e o que irá para a SWAP. Mas, depende também. Usar 10..20..100MB de Swap é uma coisa. Agora se seu sistema estiver usando muito mais que isso é algo que precisa ser analisado

A perda de desempenho ao usar swap é relativa. Imagine por exemplo um sistema com 20 sessões ociosas do Gnome carregadas. Eles estão ociosas. Se estiverem carregadas em RAM só ocuparão espaço de uma memória ultra-rápida que poderia ser usada de forma mais útil. Se estiverem carregadas na SWAP, nem se quer haveria perda de desempenho, pois ninguém as está usando...


9. Re: Como Melhorar o Desempenho ? [RESOLVIDO]

igor iglesias
igoiglesias

(usa XUbuntu)

Enviado em 08/12/2010 - 12:29h

Obrigado pela ajuda amigo !!!

tem mais alguma coisa que vc axe q ei possa mudar no meu servidor para melhorar o desempenho do meu cache???








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts