Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
João Carlos Mendes Luís wrote: Ricardo A. Reis wrote: Caro Alex, Muito ja foi comentado sobre o seu problema vou comentar um pouco sobre a minha realidade, tenho um proxy server rodando em Xeon 2.66 com 1G de ram e scsi u320 15k, sobre free 5.2, estou muito contente ... Strom em qual interrupção? Algo que possa ser desabilitado? Eu já vi isso em drivers USB, justamente por estar junto com a placa de rede. ... # vmstat -i --- interrupt total rate irq1: atkbd02129 0 irq3: sio1 2 0 irq4: sio0 2 0 irq6: fdc014 0 irq8: rtc 11852670127 irq13: npx01 0 irq14: ata0 1145295 12 irq15: ata1 58 0 irq18: em0 uhci275076124810 irq0: clk9260481 99 Total 97336776 1051 o problema é exatamente o compartilhamento de IRQ entre a placa de rede o o USB (gerando um IRQ storm) já tive esse problema inúmeras vezes com servidores IBM (xSeries e eSeries), e com algumas MBs Intel com rede integrada (em todos os casos foi a fatídica combinação "em0" + USB). Possiveis soluções: - quando possivel desabilite a USB - tente o sugerido pelo colega: kernel com as opções DEVICE POOLING + HZ=2000 (pelo menos 2000, no caso de sua maquina, 4000 deve ficar perfeito para gigabit) - se nada mais funcionar, desative a placa de rede "on-board" (eu sei, uma pena) e ponha outra placa de rede (atualmente estou muito satisfeito com o custo/benefício das 3Com) []s Antonio Torres [EMAIL PROTECTED] ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
Ricardo A. Reis wrote: > Caro Alex, > > Muito ja foi comentado sobre o seu problema vou comentar um > pouco sobre a minha realidade, tenho um proxy server rodando em Xeon > 2.66 com 1G de ram e scsi u320 15k, sobre free 5.2, estou muito contente > com ele mesmo tendo pouca memoria ele nao usa swap :-), com uma media de > usuario de 1.7k a 2.2k (+/- 23G transferencia dia) e acredite fazendo > nat com pf e filtro de conteudo com squidguard +/- 100 regexp e o uso do > processado tem picos de 65+/- e media 55%. > Eu uso dnscache interno com 100 megas de cache que fica um > tiro ;-) Que dnscache que voce usa? > > Ideias: > Sua motherboard e' intel? Eu estou com problemas de irq > storm em um ibm x346, exatamente como a sua placa de rede e a usb > (dmesg|grep storm) oq aparentemente esta sendo comum na RELENG_5 vide > current@ deveria testar com 5.3! Strom em qual interrupção? Algo que possa ser desabilitado? Eu já vi isso em drivers USB, justamente por estar junto com a placa de rede. > > Atenciosamente > Ricardo A. Reis > UNIFESP - SENAI > Unix and System Admin > > > 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). >> >> 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: on acpi0 >> agp0: mem 0xf800-0xfbff at >> device 0.0 on pci0 >> em0: port >> 0xcf80-0xcf9f mem >> 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 >> em0: Link is up 100 Mbps Full Duplex >> ad0: 76319MB [155061/16/63] at ata0-master UDMA100 >> ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND >> 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid >> 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle >> 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net >> 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd >> 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer >> ---//--//--//--- >> >> # systat -vmstat 1 >> -- >> 3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 >> >> Mem:KBREALVIRTUAL VN PAGER SWAP >> PAGER >> Tot Share TotShareFree in out in out >> Act 2094444416 261896 6540 82364 count >> All 20459527132 450039210168 pages >>Interrupts >> Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 >> total >>1 4 32 3680 730 5051 2944 1139 183612 wire1: >> 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 free128 >> 8: rtc >> daefr >> 13: npx >> Namei Name-cacheDir-cache prcfr >> 14: ata >> Calls hits% hits% react >> 15: ata >> 47 37 79 pdwak 1288 >> 18: em0 >> zfodpdpgs99 0: >> clk >> Disks ad0 ad1 ofodintrn >> KB/t 0.00 0.00 %slo-z 114880 buf >> tps 0 01657 tfree 120 dirtybuf >> MB/s 0.00 0.00 10 desiredvnodes >> % busy0 0 9053
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
Isso tambem tinha no 4.x: # DEVICE_POLLING adds support for mixed interrupt-polling handling # of network device drivers, which has significant benefits in terms # of robustness to overloads and responsivity, as well as permitting # accurate scheduling of the CPU time between kernel network processing # and other activities. The drawback is a moderate (up to 1/HZ seconds) # potential increase in response times. # It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING # to achieve smoother behaviour. # Additionally, you can enable/disable polling at runtime with the # sysctl variable kern.polling.enable (defaults off), and select # the CPU fraction reserved to userland with the sysctl variable # kern.polling.user_frac (default 50, range 0..100). # # Not all device drivers support this mode of operation at the time of # this writing. See polling(4) for more details. Celso Viana wrote: > 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: on acpi0 >>>agp0: mem 0xf800-0xfbff at >>>device 0.0 on pci0 >>>em0: port >>>0xcf80-0xcf9f mem >>>0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 >>>em0: Link is up 100 Mbps Full Duplex >>>ad0: 76319MB [155061/16/63] at ata0-master UDMA100 >>>ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND >>>3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid >>> 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle >>> 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net >>> 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd >>> 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer >>>---//--//--//--- >>> >>># systat -vmstat 1 >>>-- >>>
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
Caro Alex, Muito ja foi comentado sobre o seu problema vou comentar um pouco sobre a minha realidade, tenho um proxy server rodando em Xeon 2.66 com 1G de ram e scsi u320 15k, sobre free 5.2, estou muito contente com ele mesmo tendo pouca memoria ele nao usa swap :-), com uma media de usuario de 1.7k a 2.2k (+/- 23G transferencia dia) e acredite fazendo nat com pf e filtro de conteudo com squidguard +/- 100 regexp e o uso do processado tem picos de 65+/- e media 55%. Eu uso dnscache interno com 100 megas de cache que fica um tiro ;-) Ideias: Sua motherboard e' intel? Eu estou com problemas de irq storm em um ibm x346, exatamente como a sua placa de rede e a usb (dmesg|grep storm) oq aparentemente esta sendo comum na RELENG_5 vide current@ deveria testar com 5.3! Atenciosamente Ricardo A. Reis UNIFESP - SENAI Unix and System Admin 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). 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: on acpi0 agp0: mem 0xf800-0xfbff at device 0.0 on pci0 em0: port 0xcf80-0xcf9f mem 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 em0: Link is up 100 Mbps Full Duplex ad0: 76319MB [155061/16/63] at ata0-master UDMA100 ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer ---//--//--//--- # systat -vmstat 1 -- 3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 Mem:KBREALVIRTUAL VN PAGER SWAP PAGER Tot Share TotShareFree in out in out Act 2094444416 261896 6540 82364 count All 20459527132 450039210168 pages Interrupts Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 total 1 4 32 3680 730 5051 2944 1139 183612 wire1: 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 free128 8: rtc daefr 13: npx Namei Name-cacheDir-cache prcfr 14: ata Calls hits% hits% react 15: ata 47 37 79 pdwak 1288 18: em0 zfodpdpgs99 0: clk Disks ad0 ad1 ofodintrn KB/t 0.00 0.00 %slo-z 114880 buf tps 0 01657 tfree 120 dirtybuf MB/s 0.00 0.00 10 desiredvnodes % busy0 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 ---//--//
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
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: on acpi0 > > agp0: mem 0xf800-0xfbff at > > device 0.0 on pci0 > > em0: port > > 0xcf80-0xcf9f mem > > 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 > > em0: Link is up 100 Mbps Full Duplex > > ad0: 76319MB [155061/16/63] at ata0-master UDMA100 > > ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND > > 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid > > 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle > > 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net > > 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd > > 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer > > ---//--//--//--- > > > > # systat -vmstat 1 > > -- > > 3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 > > > > Mem:KBREALVIRTUAL VN PAGER SWAP PAGER > > Tot Share TotShareFree in out in out > > Act 2094444416 261896 6540 82364 count > > All 20459527132 450039210168 pages > >Interrupts > > Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 total > >1 4 32 3680 730 5051 2944 1139 183612 wire1: 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 > > ==++>> 3
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
Giovanni P. Tirloni wrote: # 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 O sistema teve que forçar a desalocação de mbufs/mclusters pois não havia mais nenhuma para ser alocado em um dado momento. Explica isso melhor. Voce está falando do protocol drain? Tenho uma máquina com MUITO mais que isso, em apenas 3 dias, e não acho que a parte de rede dela esteja com problemas. roma::root namedb [580] netstat -m 276 mbufs in use 89/25600 mbuf clusters in use (current/max) 55/465/6656 sfbufs in use (current/peak/max) 247 KBytes allocated to network 0 requests for sfbufs denied 0 requests for sfbufs delayed 47798 requests for I/O initiated by sendfile 6586 calls to protocol drain routines roma::root namedb [581] uptime 7:20PM up 3 days, 8:53, 4 users, load averages: 0.01, 0.09, 0.08 roma::root namedb [582] 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
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
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: on acpi0 agp0: mem 0xf800-0xfbff at device 0.0 on pci0 em0: port 0xcf80-0xcf9f mem 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 em0: Link is up 100 Mbps Full Duplex ad0: 76319MB [155061/16/63] at ata0-master UDMA100 ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer ---//--//--//--- # systat -vmstat 1 -- 3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 Mem:KBREALVIRTUAL VN PAGER SWAP PAGER Tot Share TotShareFree in out in out Act 2094444416 261896 6540 82364 count All 20459527132 450039210168 pages Interrupts Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 total 1 4 32 3680 730 5051 2944 1139 183612 wire1: 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 free128 8: rtc daefr 13: npx Namei Name-cacheDir-cache prcfr 14: ata Calls hits% hits% react 15: ata 47 37 79 pdwak 1288 18: em0 zfodpdpgs99 0: clk Disks ad0 ad1 ofodintrn K
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
Alex S. Moura disse: > Saudações, > > > Alguém tem sugestões ou dicas para resolver o problema de alto consumo > de CPU pelo squid no FreeBSD 5.4? Diminuir o número de regras. Por exemplo, uma url_regex com uns 10k sites para verificar poe qualquer proxy carregado no chão. > # 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 O sistema teve que forçar a desalocação de mbufs/mclusters pois não havia mais nenhuma para ser alocado em um dado momento. -- Giovanni P. Tirloni ___ Freebsd mailing list Freebsd@fug.com.br http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br
Re: [FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
> > Saudações, > Uma ideia, porque nao coloca os HD um em cada ID, a perfomance aumenta um pouco ... Pos o squid usa disco tbm Rizzo > > 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). > > 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: on acpi0 > agp0: mem 0xf800-0xfbff at > device 0.0 on pci0 > em0: port > 0xcf80-0xcf9f mem > 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 > em0: Link is up 100 Mbps Full Duplex > ad0: 76319MB [155061/16/63] at ata0-master UDMA100 > ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND > 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid > 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle > 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net > 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd > 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer > ---//--//--//--- > > # systat -vmstat 1 > -- >3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 > > Mem:KBREALVIRTUAL VN PAGER SWAP PAGER >Tot Share TotShareFree in out in out > Act 2094444416 261896 6540 82364 count > All 20459527132 450039210168 pages > Interrupts > Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 total > 1 4 32 3680 730 5051 2944 1139 183612 wire1: > 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 free128 8: rtc > daefr > 13: npx > Namei Name-cacheDir-cache prcfr > 14: ata >Calls hits% hits% react > 15: ata > 47 37 79 pdwak 1288 > 18: em0 > zfodpdpgs99 0: clk > Disks ad0 ad1 ofodintrn > KB/t 0.00 0.00 %slo-z 114880 buf > tps 0 01657 tfree 120 dirtybuf > MB/s 0.00 0.00 10 desiredvnodes > % busy0 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: atkbd02129 0 > irq3: sio1 2 0 > irq4: sio0 2 0 > irq6: fdc014 0 > irq8: rtc 11852670127 > irq13: npx01 0 > irq14: ata0 1145295 12 > irq15: ata1 58 0 > irq18: em0 uhci275
[FUG-BR] Alto consumo de CPU do squid no FreeBSD 5.4
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). 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: on acpi0 agp0: mem 0xf800-0xfbff at device 0.0 on pci0 em0: port 0xcf80-0xcf9f mem 0xfe9e-0xfe9f irq 18 at device 1.0 on pci2 em0: Link is up 100 Mbps Full Duplex ad0: 76319MB [155061/16/63] at ata0-master UDMA100 ad1: 76319MB [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 SIZERES STATETIME WCPUCPU COMMAND 3134 squid1220 193M 190M RUN211:17 84.03% 84.03% squid 11 root 171 52 0K 8K RUN934:47 6.98% 6.98% idle 35 root -44 -163 0K 8K WAIT26:04 2.83% 2.83% swi1: net 28 root -68 -187 0K 8K WAIT14: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 -40 1744K 1076K msgwai 2:07 0.00% 0.00% diskd 56 root 200 0K 8K syncer 2:00 0.00% 0.00% syncer ---//--//--//--- # systat -vmstat 1 -- 3 usersLoad 1.15 1.00 0.95 Apr 6 12:18 Mem:KBREALVIRTUAL VN PAGER SWAP PAGER Tot Share TotShareFree in out in out Act 2094444416 261896 6540 82364 count All 20459527132 450039210168 pages Interrupts Proc:r p d s wCsw Trp Sys Int Sof Fltcow1515 total 1 4 32 3680 730 5051 2944 1139 183612 wire1: 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 free128 8: rtc daefr 13: npx Namei Name-cacheDir-cache prcfr 14: ata Calls hits% hits% react 15: ata 47 37 79 pdwak 1288 18: em0 zfodpdpgs99 0: clk Disks ad0 ad1 ofodintrn KB/t 0.00 0.00 %slo-z 114880 buf tps 0 01657 tfree 120 dirtybuf MB/s 0.00 0.00 10 desiredvnodes % busy0 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: atkbd02129 0 irq3: sio1 2 0 irq4: sio0 2 0 irq6: fdc014 0 irq8: rtc 11852670127 irq13: npx01 0 irq14: ata0 1145295 12 irq15: ata1 58 0 irq18: em0 uhci275076124810 irq0: clk9260481 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 ---//--//--- O