[OmniOS-discuss] Slow CIFS Writes when using Moca 2.0 Adapter

Mini Trader miniflowtrader at gmail.com
Thu Jan 28 18:39:11 UTC 2016


I also tried the following.  Which seems to have improved iperf speeds.
But I am still getting the same CIFS speeds.

root at storage1:/var/web-gui/data/tools/iperf# ipadm set-prop -p
recv_buf=1048576 tcp
root at storage1:/var/web-gui/data/tools/iperf# ipadm set-prop -p
send_buf=1048576 tcp
root at storage1:/var/web-gui/data/tools/iperf# ipadm set-prop -p
max_buf=4194304 tcp


------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  977 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to storage1.midway, TCP port 5001
TCP window size:  977 KByte
------------------------------------------------------------
[  4] local 10.255.0.141 port 33452 connected with 10.255.0.15 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec   106 MBytes   892 Mbits/sec
[  4]  1.0- 2.0 sec   111 MBytes   928 Mbits/sec
[  4]  2.0- 3.0 sec   108 MBytes   904 Mbits/sec
[  4]  3.0- 4.0 sec   109 MBytes   916 Mbits/sec
[  4]  4.0- 5.0 sec   110 MBytes   923 Mbits/sec
[  4]  5.0- 6.0 sec   110 MBytes   919 Mbits/sec
[  4]  6.0- 7.0 sec   110 MBytes   919 Mbits/sec
[  4]  7.0- 8.0 sec   105 MBytes   884 Mbits/sec
[  4]  8.0- 9.0 sec   109 MBytes   915 Mbits/sec
[  4]  9.0-10.0 sec   111 MBytes   928 Mbits/sec
[  4]  0.0-10.0 sec  1.06 GBytes   912 Mbits/sec
[  4] local 10.255.0.141 port 5001 connected with 10.255.0.15 port 50899
[  4]  0.0- 1.0 sec  97.5 MBytes   818 Mbits/sec
[  4]  1.0- 2.0 sec   110 MBytes   923 Mbits/sec
[  4]  2.0- 3.0 sec  49.3 MBytes   414 Mbits/sec
[  4]  3.0- 4.0 sec  98.0 MBytes   822 Mbits/sec
[  4]  4.0- 5.0 sec  96.7 MBytes   811 Mbits/sec
[  4]  5.0- 6.0 sec  99.7 MBytes   836 Mbits/sec
[  4]  6.0- 7.0 sec   103 MBytes   861 Mbits/sec
[  4]  7.0- 8.0 sec   101 MBytes   851 Mbits/sec
[  4]  8.0- 9.0 sec   104 MBytes   876 Mbits/sec
[  4]  9.0-10.0 sec   104 MBytes   876 Mbits/sec
[  4]  0.0-10.0 sec   966 MBytes   808 Mbits/sec

root at storage1:/var/web-gui/data/tools/iperf# ipadm reset-prop -p recv_buf
tcp
root at storage1:/var/web-gui/data/tools/iperf# ipadm reset-prop -p send_buf
tcp
root at storage1:/var/web-gui/data/tools/iperf# ipadm reset-prop -p max_buf tcp

------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  977 KByte
------------------------------------------------------------
------------------------------------------------------------
Client connecting to storage1.midway, TCP port 5001
TCP window size:  977 KByte
------------------------------------------------------------
[  4] local 10.255.0.141 port 33512 connected with 10.255.0.15 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 1.0 sec  35.2 MBytes   296 Mbits/sec
[  4]  1.0- 2.0 sec  35.0 MBytes   294 Mbits/sec
[  4]  2.0- 3.0 sec  34.2 MBytes   287 Mbits/sec
[  4]  3.0- 4.0 sec  33.4 MBytes   280 Mbits/sec
[  4]  4.0- 5.0 sec  34.1 MBytes   286 Mbits/sec
[  4]  5.0- 6.0 sec  35.2 MBytes   296 Mbits/sec
[  4]  6.0- 7.0 sec  35.4 MBytes   297 Mbits/sec
[  4]  7.0- 8.0 sec  34.4 MBytes   288 Mbits/sec
[  4]  8.0- 9.0 sec  35.0 MBytes   294 Mbits/sec
[  4]  9.0-10.0 sec  33.4 MBytes   280 Mbits/sec
[  4]  0.0-10.0 sec   346 MBytes   289 Mbits/sec
[  4] local 10.255.0.141 port 5001 connected with 10.255.0.15 port 41435
[  4]  0.0- 1.0 sec  57.6 MBytes   483 Mbits/sec
[  4]  1.0- 2.0 sec  87.2 MBytes   732 Mbits/sec
[  4]  2.0- 3.0 sec  99.3 MBytes   833 Mbits/sec
[  4]  3.0- 4.0 sec  99.5 MBytes   835 Mbits/sec
[  4]  4.0- 5.0 sec   100 MBytes   842 Mbits/sec
[  4]  5.0- 6.0 sec   103 MBytes   866 Mbits/sec
[  4]  6.0- 7.0 sec   100 MBytes   840 Mbits/sec
[  4]  7.0- 8.0 sec  98.7 MBytes   828 Mbits/sec
[  4]  8.0- 9.0 sec   101 MBytes   847 Mbits/sec
[  4]  9.0-10.0 sec   105 MBytes   882 Mbits/sec
[  4]  0.0-10.0 sec   954 MBytes   799 Mbits/sec


On Thu, Jan 28, 2016 at 11:34 AM, Mini Trader <miniflowtrader at gmail.com>
wrote:

> Thank you for all the responses! Ive run some more detailed tests using
> iperf 2.  The results that I see are inline with the transfer rates so they
> describe the behavior that I am seeing.
>
> Note I used a laptop on same connection as desktop.  So that there would
> be a basis to compare it to the Desktop.
>
> For some reason the laptop has a limit of around 500-600 mbit/sec for its
> downloads, regardless the test still seem to show the behavior
> that I am seeing.  Note that Linux does not seem to have the same issues
> where OmniOS does.  Additionally OmniOS does not have the issue
> when using a direct ethernet connection.  One thing I can say about Linux
> is that its downloads on the adapters are less than its uploads which
> is the complete opposite as OmniOS.  This Linux behavior is not seen when
> using ethernet.
>
> Both Linux and OmniOS are running on ESXi 6U1.  OmniOS is using the vmxnet
> driver.
>
> The adapters being used are Adaptec ECB6200.  These are bonded Moca 2.0
> adapters and are running the latest firmware.
>
> Source Machine: Desktop
> Connection: Adapter
> Windows <-> OmniOS
>
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to storage1, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.141 port 31595 connected with 10.255.0.15 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec  34.9 MBytes   293 Mbits/sec
> [  4]  1.0- 2.0 sec  35.0 MBytes   294 Mbits/sec
> [  4]  2.0- 3.0 sec  35.2 MBytes   296 Mbits/sec
> [  4]  3.0- 4.0 sec  34.4 MBytes   288 Mbits/sec
> [  4]  4.0- 5.0 sec  34.5 MBytes   289 Mbits/sec
> [  4]  0.0- 5.0 sec   174 MBytes   292 Mbits/sec
> [  4] local 10.255.0.141 port 5001 connected with 10.255.0.15 port 33341
> [  4]  0.0- 1.0 sec  46.2 MBytes   388 Mbits/sec
> [  4]  1.0- 2.0 sec   101 MBytes   849 Mbits/sec
> [  4]  2.0- 3.0 sec   104 MBytes   872 Mbits/sec
> [  4]  3.0- 4.0 sec   101 MBytes   851 Mbits/sec
> [  4]  4.0- 5.0 sec   102 MBytes   855 Mbits/sec
> [  4]  0.0- 5.0 sec   457 MBytes   763 Mbits/sec
>
> Source Machine: Desktop
> Connection: Adapter
> Windows <-> Linux
>
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to media.midway, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.141 port 31602 connected with 10.255.0.73 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec   108 MBytes   902 Mbits/sec
> [  4]  1.0- 2.0 sec   111 MBytes   929 Mbits/sec
> [  4]  2.0- 3.0 sec   111 MBytes   928 Mbits/sec
> [  4]  3.0- 4.0 sec   106 MBytes   892 Mbits/sec
> [  4]  4.0- 5.0 sec   109 MBytes   918 Mbits/sec
> [  4]  0.0- 5.0 sec   545 MBytes   914 Mbits/sec
> [  4] local 10.255.0.141 port 5001 connected with 10.255.0.73 port 55045
> [  4]  0.0- 1.0 sec  67.0 MBytes   562 Mbits/sec
> [  4]  1.0- 2.0 sec  75.6 MBytes   634 Mbits/sec
> [  4]  2.0- 3.0 sec  75.1 MBytes   630 Mbits/sec
> [  4]  3.0- 4.0 sec  74.5 MBytes   625 Mbits/sec
> [  4]  4.0- 5.0 sec  75.7 MBytes   635 Mbits/sec
> [  4]  0.0- 5.0 sec   368 MBytes   616 Mbits/sec
>
>
> Machine: Laptop
> Connection: Adapter
> Windows <-> OmniOS Notice same issue with 35mb cap.
>
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to storage1.midway, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.54 port 57487 connected with 10.255.0.15 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec  35.5 MBytes   298 Mbits/sec
> [  4]  1.0- 2.0 sec  35.0 MBytes   294 Mbits/sec
> [  4]  2.0- 3.0 sec  35.0 MBytes   294 Mbits/sec
> [  4]  3.0- 4.0 sec  34.2 MBytes   287 Mbits/sec
> [  4]  4.0- 5.0 sec  33.9 MBytes   284 Mbits/sec
> [  4]  0.0- 5.0 sec   174 MBytes   291 Mbits/sec
> [  4] local 10.255.0.54 port 5001 connected with 10.255.0.15 port 40779
> [  4]  0.0- 1.0 sec  28.8 MBytes   242 Mbits/sec
> [  4]  1.0- 2.0 sec  55.8 MBytes   468 Mbits/sec
> [  4]  2.0- 3.0 sec  43.7 MBytes   366 Mbits/sec
> [  4]  3.0- 4.0 sec  50.7 MBytes   425 Mbits/sec
> [  4]  4.0- 5.0 sec  52.7 MBytes   442 Mbits/sec
> [  4]  0.0- 5.0 sec   233 MBytes   389 Mbits/sec
>
> Machine: Laptop
> Connection: Adapter
> Windows <-> Linux (not issue on upload, same as desktop)
>
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to media.midway, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.54 port 57387 connected with 10.255.0.73 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec   110 MBytes   919 Mbits/sec
> [  4]  1.0- 2.0 sec   110 MBytes   920 Mbits/sec
> [  4]  2.0- 3.0 sec   110 MBytes   921 Mbits/sec
> [  4]  3.0- 4.0 sec   110 MBytes   923 Mbits/sec
> [  4]  4.0- 5.0 sec   110 MBytes   919 Mbits/sec
> [  4]  0.0- 5.0 sec   548 MBytes   919 Mbits/sec
> [  4] local 10.255.0.54 port 5001 connected with 10.255.0.73 port 52723
> [  4]  0.0- 1.0 sec  49.8 MBytes   418 Mbits/sec
> [  4]  1.0- 2.0 sec  55.1 MBytes   462 Mbits/sec
> [  4]  2.0- 3.0 sec  55.1 MBytes   462 Mbits/sec
> [  4]  3.0- 4.0 sec  53.6 MBytes   449 Mbits/sec
> [  4]  4.0- 5.0 sec  56.9 MBytes   477 Mbits/sec
> [  4]  0.0- 5.0 sec   271 MBytes   454 Mbits/sec
>
> Machine: Laptop
> Connection: Ethernet
> Windows <-> OmniOS (No issues on upload)
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to storage1.midway, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.54 port 57858 connected with 10.255.0.15 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec   113 MBytes   950 Mbits/sec
> [  4]  1.0- 2.0 sec   111 MBytes   928 Mbits/sec
> [  4]  2.0- 3.0 sec   109 MBytes   912 Mbits/sec
> [  4]  3.0- 4.0 sec   111 MBytes   931 Mbits/sec
> [  4]  4.0- 5.0 sec   106 MBytes   889 Mbits/sec
> [  4]  0.0- 5.0 sec   550 MBytes   921 Mbits/sec
> [  4] local 10.255.0.54 port 5001 connected with 10.255.0.15 port 42565
> [  4]  0.0- 1.0 sec  38.4 MBytes   322 Mbits/sec
> [  4]  1.0- 2.0 sec  68.9 MBytes   578 Mbits/sec
> [  4]  2.0- 3.0 sec  67.7 MBytes   568 Mbits/sec
> [  4]  3.0- 4.0 sec  66.7 MBytes   559 Mbits/sec
> [  4]  4.0- 5.0 sec  63.2 MBytes   530 Mbits/sec
> [  4]  0.0- 5.0 sec   306 MBytes   513 Mbits/sec
>
> Machine: Laptop
> Connection: Ethernet
> Windows <-> Linux (Exact same speeds this time as OmnioOS)
> ------------------------------------------------------------
> Server listening on TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> ------------------------------------------------------------
> Client connecting to media.midway, TCP port 5001
> TCP window size:  977 KByte
> ------------------------------------------------------------
> [  4] local 10.255.0.54 port 57966 connected with 10.255.0.73 port 5001
> [ ID] Interval       Transfer     Bandwidth
> [  4]  0.0- 1.0 sec   110 MBytes   920 Mbits/sec
> [  4]  1.0- 2.0 sec   111 MBytes   932 Mbits/sec
> [  4]  2.0- 3.0 sec   111 MBytes   931 Mbits/sec
> [  4]  3.0- 4.0 sec   108 MBytes   902 Mbits/sec
> [  4]  4.0- 5.0 sec   106 MBytes   887 Mbits/sec
> [  4]  0.0- 5.0 sec   545 MBytes   913 Mbits/sec
> [  4] local 10.255.0.54 port 5001 connected with 10.255.0.73 port 52726
> [  4]  0.0- 1.0 sec  63.4 MBytes   532 Mbits/sec
> [  4]  1.0- 2.0 sec  62.9 MBytes   528 Mbits/sec
> [  4]  2.0- 3.0 sec  66.7 MBytes   560 Mbits/sec
> [  4]  3.0- 4.0 sec  65.3 MBytes   548 Mbits/sec
> [  4]  4.0- 5.0 sec  66.8 MBytes   560 Mbits/sec
> [  4]  0.0- 5.0 sec   326 MBytes   545 Mbits/sec
>
>
> On Wed, Jan 27, 2016 at 10:35 PM, Bob Friesenhahn <
> bfriesen at simple.dallas.tx.us> wrote:
>
>> On Wed, 27 Jan 2016, Mini Trader wrote:
>>
>> Slow CIFS Writes when using Moca 2.0 Adapter.
>>>
>>> I am experiencing this only under OmniOS.  I do not see this in Windows
>>> or Linux.
>>>
>>> I have a ZFS CIFS share setup which can easily do writes that would
>>> saturate a 1GBe connection.
>>>
>>> My problem appears to be related somehow to the interaction between
>>> OmniOS and ECB6200 Moca 2.0 adapters.
>>>
>>> 1. If I write to my OmniOS CIFS share using ethernet my speeds up/down
>>> are around 110 mb/sec - good
>>>
>>> 2. If I write to my share using the same source but over the adapter my
>>> speeds are around 35mb/sec - problem
>>>
>>
>> MoCA has a 3.0+ millisecond latency (I typically see 3.5ms when using
>> ping).  This latency is fairly large compared with typical hard drive
>> latencies and vastly higher than Ethernet.  There is nothing which can be
>> done about this latency.
>>
>> Unbonded MoCA 2.0 throughput for streaming data is typically
>> 500Mbit/second, and bonded (two channels) MoCA 2.0 doubles that (the
>> claimed specs are of course higher than this and higher speeds can be
>> measured under ideal conditions).  This means that typical MoCA 2.0 (not
>> bonded) achieves a bit less than half of what gigabit Ethernet achieves
>> when streaming data over TCP.
>>
>> 3. If I read from the share using the same device over the adapter my
>>> speeds are around 110mb/sec - good
>>>
>>
>> Reading is normally more of a streaming operation so the TCP will stream
>> rather well.
>>
>> 4. If I setup a share on a Windows machine and write to it from the same
>>> source using the  adapter the speeds are
>>> around 110mb/sec.  The Windows machine is actually a VM whos disks are
>>> backed by a ZFS NFS share on the same
>>> machine
>>>
>>
>> This seems rather good. Quite a lot depends on what the server side
>> does.  If it commits each write to disk before accepting more, then the
>> write speed would suffer.
>>
>> So basically the issue only takes place when writing to the OmniOS CIFS
>>> share using the adapter, if the adapter is
>>> not used than the write speed is perfect.
>>>
>>
>> If the MoCA adaptor supports bonded mode, then it is useful to know that
>> usually bonded mode needs to be enabled.  Is it possible that the Windows
>> driver is enabling bonded mode but the OmniOS driver does not?
>>
>> Try running a TCP streaming benchmark (program to program) to see what
>> the peak network throughput is in each case.
>>
>> Any ideas why/how a Moca 2.0 adapter which is just designed to convert an
>>> ethernet  signal to a coax and back to
>>> ethernet  would cause issues with writes on OmniOS when the exact same
>>> share has no issues when using an actual
>>> ethernet connection?  More importantly, why is this happening with
>>> OmniOS CIFS and not anything else?
>>>
>>
>> Latency, synchronous writes, and possibly bonding not enabled.  Also,
>> OmniOS r151016 or later is need to get the latest CIFS implementation
>> (based on Nexenta changes), which has been reported on this list to be
>> quite a lot faster than the older one.
>>
>> Bob
>> --
>> Bob Friesenhahn
>> bfriesen at simple.dallas.tx.us,
>> http://www.simplesystems.org/users/bfriesen/
>> GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://omniosce.org/ml-archive/attachments/20160128/8bae10ba/attachment-0001.html>


More information about the OmniOS-discuss mailing list