And finally (I'm kinda done messing around with this): I took out all other cards save for the AGP video card and re-ran iperf, and got 162 Mb/s with the XP PC sending to the Linux server and 612 Mb/s sending from the server to the PC. Unpleasantly asymmetric.

An abbreviated "lspci" (from the server) for those interested:
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)
        Subsystem: ASUSTeK Computer Inc. Device 81aa
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 26
        Region 0: I/O ports at de00 [size=256]
        Region 2: Memory at fdfff000 (64-bit, non-prefetchable) [size=4K]
...
        Kernel driver in use: r8169
        Kernel modules: r8169

Numerically, the PCI codes are 10ec:8168 (rev 01); the PC's card reports as 10ec:8169.

I'll wait a bit to see if any new AMD CPUs are coming out, and then buy a quad- or hex-core CPU/motherboard/RAM and hope for a decent network interface.

Kevin

On Sat, Apr 10, 2010 at 5:52 PM, Kevin McGregor <kevin.a.mcgregor@gmail.com> wrote:
Well. I plugged in my iMac (Intel, Core 2 Duo T7200, 2.00 GHz) to my gigabit switch and ran iperf on it in server and client mode. The only copy I could find for download (executable) was 1.70, and was compiled for the PowerPC Macs. Here are the results between the iMac and my server:

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.27.10 port 5001 connected with 192.168.27.29 port 49371
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-20.0 sec  2.17 GBytes    930 Mbits/sec

$ iperf -t 20 -c 192.168.27.29
------------------------------------------------------------
Client connecting to 192.168.27.29, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.27.10 port 44201 connected with 192.168.27.29 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-20.0 sec  2.18 GBytes    936 Mbits/sec

The server and the iMac seem pretty happy to talk to each other -- that's twice the performance of any other TCP result I've had! Just as a check, I plugged the PC into the same cable as the iMac had been plugged into:

$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.27.10 port 5001 connected with 192.168.27.23 port 4701
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-20.0 sec    386 MBytes    162 Mbits/sec

Much lower results. It seems to me that the problem is with the network hardware or TCP/IP stack on the PC side. Does anyone else want to venture an opinion? Or another test to run?

Kevin

On Wed, Apr 7, 2010 at 4:11 PM, Trevor Cordes <trevor@tecnopolis.ca> wrote:
On 2010-04-07 Adam Thompson wrote:
> Actually, I was mainly hoping to verify that it was, indeed, a
> hardware problem.  One person (Trevor) reporting similar results has
> fairly decent-quality GigE NICs on both sides – or at least what I
> *assumed* to be fairly decent-quality NICs!

I should hope so, my NICs are Intel server grade gigabit on the server
and Intel high-end workstation grade gigabit on the client ($100-$300
NICs, retail).

Kevin, I didn't have time to scan your exact results, is it mostly
pc->server that's slow or server<-pc?  And your pc is Windows, I gather
(XP?).

My big problem has always been windows->linux performance (but never
linux->windows).  I've given up on it for now, but one thing that made
a HUGE difference was turning OFF jumbo packets.  I instantly got 5X
better performance with jumbo OFF.  Yes, my switch is jumbo capable,
and it was enabled, and set properly on the pc and linux.  Go figure.
I blame the Linksys WebSmart switch, but who knows.

_______________________________________________
Roundtable mailing list
Roundtable@muug.mb.ca
http://www.muug.mb.ca/mailman/listinfo/roundtable