<div dir="ltr"><div>I can't say I totally agree with your performance assessment.   I run Intel X520 in all my OmniOS boxes.   <br><br>Here is a capture of nfssvrtop I made while running many storage vMotions between two OmniOS boxes hosting NFS datastores.   This is a 10 host VMware cluster.  Both OmniOS boxes are dual 10G connected with copper twin-ax to the in rack Nexus 5010.   <br><br></div><div>VMware does 100% sync writes, I use ZeusRAM SSDs for log devices.<br></div><div><br></div>-Chip<br><div><br><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">2014 Apr 24 08:05:51, load: 12.64, read: 17330243 KB, swrite: 15985    KB, awrite: 1875455  KB</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">Ver     Client           NFSOPS   Reads SWrites AWrites Commits   Rd_bw  SWr_bw  AWr_bw    Rd_t   SWr_t   AWr_t   Com_t  Align%</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">4       10.28.17.105          0       0       0       0       0       0       0       0       0       0       0       0       0</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">4       10.28.17.215          0       0       0       0       0       0       0       0       0       0       0       0       0</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">4       10.28.17.213          0       0       0       0       0       0       0       0       0       0       0       0       0</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">4       10.28.16.151          0       0       0       0       0       0       0       0       0       0       0       0       0</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">4       all                   1       0       0       0       0       0       0       0       0       0       0       0       0</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.175          3       0       3       0       0       1      11       0    4806      48       0       0      85</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.183          6       0       6       0       0       3     162       0     549     124       0       0      73</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.180         11       0      10       0       0       3      27       0     776      89       0       0      67</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.176         28       2      26       0       0      10     405       0    2572     198       0       0     100</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.178       4606    4602       4       0       0  294534       3       0     723      49       0       0      99</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.179       4905    4879      26       0       0  312208     311       0     735     271       0       0      99</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.181       5515    5502      13       0       0  352107      77       0      89      87       0       0      99</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.16.184      12095   12059      10       0       0  763014      39       0     249     147       0       0      99</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       10.28.58.1        15401    6040     116    6354      53  191605     474  202346     192      96     144      83      99</span></font></p><font size="1">
</font><p class="MsoNormal"><font size="1"><span style="font-family:"Courier New"">3       all               42574   33086     217    6354      53
<b><span style="color:red">1913488</span></b>    1582  <span style="color:red">202300</span>     348     138     153     105      99</span></font></p>
<p class="MsoNormal"> </p><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 11:46 PM, W Verb <span dir="ltr"><<a href="mailto:wverb73@gmail.com" target="_blank">wverb73@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hello All,<br><br></div>Thank you for your replies.<br></div>I tried a few things, and found the following:<br><br></div>1: Disabling hyperthreading support in the BIOS drops performance overall by a factor of 4.<br></div>2: Disabling VT support also seems to have some effect, although it appears to be minor. But this has the amusing side effect of fixing the hangs I've been experiencing with fast reboot. Probably by disabling kvm.<br></div>3: The performance tests are a bit tricky to quantify because of caching effects. In fact, I'm not entirely sure what is happening here. It's just best to describe what I'm seeing:<br><br></div>The commands I'm using to test are <br>dd if=/dev/zero of=./test.dd bs=2M count=5000<br></div>dd of=/dev/null if=./test.dd bs=2M count=5000<br></div>The host vm is running Centos 6.6, and has the latest vmtools installed. There is a host cache on an SSD local to the host that is also in place. Disabling the host cache didn't immediately have an effect as far as I could see.<br><br></div>The host MTU set to 3000 on all iSCSI interfaces for all tests.<br><br></div>Test 1: Right after reboot, with an ixgbe MTU of 9000, the write test yields an average speed over three tests of 137MB/s. The read test yields an average over three tests of 5MB/s.<br><br></div>Test 2: After setting "ifconfig ixgbe0 mtu 3000", the write tests yield 140MB/s, and the read tests yield 53MB/s. It's important to note here that if I cut the read test short at only 2-3GB, I get results upwards of 350MB/s, which I assume is local cache-related distortion.<br><br></div>Test 3: MTU of 1500. Read tests are up to 156 MB/s. Write tests yield about 142MB/s. </div>Test 4: MTU of 1000: Read test at 182MB/s.<br></div>Test 5: MTU of 900: Read test at 130 MB/s.<br></div>Test 6: MTU of 1000: Read test at 160MB/s. Write tests are now consistently at about 300MB/s.<br></div>Test 7: MTU of 1200: Read test at 124MB/s.<br></div>Test 8: MTU of 1000: Read test at 161MB/s. Write at 261MB/s.<br><br></div>A few final notes:<br></div>L1ARC grabs about 10GB of RAM during the tests, so there's definitely some read caching going on.<br></div>The write operations are easier to observe with iostat, and I'm seeing io rates that closely correlate with the network write speeds.<br><br><br></div><div>Chris, thanks for your specific details. I'd appreciate it if you could tell me which copper NIC you tried, as well as to pass on the iSCSI tuning parameters.<br><br></div><div>I've ordered an Intel <span style="font-size:11pt;font-family:"Calibri","sans-serif"">EXPX9502AFXSR, which uses the 82598 chip instead of the 82599 in the X520. If I get similar results with my fiber transcievers, I'll see if I can get a hold of copper ones.<br><br></span></div><div><span style="font-size:11pt;font-family:"Calibri","sans-serif"">But I should mention that I did indeed look at PHY/MAC error rates, and they are nil.<br></span></div><div><br></div>-Warren V<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 20, 2015 at 7:25 PM, Chris Siebenmann <span dir="ltr"><<a href="mailto:cks@cs.toronto.edu" target="_blank">cks@cs.toronto.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>> After installation and configuration, I observed all kinds of bad behavior<br>
> in the network traffic between the hosts and the server. All of this bad<br>
> behavior is traced to the ixgbe driver on the storage server. Without going<br>
> into the full troubleshooting process, here are my takeaways:<br>
</span>[...]<br>
<br>
 For what it's worth, we managed to achieve much better line rates on<br>
copper 10G ixgbe hardware of various descriptions between OmniOS<br>
and CentOS 7 (I don't think we ever tested OmniOS to OmniOS). I don't<br>
believe OmniOS could do TCP at full line rate but I think we managed 700+<br>
Mbytes/sec on both transmit and receive and we got basically disk-limited<br>
speeds with iSCSI (across multiple disks on multi-disk mirrored pools,<br>
OmniOS iSCSI initiator, Linux iSCSI targets).<br>
<br>
 I don't believe we did any specific kernel tuning (and in fact some of<br>
our attempts to fiddle ixgbe driver parameters blew up in our face).<br>
We did tune iSCSI connection parameters to increase various buffer<br>
sizes so that ZFS could do even large single operations in single iSCSI<br>
transactions. (More details available if people are interested.)<br>
<span><br>
> 10: At the wire level, the speed problems are clearly due to pauses in<br>
> response time by omnios. At 9000 byte frame sizes, I see a good number<br>
> of duplicate ACKs and fast retransmits during read operations (when<br>
> omnios is transmitting). But below about a 4100-byte MTU on omnios<br>
> (which seems to correlate to 4096-byte iSCSI block transfers), the<br>
> transmission errors fade away and we only see the transmission pause<br>
> problem.<br>
<br>
</span> This is what really attracted my attention. In our OmniOS setup, our<br>
specific Intel hardware had ixgbe driver issues that could cause<br>
activity stalls during once-a-second link heartbeat checks. This<br>
obviously had an effect at the TCP and iSCSI layers. My initial message<br>
to illumos-developer sparked a potentially interesting discussion:<br>
<br>
<a href="http://www.listbox.com/member/archive/182179/2014/10/sort/time_rev/page/16/entry/6:405/20141003125035:6357079A-4B1D-11E4-A39C-D534381BA44D/" target="_blank">http://www.listbox.com/member/archive/182179/2014/10/sort/time_rev/page/16/entry/6:405/20141003125035:6357079A-4B1D-11E4-A39C-D534381BA44D/</a><br>
<br>
If you think this is a possibility in your setup, I've put the DTrace<br>
script I used to hunt for this up on the web:<br>
<br>
        <a href="http://www.cs.toronto.edu/~cks/src/omnios-ixgbe/ixgbe_delay.d" target="_blank">http://www.cs.toronto.edu/~cks/src/omnios-ixgbe/ixgbe_delay.d</a><br>
<br>
This isn't the only potential source of driver stalls by any means, it's<br>
just the one I found. You may also want to look at lockstat in general,<br>
as information it reported is what led us to look specifically at the<br>
ixgbe code here.<br>
<br>
(If you suspect kernel/driver issues, lockstat combined with kernel<br>
source is a really excellent resource.)<br>
<br>
        - cks<br>
</blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
OmniOS-discuss mailing list<br>
<a href="mailto:OmniOS-discuss@lists.omniti.com">OmniOS-discuss@lists.omniti.com</a><br>
<a href="http://lists.omniti.com/mailman/listinfo/omnios-discuss" target="_blank">http://lists.omniti.com/mailman/listinfo/omnios-discuss</a><br>
<br></blockquote></div><br></div>