Hi there,
I've been fighting with a strange issue.
So, I have a Windows test machine, and when I test with iperf3 I get quite different performance when testing against one Linux machine than when I test to another one.
Important Note:
Both Linux machines are host in quite different environments. Both run over KVM, but on is using Openvswitch for network access while the other uses a linux bridge.
I know it would make sense to test using more similar environments, but on one side our setup is quite complex, and on the other hand I'm are trying to find out the root issue. I mean, I'm trying to get the same speed against both Linux machines, no matter in which environment they run.
After all the tests we have been doing, looks like by some strange reason, the Windows test machine when running iperf does not try to send at the same rate to both machines.
We've been comparing the Linux machines for a while, from ethtool to sysctl (And also the hypervisors hosting them) but we cannot find a difference that changes the result.
This is a iperf3 against the machine that performs as expected:
https://www.dropbox.com/s/hbv6hngkwikthwa/good_perf.PNG
And this is the one with bad performance:
https://www.dropbox.com/s/9rw8dlw80l70dls/bad_perf.PNG
As you can see, the first one behaves as I would expect. It keeps increasing the transfer speed until it goes back down a little bit and then tries to increase it again.
The one with bad performances, just seems to keep a rate, without really trying to go faster.
Does this kind of behavior remind you of anything you may have encountered before?
I've been trying to pinpoint the issue for the whole week, and I'm starting to run out of ideas.
Also, we tried with other windows machines, and looks like the lower the ping the faster the iperf performs. Which would mean it's a windows size or windows scaling factor issue, but as far as I can see it is not as the windows size on the bad performance machine seems to be quite high.
Any ideas?
Thanks!
No comments:
Post a Comment