PDA

View Full Version : Good approach to network performance measurements


vonaldinjo
05-26-2003, 09:23 AM
Hello,

I am trying to get the throughput available for message transfer using ATM as well as Gbps ethernet between two computers for messages of different sizes. For each message size I repeat the experiment (send message, read at the other side and find out the time taken) several times. For each message size, the time taken most of the time falls within some range but sometimes (like once in 5 times) the time taken will be some huge value, way out of the range. I wonder whether to simply find out the average of all measurements or to exclude these 'surges ' in delay and find the average of only those values falling in some range? How should I do it?

with ethernet , using TCP sockets, the delay for small messages like less than 100 chars, varies so much in each instance that i feel that an average will not reflect the reality. How to do it ?

Anders Goude
05-26-2003, 03:49 PM
When you use TCP, have you disabled the Nagle algorithm?

Some other questions. How often do you send packages? Will it cause a high network load or not?
Which protocol do you use? Can it be when packages don't reach it's destination the big dely happens?

mlampkin
05-26-2003, 08:35 PM
Quick addition to the above...

Not 100% certain about the question... is it pure ATM or TCP which is then being bridged between ATM nodes? Assuming the latter since you mentioned both...

Disabling Nagles will assure that all sends are done as quickly as possible instead of attempting to coalesce them... but you could then be hit by the TCP delayed ACK stuff... which does (to a degree) the same thing on the recving side for acknowledgements that Nagles does on the transmit side for the actual data...

Btw... the RFCs say the delayed ACK timer should be set at 500 ms or less... and most set it to 200 ms... which leads one to think that the delay would be small... but without going into the horrible details, that is not always true...

Also, I do not believe there is yet a standard interface for manipulating whether delayed acks are on or off... so the next question would be to inquire what OS you are running on... and maybe one of us could dig up the info for you...

Michael

vonaldinjo
05-27-2003, 07:58 AM
I am using Linux 2.4.18 on both computers. They are connected directly by optical fiber as well as ethernet cable because I am doing some performance measurements for ATM as well as ethernet. I use sockets to send messages. It is a 'standalone' network. THere is no other traffic in the network other than the messages I sent (AFAIK). There has never been any packet loss so far except for the huge leaps in the round trip time taken sometimes.

If there is huge variation in the time measured, would a big number of iterations can be considered reliable?

By the way, can the kernel be preventing packet loss somehow? Is there a way to findout this somehow?

vonaldinjo
05-27-2003, 03:10 PM
I forgot to mention that I do send a lot of messages. Frequency depends on the speed of send(). I use send() in a loop for a fixed number of times like 100 and msg size varies from 1 char to 50,000 chars