Re: Desempenho de Cache do Squid
Bom, não sou muito de postar em forum não, mas vamos lá!<br><br>Só a
nivel de informação o squid consome 14Mb de memoria para cada GB de
cache_dir então o seu squid vai estar consumindo 3.5 GB só para indexar o
disco quando ele estiver cheio, mas está bom pela quantidade de memoria
que você tem, o ideal é que você tenha um cache_dir que demore mais de 1
Mês pra ficar cheio, já que quanto mais tempo um arquivo leva em cache,
maior a probabilidade de você conseguir um HIT nele, e pelo andar da
carruagem o seu vai levar +- isso já que já tem 11 dias rodando, agora
aconselho que para melhorar o proxy junto com as politicas que setou em
memory_replacement_policy e cache_replacement_policy efetuar as
seguintes configurações:<br>
<br>
Setar o tamanho maximo de objeto em disco para algo em torno de 64MB e
128MB. Pelo tamanho do cache_dir pode usar 128Mb sem problemas.<br><br>Setar
o tamanho maximo de objeto em memoria para 128 KB no maximo, mas
aconselho colocar 64 KB, afim de aumentar o "Request Memory Hit Ratios"
que é a quantidade de HITS solicitados da memoria e diminuir o a
porcentagem de HITS de arquivos solicitados do disco "Request Disk Hit
Ratios", já que o tamanho medio dos arquivos do seu cache está em 20 KB
aproximadamente e normalmente a maior parte dos arquivos da internet
são realmente pequenos, e como o disco é muito mais lento que a memoria
ram, então é interessante que os arquivos pequenos que são muito mais
numerosos sejam pegos da memoria e o sistema só vá em disco para
arquivos maiores. Com isso vai perceber que o "Median Service Times"
principalmente o "HTTP Requests (All)" deve baixar um bocado, deve ficar
uns 0.25 acredito que até menos, nos teste que fiz com o Lusca cache
recompilado para não usar o ulinkd consigo service times na casa dos
0.14, não vou pedir para aumentar o cache_mem por que nos meus testes
com esse tamanho de cache_dir o squid vai começar a fazer swap de
memoria quando o cache_dir estiver cheio, e 2GB de cache_mem e 250GB de
cache_dir é um bom balanço para o que quer. <br>
<br>
Para aumentar o Hit Rate e o Byte Rate de forma segura aconselho a usar os refresh_patterns retirados do site abaixo:<br>
<br>
http://www.linux.com/archive/feature/153221<br><br>Os que o amigo passou
acima, realmente consegue milagres, mas como milagres não existem, você
no final vai ter mais dor de cabeça com refresh_patterns tão
agressivos, falo por experiencia propria, já utilizei os mesmo e foi só
problemas, no hotmail e mais um bando de site ai que aparecia o que o
ultimo usuario tinha puxado da rede, isso quando não o login, e ou a
caixa de entrada do e-mail do ultimo usuario, loucura total! rs<br>
<br>
Bom com isso ai que passei deve conseguir um Hit rate de 40%-45%, sendo
que uns 55% desses hits devem ser memory hits e um byte Rate na casa dos
25%-35% isso depois do cache já rodando a algum tempo, mas vai sentir a
mudança no squid logo nos primeiros dias.<br><br>Dependendo da versão
do Squid você pode usar um storeurl_rewriter pro youtube e ganhar mais
uns % a mais e até passar de 50% de byte rate dependendo do uso de sua
rede.<br><br>Se for fazer as alterações, se possivel poste o feedback
das alterações que for efetuar, e qualquer coisa estou no e-mail
[email protected].<br><br><br>Abraços,<br><br><br>Anderson Aráujo.
Re: Desempenho de Cache do Squid
Obrigado pelas dicas, eu ja estava pensando em colocar somente 32K no maior objeto de memória, e de disco colocarei 128MB. Irei fazer uns testes com esses refreshs ae, ve se muda algo ou se so ira dar dor de cabeça. Quanto a cache de disco, acho que não terei problemas pois como postei acima os hds somados em raid ta dando 200 MB/s de leitura.
Re: Desempenho de Cache do Squid
Opa. Os refresh_patterns do site que passei acima pode utilizar sem problemas, na verdade tem outras otimizações de refresh_patterns, mas ai é coisa de analisar site a site, caso a caso.
Em relação aos discos, o indicado é trabalhar com eles em Jbod mesmo, e deixar o squid controlar o acesso, pois se houver uma falha você vai perder 50% do cache utilizando 2 hds, e não 100% em caso de falha do raid 0. O item mais importante para o squid no uso do disco é o access time, que para hds sata de 7200rpm fica na casa dos 15ms aproximadamente, com essa maquina e seguindo as recomendações que passei, o seu cache dá pra atender até uns 1200 usuarios online simultaneos sem problemas, e novamente repito, sempre tenha em mente que deve priorizar o memory hit rate para evitar o acesso a disco na busca de arquivos pequenos, pois diminui em muito a velocidade de atendimento do cache.
Estas dicas que estou te dando, são baseadas em experiencia propria, pois que precisei medir a fundo o desempenho do squid, para implementar um proxy que acredito atender até 10000 clientes, mas no momento será utilizado só para atender 5000 clientes simultaneos. Isso em um Xeon Quad, com 24GB de memoria, 4 HDs SAS de 174GB para cache, e setando 12GB de cache_mem para o Squid, agora estou rodando o Lusca cache para o proxy.
Anderson
Re: Desempenho de Cache do Squid
OK, fiz as modificacoes sugeridas, agora vamos aguardar. Daki uns dias eu posto aqui como ficou. Obrigado.
Re: Desempenho de Cache do Squid
Apos 10 dias e os ajustes finos, tenho direto picos de 2 Mbps de economia de banda. O Link de 16 Mbps esta com 4 Mbps de folga.
No momento sao 130GB de cache com 5GB de memoria em uso.
Foram economizados 47GB em tráfego.
Info de Rede: RX bytes:464704249232 (432.7 GiB) TX bytes:514970476787 (479.6 GiB)
Se olharem o grafico do meu Proxy (esse grafico eh baseado no CACHE HIT)
http://sgcu.dyndns.org:8090/link/proxy.html
Vera que dia apos dia esta aumentando a media de Cache HIT, ou seja, quanto mais tempo rodando sem pausas (reiniciar a maquina por ex) melhor o Proxy, principalmente o de memoria tem uma taxa maior de Hits.
Para finalizar o relatorio do squidclient:
Connection information for squid:
Number of clients accessing cache: 2
Number of HTTP requests received: 17271305
Number of ICP messages received: 0
Number of ICP messages sent: 0
Number of queued ICP replies: 0
Number of HTCP messages received: 0
Number of HTCP messages sent: 0
Request failure ratio: 0.00
Average HTTP requests per minute since start: 1219.9
Average ICP messages per minute since start: 0.0
Select loop called: 382733845 times, 2.219 ms avg
Cache information for squid:
Request Hit Ratios: 5min: 37.8%, 60min: 35.2%
Byte Hit Ratios: 5min: 17.2%, 60min: 15.7%
Request Memory Hit Ratios: 5min: 38.1%, 60min: 35.7%
Request Disk Hit Ratios: 5min: 28.1%, 60min: 33.9%
Storage Swap size: 126890248 KB
Storage Mem size: 2559876 KB
Mean Object Size: 22.33 KB