+ Responder ao Tópico



  1. #1

    Padrão squid lento, antes funcionava agora tá com erro. Todos os dados no tópico

    Salve geral!

    tenho um cache em freebsd rodando squid.

    Funcionava as mil maravilhas mas no ultimo mês começou a apresentar problemas e lentidão sem explicação.

    A máquina que rodo o sistema é um xeon 2.8, 2gb ram, hd 73gb sas. (servidor HP prolion ml110 g5).

    ao todo tenho 550 clientes jogando requisições nele (apenas porta 80, pois o redirecionamento está sendo feito pelo mikrotik).

    Segue configuração atual:
    Código :
    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
     
    http_port 3128 transparent
    visible_hostname cachesssda.com.br
     
    # configuracao do cache
    cache_mem 512 MB
    maximum_object_size_in_memory 90 KB
    maximum_object_size 40 MB
    minimum_object_size 0 KB
    cache_swap_low 90
    cache_swap_high 95
    ipcache_size 4096
    fqdncache_size 4096
    cache_replacement_policy heap GDSF
    memory_replacement_policy heap LFUDA
    dns_timeout 1 minutes
    cache_dir ufs /usr/local/squid/cache 25000 128 256
     
    # localizacao do log de acesso do squid
    cache_access_log /usr/local/squid/logs/access.log
    logfile_rotate 3
     
    refresh_pattern ^ftp: 15 20% 2280
    refresh_pattern ^gopher: 15 0% 2280
    refresh_pattern . 10 20% 2280
    refresh_pattern windowsupdate.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
    refresh_pattern download.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
    refresh_pattern www.microsoft.com/.*\.(cab|exe|dll|msi) 10080 100% 43200 reload-into-ims
    refresh_pattern au.download.windowsupdate.com/.*\.(cab|exe|dll|msi) 4320 100% 43200 reload-into-ims 
     
    quick_abort_min 50 KB
    quick_abort_max 50 KB
    quick_abort_pct 75
     
    negative_ttl 3 minutes
    positive_dns_ttl 5 hours
    negative_dns_ttl 2 minutes
     
    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 SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 #ftp
    acl Safe_ports port 443 563 #https, snews
    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_prots port 488 #gss-http
    acl Safe_ports port 591 #filemaker
    acl Safe_ports port 777 #multiling http
    acl Safe_ports port 901 #swat
    acl ADSAdClien url_regex ADSAdClien
    acl purge method PURGE
    acl CONNECT method CONNECT
     
    http_access allow manager localhost
    http_access deny manager
    http_access deny ADSAdClien
    http_access allow purge localhost
    http_access deny purge
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
     
    deny_info http://189.77.XXX.XXX/bannermsn/index.htm ADSAdClien
     
    # Libera para a rede local
    acl redelocal src 189.77.XXX.XXX/28
    acl redelocal2 src 201.12.XXX.XXX/27
    http_access allow localhost
    http_access allow redelocal
    http_access allow redelocal2
     
    # bloqueia acesso externo
    http_access deny all

    e segue resumo do squidclient mgr:info

    Connection information for squid:
    Number of clients accessing cache: 17
    Number of HTTP requests received: 2144730
    Number of ICP messages received: 0
    Number of ICP messages sent: 0
    Number of queued ICP replies: 0
    Request failure ratio: 0.00
    Average HTTP requests per minute since start: 794.2
    Average ICP messages per minute since start: 0.0
    Select loop called: 33117032 times, 4.893 ms avg
    Cache information for squid:
    Request Hit Ratios: 5min: 32.8%, 60min: 34.6%
    Byte Hit Ratios: 5min: 9.5%, 60min: 17.3%
    Request Memory Hit Ratios: 5min: 24.1%, 60min: 24.6%
    Request Disk Hit Ratios: 5min: 16.7%, 60min: 30.8%
    Storage Swap size: 5648262 KB
    Storage Mem size: 524244 KB
    Mean Object Size: 15.82 KB
    Requests given to unlinkd: 39585
    Median Service Times (seconds) 5 min 60 min:
    HTTP Requests (All): 0.20843 0.15048
    Cache Misses: 0.30459 0.28853
    Cache Hits: 0.00562 0.00463
    Near Hits: 0.37825 0.23230
    Not-Modified Replies: 0.00919 0.00379
    DNS Lookups: 0.05313 0.05815
    ICP Queries: 0.00000 0.00000
    Resource usage for squid:
    UP Time: 162032.232 seconds
    CPU Time: 869.045 seconds
    CPU Usage: 0.54%
    CPU Usage, 5 minute avg: 0.34%
    CPU Usage, 60 minute avg: 0.83%
    Process Data Segment Size via sbrk(): 0 KB
    Maximum Resident Size: 1230228 KB
    Page faults with physical i/o: 1
    Memory accounted for:
    Total accounted: 644593 KB
    memPoolAlloc calls: 266545717
    memPoolFree calls: 264096731
    File descriptor usage for squid:
    Maximum number of file descriptors: 11095
    Largest file desc currently in use: 877
    Number of file desc currently in use: 326
    Files queued for open: 0
    Available number of file descriptors: 10769
    Reserved number of file descriptors: 100
    Store Disk files open: 1
    IO loop method: kqueue
    Internal Data Structures:
    357610 StoreEntries
    52902 StoreEntries with MemObjects
    52882 Hot Object Cache Items
    357093 on-disk objects
    Os clientes alegam que ao abrir uma página algumas vezes 40 a 50% ela fica carregando por um bom tempo mas ao dar f5 abre de vez.

    meu link é de 14mb mas nao uso 10mb. Ou seja atualmente está melhor desativar o cache enquanto resolvo esses problemas.

    alguem tem uma luz??

    vlw

  2. #2

    Padrão

    faço o redirecionamento simples do mk.

    /ip firewall nat
    add action=accept chain=dstnat comment="REGRAS DO BRADESCO" disabled=no \
    dst-address=200.155.80.0/20 dst-port=80 protocol=tcp
    add action=accept chain=dstnat comment="REGRAS DO BB" disabled=no \
    dst-address=170.66.0.0/16 dst-port=80 protocol=tcp
    add action=accept chain=dstnat comment="REGRAS DA CAIXA ECONOMICA FEDERAL" \
    disabled=no dst-address=200.201.160.0/24 dst-port=80 protocol=tcp

    add action=dst-nat chain=dstnat comment=PROXY disabled=yes dst-port=80 \
    in-interface=!ether2 protocol=tcp to-addresses=189.77.XXX.XXX to-ports=\
    3128

  3. #3

    Padrão

    Olá!

    Três coisinhas:

    ''''''hierarchy_stoplist cgi-bin ?''''

    essa regra você sabe mesmo para que serve e como o squid utiliza ela? Se não souber verifique no google se ela é necessária mesmo em seu squid.conf, pois só vejo necessidade do caso de uso do parent .

    Outra coisa é:

    Seu Hd tem 73G (SAS) por que você só está usando 25G ?

    O resolv.conf está correto mesmo? O primeiro nameserver é o mikrotik, aproveitando assim o cache de DNS ?
    Última edição por Roberto21; 02-11-2009 às 02:16.

  4. #4

    Padrão

    olá roberto,

    uso apenas 25gb porq não vi necessidade de mais e também porque o sistema está rodando no mesmo hd. Tive medo de atolar muito o disco e aumentar muito o tempo de resposta.

    nos clientes finais eles usam o próprio mikrotik como dns. No servidor de cache está rodando um cache dns também, onde o squid resolve através dele.

    resolv.conf => nameserver 127.0.0.1 ; está resolvendo normalmente (no dig Google está rodando perfeito)

    em relação ao hierarchy_stoplist, já usei parenty proxy, ai acabei mudando o sistema e esqueci de comentar (#) essa regra :P.

    mas alguma idéia do que seja o problema? abraços.

    detalhes:
    1. a lentidão é especificamente no google e orkut.
    2. Já zerei e apaguei os arquivos de cache 2x.

    abraços

  5. #5

    Padrão

    Bom,vamos pensar assim:

    Os arquivos vindos do cache já estão no cache, e por isso devem fluir da forma mais fácil para seus clientes, então você tirou os arquivos que vem do cache da regra de limite de conexões?

    O orkut abre muitas requisições, a página do google nem tanto, mas o orkut sim,outra coisa, que tal mudar o seu primeiro dns para o '''ip do seu mikrotik e fazer um teste com o open dns com os ip's 208.67.222.222-208.67.220.220 ?

    Outra dica:

    Abra o ''executar'' no windos e digite: nslookup

    O retorno será o dominio e seu endereço de DNS, olhe no resolv.conf se o primeiro name server bate com o apresentado, O seu DNS ''default'' é esse apresentado, então substitua no resolv.conf o primeiro name server pelo apresentado no DOS do windows.
    Última edição por Roberto21; 03-11-2009 às 01:16.

  6. #6

    Padrão

    roberto,

    o servidor está ligado direto no switch. não há limite de conexões para ele.

    Notei que o squid está se comportando da seguinte forma:

    o cliente requisita a página e fica carregando sem parar até que dá erro, ao apertar f5 vem tudo de vez normalmente.

    ja liberei só para alguns clientes para ver se era atolamento de tanta requisição, só que a lentidão persiste.

    realmente já não sei o q fazer.

    você consegue encontrar algum erro no squid.conf?

    abraços e agradeço a ajuda.

  7. #7

    Padrão

    notei algo interessante no /var/log/messages:

    Nov 3 17:44:02 squid squid[1891]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 17:44:02 squid kernel: pid 1891 (squid), uid 2: exited on signal 6
    Nov 3 17:55:01 squid squid[1915]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 17:55:01 squid kernel: pid 1915 (squid), uid 2: exited on signal 6
    Nov 3 18:00:01 squid squid[1936]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 18:00:01 squid kernel: pid 1936 (squid), uid 2: exited on signal 6
    Nov 3 18:11:01 squid squid[1957]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 18:11:01 squid kernel: pid 1957 (squid), uid 2: exited on signal 6
    Nov 3 18:22:01 squid squid[1978]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 18:22:01 squid kernel: pid 1978 (squid), uid 2: exited on signal 6
    Nov 3 18:33:02 squid squid[1999]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 18:33:02 squid kernel: pid 1999 (squid), uid 2: exited on signal 6
    Nov 3 18:44:01 squid squid[2020]: Unable to open configuration file: /usr/local/etc/squid/squid.conf: (13) Permission denied
    Nov 3 18:44:01 squid kernel: pid 2020 (squid), uid 2: exited on signal 6
    a permissão desse arquivo está 777, o porque dessa mensagem?

  8. #8
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão

    Citação Postado originalmente por anarchist Ver Post
    roberto,

    o servidor está ligado direto no switch. não há limite de conexões para ele.

    Notei que o squid está se comportando da seguinte forma:

    o cliente requisita a página e fica carregando sem parar até que dá erro, ao apertar f5 vem tudo de vez normalmente.

    ja liberei só para alguns clientes para ver se era atolamento de tanta requisição, só que a lentidão persiste.

    realmente já não sei o q fazer.

    você consegue encontrar algum erro no squid.conf?

    abraços e agradeço a ajuda.
    Que versão do squid? Ouvi dizer (na verdade, o Pirigoso me falou), que a versão 2.7STABLE6 tava dando exatamente esse bug, e que atualizou para a STABLE7 e parou o problema.

    Também notei de estranho nesse squid.conf são as acls Safe_Ports (se só direciona a 80, para mim não faz sentido ter liberação de tanta porta. Também uma regra antiga: no_cache.
    Última edição por osmano807; 03-11-2009 às 20:00.

  9. #9

    Padrão

    Squid Cache: Version 2.7.STABLE4

    eu sei q ta velha mas o que me deixa sem chão é porq antes funcionava uma maravilha.

    eu tenho esse servidor rodando a 1 ano e 2 meses.


  10. #10
    MODERADOR-CHEFE Avatar de osmano807
    Ingresso
    Aug 2008
    Localização
    Araguari - Minas Gerais
    Posts
    1.980
    Posts de Blog
    5

    Padrão

    Bom, o recomendado é sempre atualizar, mas já que está rodando a tanto tempo, tem algo errado.

    Permissão, humm... Tem como rodar o squid como root:wheel em bsd? Se não tiver, coloque as permissões certinhas para o usuário dele nos arquivos (cache também).