[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Devboard TCP performance



Hi all,

We would like to use Lx100 as a high speed Ethernet based data transfer
interface to
a proprietary system - so the first thing to check on the devboard (running
kernel 2.4.5)
was Ethernet TCP throughput.

I made TCP performance test utility tcp_perf.c that runs on x86 Linux,
Windows and Lx100.
It has to be run as a client on one node, and as a server on another. It
transfers given
number of bytes from client to server, using large 1 MByte buffers for
transmit/receive -
se attached source file for details.

;----The LX-100 devboard was acting as a server:
[root@Lx100-Zoka /]49# tcp_perf -s 5000
Waiting for client connection
Connected to client
Time to receive 100000000 bytes was 31 seconds (3225806 bytes/sec)
Waiting for client connection

;----The Linux PC (Celeron 400) was acting as a client:
[zoka@xxxxxxx.99 5000 100000000
Connecting to 192.168.0.99:5000...
Connected!
100000000 bytes sent Ok

This is rather slow performance - if the test is done between 2 PCs running
either
Linux or Win2k the result is around 8 MByte/sec. I suspected that devboard
is not so fast due to 16 bit wide EDO system memory, so I added option to
tcp_perf
to test the memory throughput:

;------- This shows the Lx100 cache performance
[root@Lx100-Zoka /]49# tcp_perf -m 1000 1000000
Copy 1000000 blocks of 1000 bytes ...
Time to copy 1000000000 bytes was 7 seconds (142857142 bytes/sec)

;------- This shows the EDO DRAM performance
[root@Lx100-Zoka /]49# tcp_perf -m 1000000 1000
Copy 1000 blocks of 1000000 bytes ...
Time to copy 1000000000 bytes was 93 seconds (10752688 bytes/sec)

It would be good if someone could run above tests on Lx100
with 32 bit wide SDRAM system memory.

Any comments & suggestions how to improve Ethernet & TCP  throughput are
welcome.

Regards
Zoran








tcp_perf.c