Network performance issues when writing to disk
erik.rothwell at realityengine.ca
Tue Aug 17 13:13:17 PDT 2004
On 8/12/04 11:17 AM, "Robert Watson" <rwatson at freebsd.org> wrote:
> Did you replace it with another if_dc card, or with a card using a
> different interface driver?
Well, I took the afflicted box out of production this weekend for some
further testing. After swapping out one of the if_dc NICs with an Intel card
using the if_fxp driver, the problem no longer occurs on that interface.
I can only reproduce the problem using an interface with the if_dc driver.
The difference in performance is night and day.
> - What sort of kernel configuration are you using -- GENERIC, or a custom
> kernel, and if so, is it an SMP box and is SMP enabled in the kernel?
This is a single processor box. The kernel is compiled without SMP or APIC
and without a number of unused drivers (SCSI, ISA NICs, PCMCIA, umass, &c).
IPFIREWALL, IPDIVERT, QUOTA and DEVICE_POLLING are compiled in. (Device
polling is not currently enabled via the sysctl however).
> - When the system performance suddenly degrades, what is the apparent load
> and condition of the system? In particular, at that point if you
> measure the load average and CPU utilization, perhaps with "systat
> -vmstat" or "top", are the CPU(s) maxed out? How much time is in user
> vs. system vs. interrupt (vs. idle).
if_dc: nc > /dev/null
Load 0.79 0.25 0.13
CPU 41.5% sys, 28.5% interrupt, 5.5% user, 24.5% idle
Interrupts 2501 clock, 128 rtc, 11684 dc0, 83 ata
Disk ad0: 12.33 KB/t 4 tps 0.04 MB/s
Disk ad1: 7.80 KB/t 80 tps 0.61 MB/s 8% busy
if_dc: nc > /data/junk
Load 0.11 0.26 0.17
CPU 9.0% sys, 2.0% interrupt, 0.5% user, 88.5% idle
Interrupts 2504 clock, 128 rtc, 434 dc0, 54 ata
Disk ad0: -
Disk ad1: 11.75 KB/t 51 tps 0.58 MB/s 100% busy
if_fxp: nc > /data/junk
Load 0.42 0.38 0.23
CPU 61.0% sys, 31.2% interrupt, 2.5% user, 4.5% idle
Interrupts 2501 clock, 128 rtc, 6036 fxp0, 145 ata
Disk ad0: -
Disk ad1: 128 KB/t 73 tps 9.07 MB/s 37% busy
Plenty of free memory, little if any swapping at any time. Both disks are
running in udma66. devinfo/dmesg doesn't indicate any conflict between disk
controller and the network interfaces. There certainly appears to be some
contention between the if_dc cards and the disk, however.
More information about the freebsd-performance