3c905B Performance Problem

Seth (sethm@loomcom.com)
Tue, 17 Aug 1999 13:22:42 -0700 (PDT)


Hello all,

I hope someone can help me with this perculiar problem I've been
having.

I have a dual-processor P-III 450 system acting as an Apache webserver,
co-located on a 10Mbit connection at a datacenter. It is running
RedHat 6.0 with a 2.2.10 kernel (built from source). The system has
two 3C905B (Cyclone) PCI fast ethernet cards -- the system is acting
as a masquerading firewall as well as a webserver. The system is using
the stock 3c5xx.c version 0.99H driver that comes with the kernel.

The cards are both connected to 3Com SuperStack II 3C16464A swtiches
(the outer card is connected to one switch, the inner network card
is connected to another). There's almost no traffic going through
the masquerade right now, but there's a lot of traffic hitting the
webserver (about 300,000 requests per day). The Apache webserver is
working like a champ, and the load on the machine is never above 0.1.

The problem we're seeing is that the performance on the 3C905B degrades
quickly over time under constant load. Ping times start out very good
-- around 15ms. But they increase over the course of about two hours,
until ping times are up to 10000ms or more, HORRIBLE performance.
Packet loss is almost none, and I'm getting no frame or dropped packet
errors -- only the ping time is increasing and throughput drops to
under 2kbps.

I can easily fix the problem by bringing the eth0 interface down and
then up again. Usually by doing "/etc/rc.d/init.d/network restart".
It works like a charm, and ping times drop back down to 15ms, throughput
returns to normal.

This is a very strange problem, I've never seen it before. Does anyone
have any suggestions as to what the problem might be? Should I have
gone with different hardware, or is this something which can be fixed
through a configuration change? Any help would be GREATLY appreciated.

I've included output from "dmesg" and "ifconfig -a" below. The x's
for address numbers are so my employer doesn't get upset with me :)

dmesg
~~~~~

3c59x.c:v0.99H 11/17/98 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
eth0: 3Com 3c905B Cyclone 100baseTx at 0xb800, xx:xx:xx:xx:xx:xx, IRQ 12
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 24, status 786d.
MII transceiver found at address 0, status 786d.
Enabling bus-master transmits and whole-frame receives.
eth1: 3Com 3c905B Cyclone 100baseTx at 0xb400, xx:xx:xx:xx:xx:xx, IRQ 10
8K byte-wide RAM 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
MII transceiver found at address 24, status 7849.
MII transceiver found at address 0, status 7849.
Enabling bus-master transmits and whole-frame receives.

ifconfig -a
~~~~~~~~~~~

eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.224
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4658698 errors:0 dropped:0 overruns:0 frame:0
TX packets:3684901 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:12 Base address:0xb800

eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:xxx.xxx.xxx.x Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:512898 errors:0 dropped:0 overruns:0 frame:0
TX packets:712698 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Base address:0xb400

-Seth

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.rutgers.edu