[FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4

Celso Viana celso.vianna em gmail.com
Sáb Abr 9 07:16:46 BRT 2005


João,

O que faz a opção "DEVICE_POOLING"?

Celso

On Apr 8, 2005 6:16 PM, João Carlos Mendes Luís <jonny em jonny.eng.br> wrote:
> 
> 
> Alex S. Moura wrote:
> > Saudações,
> >
> >
> > Alguém tem sugestões ou dicas para resolver o problema de alto consumo
> > de CPU pelo squid no FreeBSD 5.4?
> > Trata-se de um proxy webcache transparente, implementado com o pf e
> > protocolo WCCP (Cisco).
> 
> Eu ia perguntar "como assim alto consumo de CPU", quando vi o seu top...
> 
> Se voce não tem um número absurdo de regras de ACL, a única explicação
> que me resta é a implementação de WCCP no squid ser muito ineficiente.
> É bem possível.  Voce precisa mesmo do WCCP?  Nao pode ser simplesmente
> um proxy transparente e regras de policy routing desviando a porta 80
> para um MAC externo?
> 
> Outra sugestão: habilite um kernel com as opções:
> 
> options         HZ=1000
> options         DEVICE_POLLING
> 
> Isso deve melhorar o tempo gasto com interrupções de rede.
> 
> Aparentemente o número de MBUF clusters está razoável, embora eu não
> goste do formato do FreeBSD.  O FreeBSD 4 me dava o pico de uso dos mbuf
> clusters, mas o 5.x não dá mais, e com isso perdemos uma ferramenta
> estatística.  Nao sei se isso tem algo a ver com o tal do sfbuf, que não
> é comentado no livro do McKusick.  Deve ser algo bem novo.
> 
> Ah, segundo os seus dados abaixo, a placa de rede também compartilha
> interrupções com o USB.  Se não puder separar as interrupções, desligue
> o USB.  Acredito que não seja necessário num servidor de proxy.   ;-)
> 
> Uma outra otimização interessante é colocar um named local só para
> atender o squid.  Isso reduz os acessos pela rede, reduzindo a latencia,
> e ainda guarda um cache local, evitando contaminar o cache externo com
> dados do proxy transparente.  Se a rede consumidora for local e usar o
> mesmo named externo, ainda assim acho que vale a pena colocar um named
> local com "forward first".
> 
> Fora isso, parece tudo ok.  CPU razoável, placa de rede muito boa,
> quantidade de memória excelente.  Só faltava ser disco SCSI, mas ao que
> me parece, esse não é o problema da máquina.
> 
> >
> > Dados relevantes:
> >
> > Hardware: P4 2.80GHz HT / 2GB RAM / (2x)80GB HDD / Intel PRO/1000 (em0)
> > ----------------------
> > CPU: Intel(R) Pentium(R) 4 CPU 2.80GHz (2793.01-MHz 686-class CPU)
> > Hyperthreading: 2 logical CPUs
> > real memory  = 2146631680 (2047 MB)
> > avail memory = 2094350336 (1997 MB)
> > cpu0: <ACPI CPU> on acpi0
> > agp0: <Intel 82865 host to AGP bridge> mem 0xf8000000-0xfbffffff at
> > device 0.0 on pci0
> > em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port
> > 0xcf80-0xcf9f mem
> > 0xfe9e0000-0xfe9fffff irq 18 at device 1.0 on pci2
> > em0: Link is up 100 Mbps Full Duplex
> > ad0: 76319MB <ST380011A/3.06> [155061/16/63] at ata0-master UDMA100
> > ad1: 76319MB <ST380011A/3.06> [155061/16/63] at ata0-slave UDMA100
> > -----------//----------------------//----------------------//-----------
> >
> >
> > Software: FreeBSD 5.4-PRERELEASE, squid 2.5.9,  pf
> >
> > Outras informações:
> > ------------------
> >
> > # top -S
> > --------
> > last pid: 20950;  load averages:  0.88,  0.99,  0.96  up 1+01:36:07
> > 12:11:52
> > 101 processes: 3 running, 65 sleeping, 33 waiting
> > CPU states: 34.5% user,  0.0% nice, 51.6% system,  7.0% interrupt,  7.0%
> > idle
> > Mem: 210M Active, 1544M Inact, 180M Wired, 66M Cache, 112M Buf, 3008K Free
> > Swap: 4069M Total, 120K Used, 4069M Free
> >
> > PID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU    CPU COMMAND
> > 3134 squid    122    0   193M   190M RUN    211:17 84.03% 84.03% squid
> >  11 root     171   52     0K     8K RUN    934:47  6.98%  6.98% idle
> >  35 root     -44 -163     0K     8K WAIT    26:04  2.83%  2.83% swi1: net
> >  28 root     -68 -187     0K     8K WAIT    14:05  1.03%  1.03% irq18:
> > em0 uhci2
> >  36 root     -28 -147     0K     8K WAIT     2:24  0.00%  0.00% swi5:
> > clock sio
> > 3136 squid     -4    0  1744K  1076K msgwai   2:07  0.00%  0.00% diskd
> >  56 root      20    0     0K     8K syncer   2:00  0.00%  0.00% syncer
> > -----------//----------------------//----------------------//-----------
> >
> > # systat -vmstat 1
> > ------------------
> >   3 users    Load  1.15  1.00  0.95                  Apr  6 12:18
> >
> > Mem:KB    REAL            VIRTUAL                     VN PAGER  SWAP PAGER
> >       Tot   Share      Tot    Share    Free         in  out     in  out
> > Act  209444    4416   261896     6540   82364 count
> > All 2045952    7132  4500392    10168         pages
> >                                                                Interrupts
> > Proc:r  p  d  s  w    Csw  Trp  Sys  Int  Sof  Flt        cow    1515 total
> >    1     4 32      3680  730 5051 2944 1139      183612 wire        1: atkb
> >                                                  215036 act         3: sio1
> > 52.2%Sys   3.7%Intr 28.4%User  0.0%Nice 15.7%Idl  1569204 inact       4:
> > sio0
> > |    |    |    |    |    |    |    |    |    |      79356 cache       6:
> > fdc0
> > ==========================++>>>>>>>>>>>>>>           3008 free    128 8:
> > rtc
> >                                                         daefr       13: npx
> > Namei         Name-cache    Dir-cache                     prcfr
> > 14: ata
> >   Calls     hits    %     hits    %                     react       15: ata
> >      47       37   79                                   pdwak  1288 18: em0
> >                                         zfod            pdpgs    99 0: clk
> > Disks   ad0   ad1                         ofod            intrn
> > KB/t   0.00  0.00                         %slo-z   114880 buf
> > tps       0     0                    1657 tfree       120 dirtybuf
> > MB/s   0.00  0.00                                  100000 desiredvnodes
> > % busy    0     0                                   90535 numvnodes
> >                                                    9789 freevnodes
> > -----------//----------------------//----------------------//-----------
> >
> > # netstat -mb
> > -------------
> > 1188 mbufs in use
> > 1161/32768 mbuf clusters in use (current/max)
> > 0/3/4608 sfbufs in use (current/peak/max)
> > 2619 KBytes allocated to network
> > 0 requests for sfbufs denied
> > 0 requests for sfbufs delayed
> > 0 requests for I/O initiated by sendfile
> > 214 calls to protocol drain routines
> > -----------//----------------------//-----------
> >
> > # vmstat -i
> > -----------
> > interrupt                          total       rate
> > irq1: atkbd0                        2129          0
> > irq3: sio1                             2          0
> > irq4: sio0                             2          0
> > irq6: fdc0                            14          0
> > irq8: rtc                       11852670        127
> > irq13: npx0                            1          0
> > irq14: ata0                      1145295         12
> > irq15: ata1                           58          0
> > irq18: em0 uhci2                75076124        810
> > irq0: clk                        9260481         99
> > Total                           97336776       1051
> > -----------//----------------------//-----------
> >
> > # iostat
> > --------
> >     tty             ad0              ad1             cpu
> > tin tout  KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
> >  0  196 15.53   4  0.06  18.19   8  0.14  15  0 22  3 61
> > -----------//----------------------//-----------
> >
> >
> > Obrigado antecipadamente,
> >
> > Alex
> >
> >
> >
> > _______________________________________________
> > Freebsd mailing list
> > Freebsd em fug.com.br
> > http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
> 
>                                         Jonny
> 
> --
> João Carlos Mendes Luís - Networking Engineer - jonny em jonny.eng.br
> 
> 
> _______________________________________________
> Freebsd mailing list
> Freebsd em fug.com.br
> http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
>

_______________________________________________
Freebsd mailing list
Freebsd em fug.com.br
http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br




Mais detalhes sobre a lista de discussão freebsd