Dúvida sobre cache



  • Olá a todos,

    A menos de um mês tive a oportunidade de conhecer e instalar o PfSense (2.0.2-Release i386) em uma máquia com a seguinte configuração:

    Processador: Intel Core 2 Quad CPU Q8400 2,66 GHz
    Memória: 4GB
    HD SATA: 350 GB
    eth0: WAN
    eth1: LAN

    Pacotes instalados: Squid3, Sarg

    Configurei o proxy para realizar o cache (na aba: Local Cache)

    Cache replacement policy: Heap LFUDA
    Low-water-mark in %: 90
    High-water-mark in %: 95
    Hard disk cache size: 2048
    Hard disk cache system: ufs
    Level 1 subdirectories: 32
    Hard disk cache location: /var/squid/cache
    Minimum object size: 0
    Maximum object size: 1024
    Memory replacement policy: Heap GDSF

    O "problema" que estou tendo é que não tenho certeza de que o cache está funcionando.  Às vezes, percebo que ao acessar uma determinada página que já foi acessada anteriormente, o processo de carregar a mesma é demorado.  Como verificar se o cache está funcioando? Caso minha conexão com a Internet caia, consigo acessar uma determinada página se ela estiver armazeanda na cache?

    Verifiquei o diretório /var/squid/logs encontrei os sequintes arquivos:

    access.log          34540.54KiB
    access.log.0        6272.37KiB
    access.log.1        1294.95KiB
    access.log.2        8817.94KiB
    cache.log                82.05KiB
    cache.log.0            119.59KiB
    cache.log.1              0.24KiB

    Ao verificar esses arquivos tive dúvidas se é normal esses 4 arquivos de access.log e 3 arquivos de cache.log.  Não era para ter apenas um de cada? Será que é isso que está fazendo o chache não funcionar?

    Espero ter sido claro na minha explicação.

    Grato a quem responder.



  • Rmulo, bem vindo ao fórum!  :)

    Os arquivos com numero no final são os logs rodados ou rotacionados. Você provavelmente marcou esta opção no sarg.
    Eles não atrapalham o cache de forma alguma.

    com relação ao squid, veja na aba de tempo real se os acessos tem o TCP_MISS ou TCP_HIT. TCP_MISS significa que o squid não encontrou no cache e enquanto o TCP_HIT ou TCP_MEM_HIT significam que o cache foi encontrado e entregue ao usuário.



  • Bom dia Marcelloc
    Vi sua resposta a este topico então fui verificar no meu.
    Interessante que no relatório so encontro o seguinte status TCP_MISS/200 e TCP_DENIED/407 fiquei monitorando um tempo legal e não vi estes outros status.



  • Sei que no squid3 a opcão de cache dinamico esta bugada. Faz um teste e veja se o resultado muda.



  • Estou utilizando o squid3 com a opção Cache Dinamico.
    Desmarquei e continua somente com o TCP_MISS.

    Estou utilizando o squid3 com havp.



  • @marcelloc:

    Rmulo, bem vindo ao fórum!  :)

    Os arquivos com numero no final são os logs rodados ou rotacionados. Você provavelmente marcou esta opção no sarg.
    Eles não atrapalham o cache de forma alguma.

    com relação ao squid, veja na aba de tempo real se os acessos tem o TCP_MISS ou TCP_HIT. TCP_MISS significa que o squid não encontrou no cache e enquanto o TCP_HIT ou TCP_MEM_HIT significam que o cache foi encontrado e entregue ao usuário.

    Bom dia.

    Ao realizar o acompanhamento em tempo real, observei que uma grande quantidade de status se dá por TCP_MISS/200 e TCP_MISS_304.  Aparecem poucos TCP_HIT, TCP_IMS_HIT, TCP_REFRESH_UNMODIFIED/304



  • Olá

    Tente apagar o cache do Squid.

    Vá em Status>Services e de "Stop" no Squid.

    Depois entre via SSH usando o WinSCP ou programa similar e apague o conteudo do diretório /var/squid/cache.

    Agora abra o console e no Shell execute o comando squid -z

    Depois é só iniciar o Serviço Squid novamente.



  • Boa tarde.
    Fiz conforme o LFCavalcanti e mesmo assim não consegui notar o cache no log do squid.
    Continua tudo como TCP_MiSS/200.



  • Descobri o motivo do squid3 com squidguard não estava armazenando cache.
    E o seguinte.
    No Custom Settings no campo Integrations tenho a seguinte configuração.

    Esta ACL informa os Sites que são acessíveis sem passar pelo proxy
    acl SITES_NO_PROXY url_regex "/var/db/squidGuard/SITES_NO_PROXY/domains";
    http_access allow SITES_NO_PROXY;

    Esta ACL são os Sites que não armazena CACHE
    acl SITES_NO_PROXY url_regex "/var/db/squidGuard/SITES_NO_PROXY/domains";
    http_access allow SITES_NO_PROXY;

    Regra de integração com o squidguard
    redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;
    redirector_bypass off;url_rewrite_children 5

    O problema se eu utilizar a regra que não armazena CACHE simplesmente ele para de fazer cache para tudo.
    Para mim o squid deveria parar de fazer cache somente no site que esta dentro do arquivo domains que é o IP 201.14.126.11.

    Então se eu retirar a ACL para não armazenar CACHE ai o squid volta a fazer cache normalmente.



  • Parece que descobri o erro.
    Tavo aceitando allow no SITES_NO_CACHE o correto e denny pois tenho que negar o cache para o site que esta dentro de domains.

    acl SITES_NO_CACHE url_regex "/var/db/squidGuard/SITES_NO_CACHE/domains";
    no_cache denny SITES_NO_CACHE



  • Gilmar. Boa Tarde.

    Estou acompanhando o seu tópico e passou pelo mesmo problema com o cache do squid. Gostaria de saber como ficaria correto o código abaixo:

    redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;redirector_bypass on;redirect_children 3

    Tenho esse código no squid 3 ( Available: 3.1.20 pkg 2.0.5_8 Installed: 3.1.20 pkg 2.0.5_5 )  Custom Settings no campo Integrations. Teria como vc passar o código completo para que eu possa conseguir fazer corretamente o cache e assim chegar no resultado esperado?

    Abraços e obrigado.

    ATT

    Breno Alencar



  • redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;redirector_bypass off;url_rewrite_children 5

    Fica desta forma acima.
    Agora se você remover a linha deixar nda e reiniciar o servidor a linha é adicionada automaticamente.
    No meu caso o problema estava em outra regra informando para não fazer cache para um site.



  • @breno.uni:

    Tenho esse código no squid 3 ( Available: 3.1.20 pkg 2.0.5_8 Installed: 3.1.20 pkg 2.0.5_5 )

    Já tentou aplicar a atualização?



  • Marcello.  Desinstalei o pacote e instalei novamente e a versão continua a mesma ( Available: 3.1.20 pkg 2.0.5_8 Installed: 3.1.20 pkg 2.0.5_5 ).
    Tem algum procedimento para atualizar o pacote ou fiz da forma certa?

    Abraços.

    Gilmar. Voce conseguiu fazer o cache funcionar do jeito que queria. Caso sim tem como passar o procedimento para os demais colegas aqui do forum?

    Abraços.

    ATT

    Breno Alencar



  • boa tarde.
    Postei aqui no penultimo email.

    Parece que descobri o erro.
    Tavo aceitando allow no SITES_NO_CACHE o correto e denny pois tenho que negar o cache para o site que esta dentro de domains.

    acl SITES_NO_CACHE url_regex "/var/db/squidGuard/SITES_NO_CACHE/domains";
    no_cache denny SITES_NO_CACHE

    Era que no local de denny tavo usando Allow.
    Apenas isso.
    Bom eu retirei o havp agora irei coloca-lo de volta.



  • Gilmar. Desculpas, mas só não consegui entender o caminho desse arquivo ou como chegar nessa linha para alterar de allow para denny. E também ainda não entendi se fazendo esse procedimento voce conseguiu de fato resolver o problema de cache como voce queria.

    Abraços e mais uma vez desculpas pela ignorancia.

    ATT

    Breno Alencar



  • Esta linha e porque utilizo o squidguard para cadastrar os sites que não ira passar pelo cache.
    Então eu personalizo.
    No seu caso você não utiliza.



  • Breno você tentou matar o parar o squid em seguida matar o cache e cria-lo com o squid -z?
    Depois no relatorio do squid em tempo real faz o filtro por TCP_HIT.



  • @breno.uni:

    Marcello.  Desinstalei o pacote e instalei novamente e a versão continua a mesma ( Available: 3.1.20 pkg 2.0.5_8 Installed: 3.1.20 pkg 2.0.5_5 ).

    Breno, pode explicar como conseguiu instalar uma versão antiga? você esta usando alguma versão "personalizada" do pfsense?



  • Marcello. Uso a versão 2.0.2 amd64. Desinstalei pelo WEBGUI, na opção correspondente, e logo em seguida refiz a instalação novamente. Não reiniciei o servidor e tão pouco mudei de janela na opção Packets. Assim que terminou a instação notei que a versão instalada era exatamente igual a que tinha antes.

    Se tiver mais alguma duvida é só perguntar.

    Abraços

    ATT

    Breno Alencar



  • @marcelloc:

    Sei que no squid3 a opcão de cache dinamico esta bugada. Faz um teste e veja se o resultado muda.

    Boa tarde Marcelloc,

    Ativei a opção de cache dinamico, mas continua do mesmo jeito.  No status sempre aparece TCP_MISS.



  • @Rmulo:

    Ativei a opção de cache dinamico, mas continua do mesmo jeito.  No status sempre aparece TCP_MISS.

    Desative o cache dinâmico, o código foi baseado em uma wiki do squid, mas o resultado não é satisfatório.



  • Aproveitando o tópico, segue em anexo um relatório do meu cache, to achando muito baixo o hit de memória e disco visto que os mesmos sites são acessados todos os dias e nem são páginas dinâmicas, gostaria da ajuda dos colegas pra saber se a configuração está bem feita ou não.

    Conf squid 2.7.9 pkg v.4.3.3:

    cache_mem 128 MB
    maximum_object_size_in_memory 32 KB
    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA
    cache_dir aufs /var/squid/log 10240 16 256
    minimum_object_size 0 KB
    maximum_object_size 20240 KB
    offline_mode off
    cache_swap_low 95
    cache_swap_high 98

    CacheMgr.txt



  • bom dia pessoal

    olha esse negocio de cache do squid, sempre foi e é uma grande dúvida que tenho. Sei que a configuração do cache dele vai depender muito da configuração da maquina (memória ram, hd e cpu) e sei que um cache mal configurado, pode e muito comprometer a sua internte. Eu tenho aqui umas configurações e tenho quase certeza que estão erradas, masssssss como esta funcionando, deixe queto. ;D

    agora voltando ao assunto, não sei vocês colegas, na no squid3>Real Time, realmente se vc ficar observando vai aparecer muitos TCP_MISS/200, e poucos TCP_HIT/200 (meu caso). Mas se vc filtar em String filter, e colocar TCP_HIT, vai aparecer os TCP_HIT/200. Então na teoria, o cache do squid esta funcionando. Agora minha dúvida é:

    é normal aparecer mais TCP_MISS/200, do que TCP_HIT/200?

    todo novo site acessado, ele é guardado no cache, e depois quando for acessado de novo, ele é pego do cache do squid? ou depende? falo isso pq aqui na minha empresa, tem sites que todo santo dia, os usuario acessam eles, e eu observando no Squid>Real time, eles aparecem TCP_MISS/200 e nao TCP_HIT/200.

    e outra dúvida, quando o site ele é "colocado" no cache, oq eu realmente vai do site para o cache?

    abraço



  • Como os sites hoje são basicamente dinamicos, acho o comportamento normal.



  • @gilmarcabral:

    redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf;redirector_bypass off;url_rewrite_children 5

    Fica desta forma acima.
    Agora se você remover a linha deixar nda e reiniciar o servidor a linha é adicionada automaticamente.
    No meu caso o problema estava em outra regra informando para não fazer cache para um site.

    Ola Gilmar poderia me ajudar!! vi esse topico então estou aproveitando para mostrar se a minha configuração esta correta.

    redirect_children 3;redirect_program /usr/local/bin/squidGuard -c
    /usr/local/etc/squidGuard/squidGuard.conf;redirector_bypass
    off;url_rewrite_children 5

    a linha está correta ou tenho que mudar alguma coisa?pois a sua esta diferente da minha.
    há  como faço para ver em tempo real os acessos, para visualizar o TCP_MISS e TCP_HIT.


Log in to reply