João, O que faz a opção "DEVICE_POOLING"?
Celso On Apr 8, 2005 6:16 PM, João Carlos Mendes Luís <[EMAIL PROTECTED]> 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@fug.com.br > > http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br > > Jonny > > -- > João Carlos Mendes Luís - Networking Engineer - [EMAIL PROTECTED] > > > _______________________________________________ > Freebsd mailing list > Freebsd@fug.com.br > http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br > _______________________________________________ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br