| 1 | [[PageOutline]] |
| 2 | |
| 3 | = Why do I see poor bandwidth on my stitched links with iperf? = |
| 4 | Answer (provided by Nick Bastin): |
| 5 | |
| 6 | The window size is way too small if you want single-flow throughput to be high, particularly given the latency in WAN connections (the resultant bandwidth delay product will be much too high for iperf's default window sizes). |
| 7 | |
| 8 | You simply need to set the window size larger on both the server and client and your performance should be better for a single flow, regardless of raw-pc or xen VM. (The default raw PC window size is likely a lot larger, hiding this problem, but if you want deterministic performance from iperf you always need to set the window sizes you're going to use, otherwise it makes a guess at a default that is going to be highly intolerant of any latency in your connection). |
| 9 | |
| 10 | Barring any other shaping going on, the throughput you're getting with a 23.5K window means you have a connection with roughly 12ms of delay. To get 100 Mbits (or close to it) on this connection, you'd need a window size of 150K or larger (and make sure your buffer sizes on both end can support that large of a window). |
| 11 | |
| 12 | Brecht Vermeulen adds: |
| 13 | typically also handy in debugging link performance is to throw in an UDP iperf to see what is possible on the links and when packet loss begins to start: |
| 14 | server side: iperf -s -u |
| 15 | client side: iperf -c xxx -b 50M |
| 16 | |
| 17 | so you can vary bandwidth and packet size and see what happens |
| 18 | |
| 19 | For the whole thread that lead to this discussion see: |
| 20 | https://groups.google.com/d/msg/geni-users/Pqgs_BpSZPc/3LOLHwrkbPYJ |
| 21 | |
| 22 | = Should I use a raw PC for my experiment? = |
| 23 | Many aggregates in GENI have only a couple of raw PCs and thus are a scarce resource, since when a user reserves one, no one else can use them. Moreover, some AMs have policies in place that do not allow a user to renew slivers with raw PCs for a long time. |
| 24 | |
| 25 | When you are designing your experiment only include a raw PC if you absolutely need to. In most cases you can do everything you want with a Virtual Machine (VM). This way you will leave the raw PCs to experimenters that really need them. If you are not sure if a VM is appropriate for your experiment don't hesitate to send an email to geni-users@googlegroups.com. |