Jump to content
Covecube Inc.
  • 0
Ka Lam

SMB access slow (high latency) to get started when shared dir is in a Drivepool

Question

Current environment description:

  • Host that has DrivePool installed OS is Win10 Pro 64bit.  DrivePool version 2.2.4.1162.  
  • Client OS is also Win10 Pro 64bit.
  • Both are connected via 1G wired Ethernet by a switch.

The issue:

I have shared out some directory from a pool from the host.  I've always noticed access delay issue, but have worked around the problem for years (> 3, if not 5 years.  The systems back then was running Win 7)

Recently I spend some effort to try to dig into the problem a bit, and here is what I find so far:

On the host, on a drive (t:) that's part of the pool (e:), I create an exact copy of a sub-dir that's part of the pool.
i.e.

E:/Drivepool/TestSubject1

has the same content as

T:/TestSubject2

(size of the sub-dir is around 2.?? GB)

The copy on the host from TestSubject1 to TestSubject2 is "fast" (in the expected 100MB/s range, and the copy start as soon as I drag and drop)
I also share out the TestSubject2 as SMB share.
On the client, I open separate file explore windows to each of the SMB share of the host.  And drag and drop copy from the SMB share TestSubject1 and TestSubject2 to a client local HDD.
The copy from TestSubject1 took 30+ seconds to get start, but once it start, the speed is "normal" (80-90MB/s)
The copy from TestSubject2 started right the way (no 30 seconds pause), and the speed is in the same range (80-90MB/s)


I also have a RDP window open from the client to the host, and I can observe the DrivePool Windows (where I can see the "Disk activity")
During the 30 sec pause, there is no disk activity on the pool, once the copying start (as observed in the copy progress dialog box), then DrivePool windows show activity.

I have search this forums, and noticed a few possibly related posts
https://community.covecube.com/index.php?/topic/3984-pauses-in-file-operations-on-shares-caused-by-drivepool/
and some previous suggestions:
https://wiki.covecube.com/StableBit_DrivePool_Q542215 (I have done this on the host to disable Windows Search indexing)
https://wiki.covecube.com/StableBit_DrivePool_Q7420208 (I didn't do this, as I don't see how this would apply.)

Background:

I start digging into this issue because I have a VM running dietpi (OS) running Plex Server, accessing a music folder via SAMBA to the host (same host as above).  When Plex is scanning the music folder, it took forever (as in many days) and I noticed (by netdata) there is high iowait.  Eventually, I gave up and stop using the SAMBA to access to host, and just make a complete copy of all my music file into the VM that's running, and let Plex re-scan it.  And I notice the night and day different! The same Plex VM also access via SAMBA to my video folder, and it always takes a while (30 sec ish? :P) to start stream my video, but it has no problem streaming content in 1080p or 4k (thus transfer bandwidth is not a problem.)  Which lead me to think, it's a latency issue (takes a long while to start, once it started, it's 'fast')
I always feels that something is "wrong", but until the above Plex music folder experience, I couldn't pinpoint what's wrong.  I also though it's that host, but given I did a re-install of the OS (when I upgraded from Win7 to Win10) and it didn't make a difference.  Then the idea of trying the SMB share on a non-pool drive was tested, and that was 'fast' (latency), then I suspect it has something to do with Drivepool (thus this post). 

Further background:
My drive pool currently has 1x14TB, 3x8TB, 2x4TB HDD, files are mostly 2x duplicated, some sub-folders are 3x duplicated.  The pool has evolved over time, from 4x2TB to mostly 4TB to the current state.

I also use Windows Performance Monitor to observe the host and the client, I got the idea from this webpage from Microsoft.  On the host, I observed "SMB Server" and "SMB Server Sessions" (about Read Bytes/sec, Read Request/Sec, Avg. Read Queue Length, Current Data Queue Length, Current Open File Count, Current Pending Requests...etc).  On the client, I observed "SMB Client Shares" for both TestSubject1 and TestSubject2 (independently) (about Avg Bytes/Read, Avg Data Queue Length, Avg Read Queue Length, Avg. sec/Data Request, Avg. sec/Read, Current Data Queue Length,...etc)  The observation is, during the 'pause', the client side counter has no activity, after the 'pause' (ie, file copy has started), the performance counter of TestSubject1 and TestSubject2's activities are "comparable".  On the host side, the performance counter of SMB Server / Server Sessions are also "no activity" during the pause (but has Data Queue Length of 1) and "normal" looking activity during the actual copy operation. (of both copy)


If extra details/log/debug trace, or video capture of my above debug action is needed, I can provide them.  (I work in the field of computer and is quite technical, and I am willing to work with someone to figure this out.)

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Have you tried changing the auto-tuning level?  

netsh int tcp set global autotuninglevel=highlyrestricted

This can have a significant impact. Though, you'd want to run it on each Windows system that connects to the system. 

Also, on the Network Adapter(s) in device management, try disabling any option that has "checksum" or "offload" in the name. Also, green" ethernet, or  interrupt modulation.   Tweaking jumbo frames may also help.    
And like above, on all of the Windows system connecting. 

 

There is also a "Network I/O Boost" option in the performance options for the pool. Try toggling this, as it tries to prioritize network access over local, at the cost of CPU cycles. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...