[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lwip-users] again: throughput problem
From: |
kuschel |
Subject: |
[lwip-users] again: throughput problem |
Date: |
Fri, 26 Mar 2004 13:35:30 +0100 |
Hi Kieran,
thanks for your hints. I have changed my configuration and I could raise the
throughput (I had to increase the parameter TCP_SND_QUEUELEN). I have also
tried the other options, including window and send buffer size, but now I have
reached a new limit: The throughput is on my MS Windows NT4 SP6 based client
exactly 1 MByte/second. When MS Windows is too busy, the throughput drops down
to exactly 1/2 MByte/second. Again, the same like my last post, I can open
multiple connections with 1MByte/sec to reach a maximum of 58MBit/s. But now it
seems to me that MS Windows is the limmiting factor. Has anyone experience with
this?
My settings are now:
/* TCP receive window. */
#define TCP_WND 32768
/* TCP Maximum segment size. */
#define TCP_MSS 16384
/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF 32768
Does it make sense to raise the TCP_SND_BUF size again? Is there any "optimal"
set of settings (rule of thumb?) to reach maximum throughput?
My target is a PowerPC with 400MHz, 128MB RAM, uCOS-II and Gigabit Ethernet.
To point 1 (possible mailbox bug in the message api) of my last post:
This "bug" does no more appear since I have changed the lwip options.
But sometimes I get the assertion "pbuf_free: p->ref > 0" failed (pbuf.c), the
same one people had posted before. My function calls to lwip are all serialized
(one task feeds data into the sockets (chargen.c), the TCP/IP-task does the
protocol and the timeouts, and one task feeds data from the network into lwip,
the etharp.c is additionally protected by a semaphore), so I think this could
be a problem of lwip.
Dennis
On Mon, 2004-03-22 at 11:27, address@hidden wrote:
> Hi all!
>
> I have two problems:
>
> 1. Possible mailbox bug in the message api
> 2. Throughput problem
I'm not sure about number 1, so I'll jump straight to number 2:
>
> 2. Throughput problem
> ---------------------
>
> I am running lwIP on a PowerPC 440GP at 400MHz with uCOS-II.
> For our application I need a throughput of at least 35 MBit/s.
> The throughput I get is only 7.6 kB/s per connection. I can
> open multiple connections each running at 7.6 kB/s while the
> PowerPC is still lazy at 3% CPU usage. Has anybody observed
> the same behaviour? I have tried to increase the tcp timer
> rate but without luck. I am using chargen.c from the lwIP
> contribution package for my test
If you can achieve the required throughput using multiple connections,
it sounds like the window size or the send buffer size of each
connection is the limiting factor. Try increasing the settings for
these in lwipopts.h If you know the round trip time of your network you
can calculate the theoretical values needed for the throughput you
require.
Kieran
- [lwip-users] again: throughput problem,
kuschel <=