800mhz CPU only 32mbps throughput
-
Hi,
I've been running PFSense for about 6 months now and I'm really happy with it, good job everyone who puts so much effort into it :) . Anyway I've had this problem ever since I've deployed it. I have 2 LAN interfaces that connect to seperate subnets each have 3com 100mbps NICS. When I use any type of traffic (single tcp session) I can only pass around 32mbps of data through the PFSENSE as the CPU usage goes up to 100% at this rate. I'm very surprised because thats what the hardware page said a WRAP box would do and this is SLIGHTLY mroe powerful (800mhz celeron, 512mb ram). Ideas or similar experiences? -
I have a P3 @ 733Mhz and I have about 40Mbit/s. I don't use traffic shaping it use more ressource.
My interfaces are : Intel 82557 Pro/100 Ethernet and D-link DFE 580 TX (thanks to ebay :)) -
I can get around 90 mbit/s with a 1GHz C3 Nehemia CPU with ViaRhine nics in default config benched with netio WAN to LAN. I would say that both of your machines should be able to push more bandwidth than what you actually see. However, depending on the traffic you probably see less. Make sure that you are not using shared interrupts (you can find out by going to http://<pfsense-ip>/status.php; check dmesg at the very bottom of this page). Another option that you could try is enabling polling mode at system>advanced to soo if this helps a bit (IIRC the CPU-Usage at the statuspage won't be calculated correctly if polling is enabled but this is only cosmetic).</pfsense-ip>
-
This is my DMESG. How can I control shared interrupts ?
Device polling add a delay ??Copyright (c) 1992-2007 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 6.2-RELEASE-p1 #0: Sun Feb 25 14:53:18 EST 2007 sullrich@builder6.pfsense.com:/usr/obj.pfSense/usr/src/sys/pfSense.6 MPTable: <compaq deskpro ="" =""> Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel Pentium III (730.97-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x681 Stepping = 1 Features=0x387fbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse>real memory = 267386880 (255 MB) avail memory = 251928576 (240 MB) ioapic0: Changing APIC ID to 8 ioapic0: Assuming intbase of 0 ioapic0 <version 2.0=""> irqs 0-23 on motherboard wlan: mac acl policy registered kbd1 at kbdmux0 ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) cpu0 on motherboard pcib0: <mptable host-pci="" bridge=""> pcibus 0 on motherboard pci0: <pci bus=""> on pcib0 agp0: <intel 82815="" (i815="" gmch)="" svga="" controller=""> mem 0x44000000-0x47ffffff,0x40300000-0x4037ffff irq 16 at device 2.0 on pci0 pcib1: <mptable pci-pci="" bridge=""> at device 30.0 on pci0 pci2: <pci bus=""> on pcib1 pcib2: <pci-pci bridge=""> at device 8.0 on pci2 pci3: <pci bus=""> on pcib2 ste0: <d-link 10="" dl10050="" 100basetx=""> port 0x1000-0x107f irq 16 at device 4.0 on pci3 miibus0: <mii bus=""> on ste0 ukphy0: <generic ieee="" 802.3u="" media="" interface=""> on miibus0 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ste0: Ethernet address: 00:0d:88:70:dc:d4 ste1: <d-link 10="" dl10050="" 100basetx=""> port 0x1080-0x10ff irq 17 at device 5.0 on pci3 miibus1: <mii bus=""> on ste1 ukphy1: <generic ieee="" 802.3u="" media="" interface=""> on miibus1 ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ste1: Ethernet address: 00:0d:88:70:dc:d5 ste2: <d-link 10="" dl10050="" 100basetx=""> port 0x1400-0x147f irq 18 at device 6.0 on pci3 miibus2: <mii bus=""> on ste2 ukphy2: <generic ieee="" 802.3u="" media="" interface=""> on miibus2 ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ste2: Ethernet address: 00:0d:88:70:dc:d6 ste3: <d-link 10="" dl10050="" 100basetx=""> port 0x1480-0x14ff irq 19 at device 7.0 on pci3 miibus3: <mii bus=""> on ste3 ukphy3: <generic ieee="" 802.3u="" media="" interface=""> on miibus3 ukphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto ste3: Ethernet address: 00:0d:88:70:dc:d7 fxp0: <intel 100="" 82557="" pro="" ethernet=""> port 0x2000-0x201f mem 0x40400000-0x40400fff,0x40000000-0x400fffff irq 18 at device 10.0 on pci2 miibus4: <mii bus=""> on fxp0 inphy0: <i82555 10="" 100="" media="" interface=""> on miibus4 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: Ethernet address: 00:a0:c9:42:0a:95 isab0: <pci-isa bridge=""> at device 31.0 on pci0 isa0: <isa bus=""> on isab0 atapci0: <intel ich="" udma66="" controller=""> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x3460-0x346f at device 31.1 on pci0 ata0: <ata 0="" channel=""> on atapci0 ata1: <ata 1="" channel=""> on atapci0 uhci0: <intel 82801aa="" (ich)="" usb="" controller=""> port 0x3440-0x345f irq 19 at device 31.2 on pci0 uhci0: [GIANT-LOCKED] usb0: <intel 82801aa="" (ich)="" usb="" controller=""> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered pci0: <multimedia, audio=""> at device 31.5 (no driver attached) pmtimer0 on isa0 orm0: <isa option="" roms=""> at iomem 0xc0000-0xc7fff,0xe0000-0xeffff on isa0 atkbdc0: <keyboard controller="" (i8042)=""> at port 0x60,0x64 on isa0 atkbd0: <at keyboard=""> irq 1 on atkbdc0 kbd0 at atkbd0 atkbd0: [GIANT-LOCKED] fdc0: <enhanced floppy="" controller=""> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: [FAST] ppc0: <parallel port=""> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/13 bytes threshold ppbus0: <parallel port="" bus=""> on ppc0 lpt0: <printer> on ppbus0 lpt0: Interrupt-driven port ppi0: <parallel i="" o=""> on ppbus0 sc0: <system console=""> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A vga0: <generic isa="" vga=""> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 unknown: <pnp0401> can't assign resources (port) unknown: <pnp0501> can't assign resources (port) unknown: <pnp0501> can't assign resources (port) unknown: <pnp0700> can't assign resources (port) unknown: <pnp0c01> can't assign resources (memory) unknown: <pnp0100> can't assign resources (irq) speaker0: <pc speaker=""> at port 0x61 on isa0 unknown: <pnp0303> can't assign resources (port) Timecounter "TSC" frequency 730965407 Hz quality 800 Timecounters tick every 1.000 msec Fast IPsec: Initialized Security Association Processing. ad0: 6150MB <ibm dhea-36480="" he8da41a=""> at ata0-master UDMA33 Trying to mount root from ufs:/dev/ad0s1a</ibm></pnp0303></pc></pnp0100></pnp0c01></pnp0700></pnp0501></pnp0501></pnp0401></generic></system></parallel></printer></parallel></parallel></enhanced></at></keyboard></isa></multimedia,></intel></intel></ata></ata></intel></isa></pci-isa></i82555></mii></intel></generic></mii></d-link></generic></mii></d-link></generic></mii></d-link></generic></mii></d-link></pci></pci-pci></pci></mptable></intel></pci></mptable></version></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,pn,mmx,fxsr,sse></compaq >
-
2 of your nics share the same interrupt:
... ste2: <d-link 10="" dl10050="" 100basetx=""> port 0x1400-0x147f irq 18 at device 6.0 on pci3 ... fxp0: <intel 100="" 82557="" pro="" ethernet=""> port 0x2000-0x201f mem 0x40400000-0x40400fff,0x40000000-0x400fffff irq 18 at device 10.0 on pci2 ...</intel></d-link>
Try to disable as much hardware in the bios as possible to free up ressources (like parallelports, serial poerts, …). Maybe you can get rid of the interruptsharing.
-
actually how do i go about testing the max throughput for my setup?
-
Try a tool like netio: http://freshmeat.net/projects/netio/
-
thanks! will try it out
-
Also, try Intel nics. 3Com nics are generally regarded as bottom of the bargain barrel cards.
–Bill
-
I do some tests :
Wan=> Lan : At 13Mb/s (this is my internet connection throughput) :
Snort uses 33% of CPU and processor utilization about : 50-60% (total, snort include)And LAN=>OPT1 I estimate maximal throughput at 40Mb/s without snort.
I have some share IRQ, I tried to disable serial port, audio, usb …. and I still have share IRQ ....how can I resolve it ?
thx for your help ;) -
Reset the asigned ressources in the bios or try to manually assign them. Also swapping pci slots might help.