Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Beyers Cronje

Pages: [1]
1
Hardware / Re: Identifying System Bottlenecks
« on: May 13, 2015, 02:32:05 PM »
The maximum throughput of a TCP session is expressed as:
Code: [Select]
TCP-Window-Size-in-bits / Latency-in-seconds = Bits-per-second-throughput
Without window scaling, the maximum window size is 64KB. Given a 15ms RTT and default 64KB window, the maximum TCP throughput is:

Code: [Select]
Window size = 64KB = 65536 Bytes.   65536 * 8 = 524288 bits
15ms RTT = 0.015 seconds
524288 / 0.015 = 34.95 Mbps

So the maximum throughput on a single TCP session over WAN link with 15ms RTT will be less than 34.95 Mbps
The throughput drops significantly the higher the RTT gets.

Some more information on TCP performance at http://en.wikipedia.org/wiki/TCP_tuning

You run iperf on both ends on the LAN, so on a Windows or Linux box. One side runs as the client while the other runs as the server. iperf is just a command line tool, and is available for Windows, Linux and OSX. Using iperf you can manually set the TCP windows size as well as number of threads to run, or you can use it to send UDP stream at a given rate. This will help to see what the theoretical maximum throughput of your WAN link is.

Edit: to emphasize window scaling, which most stacks support.

2
Hardware / Re: Identifying System Bottlenecks
« on: May 12, 2015, 10:05:58 PM »
Hi Jeremy,

We are indeed working on performance optimizations, the first of which should be available in the next major release. We have some really exciting developments in the pipeline.

That said, reviewing your particular test case I have a strong suspicion that you are hitting TCP throughput limitations like poorly performing or faulty window scaling. This can easily be verified or ruled out using iperf. We are happy to help set such a test up with you.

Beyers

Pages: [1]