Problemas com TCP_MISS no squid

Iniciado por legista, 20 de Julho de 2011, 00:51

tópico anterior - próximo tópico

legista

Boa noite pessoal.
Alguem aqui ja passou por isso? ele funciona direitinho modo transparent e tudo mais, mas nao faz cache.
ja desabilitei tudo dentro do squid.conf mas nao funciona da maneira que deveria.

Alguem tem alguma luz? faz dois dias que estou na procura e nao acho nada que resolva o meu problema.

abraços

root@kakaroto:/etc/squid# tail -10 logs/access.log
1311133659.163    101 192.168.0.9 TCP_MISS/200 778 GET http://www.uninove.br/Style%20Library/Images/layout/bg_aba_off.gif - DIRECT/201.91.128.201 image/gif
1311133659.273    103 192.168.0.9 TCP_MISS/200 1845 GET http://www.uninove.br/Style%20Library/Images/layout/aba3_dir_off.gif - DIRECT/201.91.128.201 image/gif
1311133659.377    101 192.168.0.9 TCP_MISS/200 1050 GET http://www.uninove.br/Style%20Library/Images/layout/lado_boxnoticias_home.gif - DIRECT/201.91.128.201 image/gif
1311133659.481    102 192.168.0.9 TCP_MISS/200 669 GET http://www.uninove.br/Style%20Library/Images/layout/separador_noticias.gif - DIRECT/201.91.128.201 image/gif
1311133659.592    109 192.168.0.9 TCP_MISS/304 204 GET http://www.uninove.br/Style%20Library/Images/layout/seta_verdeescuro.gif - DIRECT/201.91.128.201 -
1311133659.698    104 192.168.0.9 TCP_MISS/200 981 GET http://www.uninove.br/Style%20Library/Images/layout/separador_coneudo585.gif - DIRECT/201.91.128.201 image/gif
1311133661.370  12255 192.168.0.9 TCP_MISS/200 732 GET http://www.uninove.br/Style%20Library/Images/layout/seta_verdeescuro2.gif - DIRECT/201.91.128.201 image/gif
1311133662.942  18727 192.168.0.9 TCP_MISS/200 2297 GET http://www.uninove.br/Style%20Library/Images/layout/top_boxconteudo.gif - DIRECT/201.91.128.201 image/gif
1311133663.002  14751 192.168.0.9 TCP_MISS/200 700 GET http://www.uninove.br/Style%20Library/Images/layout/bg_rodape.gif - DIRECT/201.91.128.201 image/gif
1311133666.786  22089 192.168.0.9 TCP_MISS/200 4020 GET http://www.uninove.br/Style%20Library/Images/titulo/titulo_convenio_academico.jpg - DIRECT/201.91.128.201 image/jpeg


zekkerj

Olá legista,

As páginas só vão pra cache se a origem permitir. Mas pode ser alguma configuração que você fez também, e nesse caso vc tem que mostrar seu squid.conf.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

legista

segue o meu conf.

estou usando o ubuntu 11.4 squid 2.7- stable 9

eu sei que nao sao todos os sites que dá, mas pelo que estou vendo estao todos, ate o site do charges.com.br, faz cache é muito estranho quero muito usar o ubuntu mas nao deveria ser dificil assim, o slack que tenho na loja faz bonito. o cache desses sites. a unica diferença é q lá é o squid3 nao sei se tem tanta diferença entre o squid 2.7 e 3 tem?

abs

http_port 3128 transparent

    cache_mem 750  MB

    maximum_object_size_in_memory 16 KB
    maximum_object_size 600 MB
    minimum_object_size 0 KB

    cache_swap_low 90
    cache_swap_high 95
    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA

    diskd_program       /usr/lib/squid/diskd-daemon
    cache_dir diskd     /etc/squid/var/cache1 1000 16 256 Q1=64 Q2=72
    cache_dir diskd     /etc/squid/var/cache2 1000 16 256 Q1=64 Q2=72
    cache_dir diskd     /etc/squid/var/cache3 1000 16 256 Q1=64 Q2=72
    cache_dir diskd     /etc/squid/var/cache4 1000 16 256 Q1=64 Q2=72
    cache_dir diskd     /etc/squid/var/cache5 1000 16 256 Q1=64 Q2=72

    cache_access_log    /etc/squid/logs/access.log
    cache_log           /etc/squid/logs/cache.log
    cache_store_log     /etc/squid/logs/store.log
    pid_filename        /etc/squid/logs/squid.pid

    htcp_port 0
    snmp_port 0
    pipeline_prefetch on
    shutdown_lifetime 1 second
    server_persistent_connections off

    zph_tos_local 0x02
    zph_sibling 10
    zph_tos_parent off
    zph_mode tos
    zph_option 136
    zph_tos_peer 0


    cache_effective_user seven
    cache_effective_group seven

    error_directory /usr/share/squid/errors/pt-br

#-----------------------------------------------------------------------------------------

# CONTROLE DA BANDA

    acl externo url_regex -i ftp .exe .mp3 .avi .mpeg .mov .wma .wav .mp4 .asf .rar .zip .rm .rmvb
    acl interno src 192.168.0.8 192.168.0.9 192.168.0.60 192.168.0.70 192.168.0.71

    delay_pools  2

    delay_class 1 2 # interno - Servidores
    delay_parameters 1 -1/-1 -1/-1

    delay_class 2 2 # Externo - Clientes
    delay_parameters 2 120000/12000 12000/12000
#-----------------------------------------------------------------------------------------

# REGRAS DE ACESSO

    acl palavras_bloqueadas url_regex -i "/etc/squid/manutencao/sites_bloqueados"
    acl palavras_liberadas  url_regex -i "/etc/squid/manutencao/sites_livres"
    acl downloads_proibidos url_regex -i "/etc/squid/manutencao/downloads_bloqueados"
#    acl podetudo src 192.168.0.8 192.168.0.9 192.168.0.60 192.168.0.70
    acl REDE_INTERNA src 192.168.0.0/24
    acl all src 0.0.0.0/0.0.0.0

#-----------------------------------------------------------------------------------------

# PERMICOES DE ACESSO

    htcp_access deny all
    snmp_access deny all

    http_access deny downloads_proibidos
    http_access deny palavras_bloqueadas !palavras_liberadas
#    http_access allow podetudo
    http_access allow REDE_INTERNA
    http_access deny all

zekkerj

Só o que vi de "estranho" foi o uso do diretório de cache em modo "diskd", ao invés do "ufs", que é padrão.

Agora, uma outra coisa que notei foi que você usa os logs e os caches em um diretório que foge ao padrão do squid, normalmente os logs ficam em /var/log/squid, enquanto os caches ficam em /var/cache/squid. Você os jogou todos em /etc/squid, vc verificou a criação desses diretórios normalmente?

Eu não recomendaria fazer isso, pois um dos motivos de colocar esses arquivos sob "/var" é que é comum que o "/var" fique numa partição separada da partição raiz. Sendo partições muito movimentadas, no caso de um crash no sistema, você pode induzir uma falha no sistema de arquivos em /var, sem colocar o boot em risco.

Enfim, experimente aumentar o tamanho permitido para os elementos em memória, que agora está em 16KB, para, sei lá, 1MB (mudar "maximum_object_size_in_memory 16 KB" para "maximum_object_size_in_memory 1024 KB"). Se não melhorar o desempenho, é só voltar ao valor anterior.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

legista

Obrigado pela atençao

entao sobre o diskd eu pesquisei e vi coisas do tipo que ele tem mais pedidos de requisiçoes senao estou enganado.

agora sobre os logs eu na verdade eu gostaria de nao te-los, pq ele com o tempo sobre carrega o sistema mesmo. como eu destivaria?

sobre a memoria eu tenho 2gb, com 1mb não encheria a memoria durante o dia todo?

abs

legista

entao zekkerj, eu mudei o para ufs, e aumentei a cache do memory para 1024kb ficou perfeito parece que ate esta aindo para o hd agora, mas a duvida e essa agora, será que durante o dia nao vai lotar a memoria?

zekkerj

Por partes...
Citaragora sobre os logs eu na verdade eu gostaria de nao te-los, pq ele com o tempo sobre carrega o sistema mesmo. como eu destivaria?
Os logs são necessários. Não os desative, exceto o "store_log". Esse só é necessário pra depuração, o que não é o seu caso.
Pra desativá-lo:

cache_store_log none

Os outros logs, aliás, não podem ser desativados, acabei de ver na documentação.

Citarsobre a memoria eu tenho 2gb, com 1mb não encheria a memoria durante o dia todo?
Você limitou a memória usada pelo squid para cache em 750MB. O Squid na verdade usa mais memória do que isso, mas isso não vem ao caso agora.
Conforme o squid vai colocando elementos na memória, ele vai retirando outros elementos, conforme a política de substituição que vc selecionou ("memory_replacement_policy heap GDSF"). Assim, em nenhum momento ele vai usar mais que os 750MB que vc reservou para o cache.

Aumentar o tamanho máximo do elemento para 1MB vai fazer com que elementos maiores fiquem em cache de memória. Isso vai diminuir um pouco a taxa de acerto total do cache em memória ("memory hit ratio"), mas vai aumentar a quantidade de bytes em cache ("memory byte ratio"). Lembrando que os elementos que não ficarem em memória devem ir pra disco, então não chega a se perder o elemento.

Eu imagino que a mudança no comportamento teve mais a ver com a mudança de "diskd" pra "ufs". Por via das dúvidas, vc pode experimentar desfazer uma das mudanças, e ver qual das duas realmente foi efetiva.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

legista

Uau que aula eu ganhei, obrigadão.

so mais uma pergunta, sobre os zph....

eles por si resolvem algo sobre o cache full ou tem complementar com outro programa para auxiliar?

zekkerj

Se não me engano o squid tem que ser recompilado pra usar esse path.

Mas eu mesmo nunca usei.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D