Página 1 de 2 12 ÚltimoÚltimo
+ Responder ao Tópico



  1. #1

    Padrão Squid muito lento

    Boa noite pessoal,

    Estou com problema no squid, chega uma hora que ele fica muito lento, tenho em torno de 800 computadores em rede, meu servidor é um HP ML350 dual Xeon Quad 1.6 com 2 Gb de RAM, tenho um link de 10 megas, mas esta muito lento, se tiro o squid e faço um NAT fica rapidinho, fiz varias alterações nele mas ainda não resolveu, por favor alguem me ajude, segue o arquivo de configuração

    http_port 3128
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    cache deny QUERY
    acl apache rep_header Server ^Apache
    detect_broken_pconn on
    pipeline_prefetch on
    broken_vary_encoding allow apache
    cache_mem 128 MB
    cache_swap_low 95
    cache_swap_high 98
    maximum_object_size 16384 KB
    maximum_object_size_in_memory 20 KB
    #logformat MEU_LOG IP do cliente: %>a - Username: %un - Horario: [%tl] - Metodo: %rm - URL: %ru - Status HTTP: %Hs - Status Squid: %Ss
    #access_log /var/log/squid/gerencia.log MEU_LOG
    access_log /var/log/squid/access.log squid
    cache_dir aufs /var/spool/squid 2048 16 256
    dns_nameservers 172.17.0.1
    hosts_file /etc/hosts
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    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 81 # https
    acl SSL_ports port 563 # snews
    acl SSL_ports port 873 # rsync
    acl Safe_ports port 80 81 # 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 631 # cups
    acl Safe_ports port 873 # rsync
    acl Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    ############### Autenticacao ###########################
    auth_param basic program /usr/lib/squid/msnt_auth
    auth_param basic children 5
    auth_param basic realm Lab. Info. Unicsul >> ENTRE COM SEU LOGIN E SENHA (O MESMO UTILIZADO PARA LOGAR NOS COMPUTADORES)
    auth_param basic credentialsttl 5 minutes
    acl limit_user max_user_ip -s 1
    acl usr_usuario proxy_auth REQUIRED

  2. #2

    Padrão

    Acho que vc devia aumentar esse cache_mem para 512MB



  3. #3

    Padrão

    Citação Postado originalmente por lipeiori Ver Post
    Acho que vc devia aumentar esse cache_mem para 512MB
    Irei fazer um teste, esta estranho, quando uso o squid baixo arquivos a 20 k , tiro o squid sobe para 600 k

    valeu

  4. #4

    Padrão

    Citação Postado originalmente por fabiorvs Ver Post
    Boa noite pessoal,

    Estou com problema no squid, chega uma hora que ele fica muito lento, tenho em torno de 800 computadores em rede, meu servidor é um HP ML350 dual Xeon Quad 1.6 com 2 Gb de RAM, tenho um link de 10 megas, mas esta muito lento, se tiro o squid e faço um NAT fica rapidinho, fiz varias alterações nele mas ainda não resolveu, por favor alguem me ajude, segue o arquivo de configuração

    http_port 3128
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    cache deny QUERY
    acl apache rep_header Server ^Apache
    detect_broken_pconn on
    pipeline_prefetch on
    broken_vary_encoding allow apache
    cache_mem 128 MB
    cache_swap_low 95
    cache_swap_high 98
    maximum_object_size 16384 KB
    maximum_object_size_in_memory 20 KB
    #logformat MEU_LOG IP do cliente: %>a - Username: %un - Horario: [%tl] - Metodo: %rm - URL: %ru - Status HTTP: %Hs - Status Squid: %Ss
    #access_log /var/log/squid/gerencia.log MEU_LOG
    access_log /var/log/squid/access.log squid
    cache_dir aufs /var/spool/squid 2048 16 256
    dns_nameservers 172.17.0.1
    hosts_file /etc/hosts
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    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 81 # https
    acl SSL_ports port 563 # snews
    acl SSL_ports port 873 # rsync
    acl Safe_ports port 80 81 # 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 631 # cups
    acl Safe_ports port 873 # rsync
    acl Safe_ports port 901 # SWAT
    acl purge method PURGE
    acl CONNECT method CONNECT
    ############### Autenticacao ###########################
    auth_param basic program /usr/lib/squid/msnt_auth
    auth_param basic children 5
    auth_param basic realm Lab. Info. Unicsul >> ENTRE COM SEU LOGIN E SENHA (O MESMO UTILIZADO PARA LOGAR NOS COMPUTADORES)
    auth_param basic credentialsttl 5 minutes
    acl limit_user max_user_ip -s 1
    acl usr_usuario proxy_auth REQUIRED
    Olá amigo!

    A demanda de requisições de uma rede com 800 computadores é tremendamente grande, entao algumas políticas teram quer ser implementadas, assim como tbm memória em abundância.

    na opção cache_mem, configure cerca de 25% da mémoria RAM total do servidor.
    Exemplo de um servidor com 2GB de RAM:

    2048*25%=512 MB

    O squid possui recursos muito interessante para aumentar as chances de cache-hit como as opções memory_replacement_policy e cache_replacement_policy e seus politicas de armazenamento.

    Politicas heap:
    GDSF -> Prioriza o armazenamento de objetos populares menores
    LFUDA -> Prioriza o armazenamento de objetos populares independente do tamanho

    Então vc pode combinar essas politicas da seguinte forma:

    memory_replacement_policy heap GDSF <- para memoria RAM
    cache_replacement_policy heap LFUDA <- para Disco

    aumente o tamanho do cache em cache_dir assim como a memoria para o squid, pois como se trata de muitos host, logo a memoria se esgota e começa a realocação de objetos e a utilização do swap.

    Agora uma coisa não esta clara no seu post, vc usa proxy ostensivo certo?!?! ou seja vc tem que configurar ip e porta nos navegadores (fazer isso em 800 micros parece pagamento de promessa em romaria), digo isso pois não vi a opção transparent, e outra coisa onde está a acl para sua rede, e por ultimo vc configurou o dns no squid com o endereço loopback, entao presumo que vc tenha dns cache no mesmo server!?!?!? se não tem eis ai um grande problema tbm, pois o squid irá ler primeiro as configurações do squid.conf ese não houver resposta é que então ele irá ler o /etc/resolv.conf, ou seja vai demorar muuuuuuito para resolver as solicitações.

    Segue a dica acima e posta mais detalhes do seu server ok

    abraços
    Última edição por rrinfor; 19-03-2009 às 01:27.



  5. #5

    Padrão

    Citação Postado originalmente por fabiorvs Ver Post
    Irei fazer um teste, esta estranho, quando uso o squid baixo arquivos a 20 k , tiro o squid sobe para 600 k

    valeu

    maximum_object_size_in_memory 20 KB

    sera?

  6. #6

    Padrão

    ...complementando, eu criaria mais diretorios do cache_dir para melhorar a velocidade de leitura do cache em disco..



  7. #7

    Padrão

    é uma boa mesmo..
    tambem concordo, aqui eu uso 5 cache_dir com diskd sendo q minha rede são apenas 50

    #cache_dir diskd /var/cache/squid01 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid02 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid03 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid04 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid05 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid06 1024 16 256 Q1=64 Q2=72

    e ainda

    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA

    a navegação bala!!
    só tenho problema com memoria as vzes.. mas é pq meu servidor tem apenas 512mb re ram

  8. #8

    Padrão

    Citação Postado originalmente por rrinfor Ver Post
    Olá amigo!

    A demanda de requisições de uma rede com 800 computadores é tremendamente grande, entao algumas políticas teram quer ser implementadas, assim como tbm memória em abundância.

    na opção cache_mem, configure cerca de 25% da mémoria RAM total do servidor.
    Exemplo de um servidor com 2GB de RAM:

    2048*25%=512 MB

    O squid possui recursos muito interessante para aumentar as chances de cache-hit como as opções memory_replacement_policy e cache_replacement_policy e seus politicas de armazenamento.

    Politicas heap:
    GDSF -> Prioriza o armazenamento de objetos populares menores
    LFUDA -> Prioriza o armazenamento de objetos populares independente do tamanho

    Então vc pode combinar essas politicas da seguinte forma:

    memory_replacement_policy heap GDSF <- para memoria RAM
    cache_replacement_policy heap LFUDA <- para Disco

    aumente o tamanho do cache em cache_dir assim como a memoria para o squid, pois como se trata de muitos host, logo a memoria se esgota e começa a realocação de objetos e a utilização do swap.

    Agora uma coisa não esta clara no seu post, vc usa proxy ostensivo certo?!?! ou seja vc tem que configurar ip e porta nos navegadores (fazer isso em 800 micros parece pagamento de promessa em romaria), digo isso pois não vi a opção transparent, e outra coisa onde está a acl para sua rede, e por ultimo vc configurou o dns no squid com o endereço loopback, entao presumo que vc tenha dns cache no mesmo server!?!?!? se não tem eis ai um grande problema tbm, pois o squid irá ler primeiro as configurações do squid.conf ese não houver resposta é que então ele irá ler o /etc/resolv.conf, ou seja vai demorar muuuuuuito para resolver as solicitações.

    Segue a dica acima e posta mais detalhes do seu server ok

    abraços

    Valeu pelas dicas irei fazer os testes



  9. #9

    Padrão

    Citação Postado originalmente por Squire Ver Post
    é uma boa mesmo..
    tambem concordo, aqui eu uso 5 cache_dir com diskd sendo q minha rede são apenas 50

    #cache_dir diskd /var/cache/squid01 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid02 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid03 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid04 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid05 1024 16 256 Q1=64 Q2=72
    #cache_dir diskd /var/cache/squid06 1024 16 256 Q1=64 Q2=72

    e ainda

    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA

    a navegação bala!!
    só tenho problema com memoria as vzes.. mas é pq meu servidor tem apenas 512mb re ram

    Citação Postado originalmente por info24hs Ver Post
    ...complementando, eu criaria mais diretorios do cache_dir para melhorar a velocidade de leitura do cache em disco..

    Valeu pelas dicas ire fazer os testes

  10. #10

    Padrão

    Citação Postado originalmente por fabiorvs Ver Post
    Valeu pelas dicas irei fazer os testes
    Não utilizo a opção de proxy transparente, faço autenticação dos usuários, quanto a configuração no navegador fica por conta do Active Directory.

    Vou fazer as alterações e posto o resultado.

    grato pela ajuda.



  11. #11

    Padrão

    Citação Postado originalmente por fabiorvs Ver Post
    Não utilizo a opção de proxy transparente, faço autenticação dos usuários, quanto a configuração no navegador fica por conta do Active Directory.

    Vou fazer as alterações e posto o resultado.

    grato pela ajuda.

    Da uma olhada no meu blog, tem uma dica interessante para bloqueio com base em autenticação

  12. #12

    Padrão

    Fala pessoal, fiz todas as alterações sugeridas mas ainda continua muito lento, não sei mas onde procurar uma solução, sera que existe mais algum ajuste.

    Desde ja muito grato a todos pela ajuda



  13. #13

    Padrão

    Aumente o valor para uns 100kb
    maximum_object_size_in_memory 20 KB

    comente esta linhas abaixo:
    dns_nameservers 172.17.0.1

    Criou mais de um diretorio de cache?

    Apague e refaca os diretorios de cache com o comando.
    squid -z
    Última edição por info24hs; 19-03-2009 às 21:49.

  14. #14

    Padrão

    Citação Postado originalmente por info24hs Ver Post
    Aumente o valor para uns 100kb
    maximum_object_size_in_memory 20 KB

    comente esta linhas abaixo:
    dns_nameservers 172.17.0.1

    Criou mais de um diretorio de cache?

    Apague e refaca os diretorios de cache com o comando.
    squid -z
    Olá ifor24hs!

    Não acho uma boa idéia aumentar o maximum_object_size_in_memory para um valor tão alto, pois entenda que o tamanho médio dos objetos de paginas web em geral variam em torno de 3k a 16k, utilizar um padrão muito acima desses valores pode ocasionar um rápido esgotamento da memória, pois a idéia da politica heap GDSF em memory_replacement_policy é armazenar objetos pequenos e populares então acho que 100k é um valor muito alto partindo do princípio em que o tamanho padrão para objetos em memoria setado no arquivo original squid.conf é de 8k em maximum_object_size_in_memory, ou seja está dentro do tamanho médio dos objetos de páginas web em geral.

    esperimente usar o tamanho padrão do squid.conf e faça testes, pois de qualquer forma cada caso é um caso

    Abraços



  15. #15

    Padrão

    tive um problema bem parecido com uma configuraçao de servidor identica a sua.
    o q eu fiz foi montar outro servidor e dividir a rede entre eles.

  16. #16

    Padrão

    Citação Postado originalmente por rrinfor Ver Post
    Olá ifor24hs!

    Não acho uma boa idéia aumentar o maximum_object_size_in_memory para um valor tão alto, pois entenda que o tamanho médio dos objetos de paginas web em geral variam em torno de 3k a 16k, utilizar um padrão muito acima desses valores pode ocasionar um rápido esgotamento da memória, pois a idéia da politica heap GDSF em memory_replacement_policy é armazenar objetos pequenos e populares então acho que 100k é um valor muito alto partindo do princípio em que o tamanho padrão para objetos em memoria setado no arquivo original squid.conf é de 8k em maximum_object_size_in_memory, ou seja está dentro do tamanho médio dos objetos de páginas web em geral.

    esperimente usar o tamanho padrão do squid.conf e faça testes, pois de qualquer forma cada caso é um caso

    Abraços
    Olha a anos atrás quando o html era puro eu acredito que este valor de 3k a 16k realmente era um valor médio, e pra quem tem 128mb de cache na ram acredito ser um valor pequeno.

    E se realmente o valor de 3k a 16k for um valor médio hj em dia não tem problema nenhum ter configurado um valor maior para suportar "poucos" arquivos maiores...

    Abraço..



  17. #17

    Padrão

    Citação Postado originalmente por Snake_jp Ver Post
    tive um problema bem parecido com uma configuraçao de servidor identica a sua.
    o q eu fiz foi montar outro servidor e dividir a rede entre eles.

    Até pensei nisso mas o problema que a empresa recentemente investiu em um bom servidor, fica complicado eu chegar e falar que vou precisar de outro.

    Valeu pela ajuda

  18. #18

    Padrão

    Como está o uso de CPU da tua máquina, uso o top para verificar o uso de CPU e iotop para uso do disco. Eu estava com problema parecido em um determinado momento e era porque o squid tava consumindo praticamente 100% da CPU, o que fiz foi matar o processo e iniciá-lo novamente, não sei realmente a causa.

    Abraço



  19. #19

    Padrão

    Citação Postado originalmente por flaviomreis Ver Post
    Como está o uso de CPU da tua máquina, uso o top para verificar o uso de CPU e iotop para uso do disco. Eu estava com problema parecido em um determinado momento e era porque o squid tava consumindo praticamente 100% da CPU, o que fiz foi matar o processo e iniciá-lo novamente, não sei realmente a causa.

    Abraço

    No horario de pico a CPU fica com 10 % utilizado, a maquina é boa, um Dual Xeon Quad Core

    abs

  20. #20

    Padrão

    Posta mais uma vez o squid.conf pra dar uma ultima conferida em tudo e suas regras de iptables

    vlw