+ Responder ao Tópico



  1. #1

    Padrão Cache do Squid

    Ola. Estou com uma dúvida a respeito de cache do squid. Tenho um caso, onde em alguns momentos o cliente tenta carregar uma pagina da internet (qualquer pagina) e a pagina demora muito para carregar, a ainda assim, nao carrega por completo, ficando apenas o html da pagina.....Pelo que eu procurei a respeito, isso tem a ver com o cache do squid que esta muito grande, o que o torna muito lento. Hoje, o cache do squid esta configurado para 3gb e estou pensando em baixar para 300 mb. Um teste que eu fiz, foi de limpar o cache do squid. Isso resolvia o problema, porem, depois de algum tempo ele voltava. Com isso, eu fiquei com as seguintes dúvidas:

    1 - Qual o tamanho máximo que o squid suporta de cache ?

    2 - Quanto maior o cache do squid, mais lento o squid irá ficar ?

    3 - Pelo fato de eu ter um squid com cache de 3gb pode estar afetando o desempenho do carregamento das páginas ?

    4 - Para mim apagar o cache do squid (rm -rf /diretorio_do_cache), eu preciso parar o squid ?

    5 - Qual a diferença de eu editar o arquivo do crontab do root utilizando o comando crontab -e e editando diretamente o arquivo /etc/crontab ?

    []'s, Renato
    Última edição por Dedao; 25-07-2008 às 17:24.

  2. #2

    Padrão

    1- nao tem limite
    2- nao
    3- nao
    4- sim, mas nunca deve-se apagar o cache ...
    5- nenhum, acredito...


    o que voce dete estar tendo eh problema de configuração ou gargalo do hardware... squid não eh configuração simples.. (mais do que possa parecer) ... demora-se 1 .. 2 semanas para obter resultados..

  3. #3

    Padrão

    Bom dia,

    o problema maior é montar Squid para provedor com um PC qualquer. Tem de ser máquina boa. Se o provedor for bem pequeno pode ser 4GB de RAM. Se for médio pelo menos 8GB. Se for grande 24GB ou mais de memória RAM. Placa mãe com 2 ou mais processadores. PC não faz milagre, por isso use bons equipamentos para montar Servidores. Espero ter ajudado.

  4. #4

    Padrão

    Obrigado pelas respostas pessoal....soh fiquei com mais uma dúvida. O squid pertence a que grupo ?....dei um cat /etc/group e nao vi nenhum grupo "squid"

    []'s,
    Renato

  5. #5

    Padrão

    Somente notando um ponto em relação ao ponto 2:

    2 - Não, entretanto existe um limite no qual o seu computador consegue "indexar" se percorrer este indice, buscar o arquivo no disco (leia-se seek time e outras coisitas mais...), e devolver ao usuario for maior que o tempo de baixar da internet e devolver ao usuario, ai sim, se torna mais lento. (Ou seja caches gigantesco em HD lentos, terão impacto de perfomance se sua internet for muito mais "rapida").

    Quanto a sua segunda duvida, depende da distro que ele é instalada, mas voce pode verificar melhor qual o seu squid utilizando, verificando no arquivo squid.conf os seguintes parametros:

    cache_effective_user
    cache_effective_group

  6. #6
    Analista de Sistemas Avatar de MDdantas
    Ingresso
    Apr 2007
    Localização
    Caruaru - Pernambuco
    Posts
    422

    Padrão

    Citação Postado originalmente por Dedao Ver Post
    Ola. Estou com uma dúvida a respeito de cache do squid. Tenho um caso, onde em alguns momentos o cliente tenta carregar uma pagina da internet (qualquer pagina) e a pagina demora muito para carregar, a ainda assim, nao carrega por completo, ficando apenas o html da pagina.....Pelo que eu procurei a respeito, isso tem a ver com o cache do squid que esta muito grande, o que o torna muito lento. Hoje, o cache do squid esta configurado para 3gb e estou pensando em baixar para 300 mb. Um teste que eu fiz, foi de limpar o cache do squid. Isso resolvia o problema, porem, depois de algum tempo ele voltava. Com isso, eu fiquei com as seguintes dúvidas:

    1 - Qual o tamanho máximo que o squid suporta de cache ?

    2 - Quanto maior o cache do squid, mais lento o squid irá ficar ?

    3 - Pelo fato de eu ter um squid com cache de 3gb pode estar afetando o desempenho do carregamento das páginas ?

    4 - Para mim apagar o cache do squid (rm -rf /diretorio_do_cache), eu preciso parar o squid ?

    5 - Qual a diferença de eu editar o arquivo do crontab do root utilizando o comando crontab -e e editando diretamente o arquivo /etc/crontab ?

    []'s, Renato
    1, 2 e 3. O tamanho não tem limite. Porém fique atento que quanto maior o seu cache alocado em seu disco rígido, mais lento ficará as respostas de requisição do mesmo. E se sua máquina começar a usar o swap, o desempenho do squid será bastante degradado. um exemplo. Se tiveres 10 GB armazenados no cache, precisará de 100 MB (aproximadamente) de RAM para o índice de objetos.

    O cache de 3 GB está bom dependendo das necessidades de sua Rede. Verifique quanto está separando de memória RAM para o squid (cache_mem). Verifique também o (maximum_object_size_in_memory), tamanho máximo dos objetos em memória. O que pode tornar lento também é a diretiva (maximum_object_size), o tamanho máximo do arquivo armazenado em cache. Para definir como configurar o tamanho máximo nessa opção, deve-se levar em consideração que um número grande implica em maior economia de banda e perda de performance no cache local, enquanto um número menor não ajuda muito em ganho de banda, mas melhora a velocidade em tempo de resposta. Recomenda-se a utilização de uma valor entre 4 e 16 MB. Aconselho 8192 KB.

    cache_swap_low - Aqui se especifica o limite mínimo para substituição de um objeto. A substituição começa quando o swap em disco está acima do limite mínimo.

    Defina algo como:
    cache_swap_low 80


    cache_swap_high - Justamente o oposto da opção anterior. Aqui se define o limite máximo.

    cache_swap_high 90

    4. Aconselho sim a realizar uma limpeza no cache a cada 15 dias ou 30 dias, dependendo da estatística de sua rede em relação ao tráfego pelo simples motivo: Armazenarás objetos de páginas que são atualizadas diariamente e estará apenas ocupando espaço em seu cache. E PARE O SQUID ANTES DE REALIZAR A LIMPEZA. DEPOIS CRIEI OS DIRETORIOS (SQUID -Z) E DEPOIS LEVANTE NOVAMENTE O SQUID.


    Atenciosamente,

  7. #7

    Padrão

    squid nao eh tao simples assim de configurar.. voce precisa analisar.. analisar... coletar dados... fazer o setup de acordo com a maquina e trafego.. e analisar.. analisar...

    caso nao descobro o porque... use o oprofile para um "profiling" e ver onde esta o gargalo ... geralmente eh HD ...

  8. #8

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    squid nao eh tao simples assim de configurar.. voce precisa analisar.. analisar... coletar dados... fazer o setup de acordo com a maquina e trafego.. e analisar.. analisar...

    caso nao descobro o porque... use o oprofile para um "profiling" e ver onde esta o gargalo ... geralmente eh HD ...
    Tenho squid configurado com cache_mem 16MB, cache_dir de 2gb usando ufs, aufs ou diskd (tentei todos)

    No comando free mostra que com esta configuração ele consome 1,5gb de ram e não consome swap.

    Quando mudamos pra 2gb de cache_dir, ele consome toda a RAM e consome também grande parte do swap e a navegação fica lentissima.

    Devo usar ou não swap na instalação do SO?

    Como identificar o problema? Com 2gb de ram não consegue nem uns 10gb de cache_dir com qualidade?

    Maquina: Servidor HP Dual Core, 2gb ram, 2 hd sata2 de 80gb, um hd somente pra cache (/cache).

  9. #9

    Padrão

    poe cache_dir em 128mb .. e o hd todo para cache_dir (deixa 10% livre)

  10. #10
    Analista de Sistemas Avatar de MDdantas
    Ingresso
    Apr 2007
    Localização
    Caruaru - Pernambuco
    Posts
    422

    Padrão

    Citação Postado originalmente por netosdr Ver Post
    Tenho squid configurado com cache_mem 16MB, cache_dir de 2gb usando ufs, aufs ou diskd (tentei todos)

    No comando free mostra que com esta configuração ele consome 1,5gb de ram e não consome swap.

    Quando mudamos pra 2gb de cache_dir, ele consome toda a RAM e consome também grande parte do swap e a navegação fica lentissima.

    Devo usar ou não swap na instalação do SO?

    Como identificar o problema? Com 2gb de ram não consegue nem uns 10gb de cache_dir com qualidade?

    Maquina: Servidor HP Dual Core, 2gb ram, 2 hd sata2 de 80gb, um hd somente pra cache (/cache).
    Neto,

    Boa tarde. Atualmente a internet tornou-se um meio de comunicação que abrange todos os veículos de transmissão. a multimídia predomina e hoje temos sites dinâmicos que são atualizados a toda hora. Então ficará inviável você colocar todo o hd para cache. Você simplesmente estará guardando "lixo" no seu cache, objetos que não serão mais requisitados. então aconselho a você a realizar uma análise de usuários, e realizar um cache de acordo com sua necessidade. Basta configurá-lo de acordo com sua necessidade e não terás problema algum.

    "Se sua estrela não brilha, não apague as dos outros".

    Atenciosamente,

  11. #11

    Padrão

    Citação Postado originalmente por alexandrecorrea Ver Post
    poe cache_dir em 128mb .. e o hd todo para cache_dir (deixa 10% livre)
    Ok, mas como comentei, quando se usa algo maior que 2gb de cache_dir, quando ele é todo preenchido começa a ficar muito lento.. Devo usar ou não swap? Que tipo de partição usar para cache?

  12. #12

    Padrão

    Citação Postado originalmente por MDdantas Ver Post
    Neto,

    Boa tarde. Atualmente a internet tornou-se um meio de comunicação que abrange todos os veículos de transmissão. a multimídia predomina e hoje temos sites dinâmicos que são atualizados a toda hora. Então ficará inviável você colocar todo o hd para cache. Você simplesmente estará guardando "lixo" no seu cache, objetos que não serão mais requisitados. então aconselho a você a realizar uma análise de usuários, e realizar um cache de acordo com sua necessidade. Basta configurá-lo de acordo com sua necessidade e não terás problema algum.

    "Se sua estrela não brilha, não apague as dos outros".

    Atenciosamente,
    Com certeza, agradeço sua opnião. Com certeza vc terá muita coisa que nunca mais vai ser acessada, mas somente o tempo vai fazer o seu cache ficar eficiente, pois ele irá eliminando aquilo que é pouco ou nunca acessado e substituindo pelo que for mais acessado...

    Acredito ser por isso que o alexandrecorrea disse que nunca deve se limpar o cache.

  13. #13

    Padrão

    Citação Postado originalmente por netosdr Ver Post
    Ok, mas como comentei, quando se usa algo maior que 2gb de cache_dir, quando ele é todo preenchido começa a ficar muito lento.. Devo usar ou não swap? Que tipo de partição usar para cache?
    Alguém?

  14. #14

    Padrão

    nao deve usar swap em momento algum...

    o cache_mem é usado apenas para objetos em transito... nao eh um limitador de quanto de memoria o squid vao consumir...

    mdantas: se o objeto FOI para o hd,, quer dizer que o squid aplicou uma politica (refresh_patter ou padrao) neste objeto.. e ele pode ou não ser dinamico.. mesmo sendo dinamico... o squid sabe verificar se esta ou nao alterado... esta historia de "guardar lixo" ... é lenda, igual a lenda do homem da cobra !