Jump to content
Covecube Inc.
  • 0
hkarpf6045

Share on Drivepool slow network performance

Question

I'm running drivepool on Windows 2012 R2.  I noticed slower than usual performance on a share stored on the drivepool.  I' utilized LAN speed test to test out some of my suspicions.  I consistently get 800+Mbps/~100MBps on a share that is on the raw hard drive that is part of a drivepool.  However when I do the same test on a folder in the drivepool (actually on the virtual drivepool drive), performance consistently lags down to 600Mbps/~70MBps.  I've enabled all the Diskpool I/O performance options (network, etc...)  Looking at the performance monitor on Drivepool UI, it shows its reading the file at what should be quicker performance, e.g. 150+MB/s.  Any input?  I've attached pictures showing performance tests, etc...

post-1396-0-84699600-1388874092_thumb.jpg

post-1396-0-72356500-1388874094_thumb.jpg

post-1396-0-50018900-1388874095_thumb.jpg

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

You have Network IO Boost, and Read Caching enabled (if the files are duplicated), under Performance, right?

 

If so, what is the speed like copying from the Pool to another disk (preferrably a SSD or something *very* fast)? Also, what about the speeds from the individual disks in question?

 

I would post another couple of links to see if the network is the issue, but you're already basically confirmed that it isn't an issue.

So could you also enable "tracing"?

http://wiki.covecube.com/StableBit_DrivePool_2.x_Log_Collection

Share this post


Link to post
Share on other sites
  • 0

Sure enough.  Copying from the drivepool to a local SSD on the server does it at 150MB/s...so...not sure if its how for some reason it interacts with the NIC...and yes I have Network IO and Read caching enabled.  I'll rerun this, and post up my log files after I can restart the server.

Share this post


Link to post
Share on other sites
  • 0

What was the final diagnosis on this issue? I experience similar issues until I disable the Scanner service. When disabled, I do not experience any dips in transfer speeds. Speeds stay consistently over 120 MB/s. I have tested this over the network and copying from a local HDD to the pool.

Share this post


Link to post
Share on other sites
  • 0

hkarpf6045:

 

I apologize. It's been a very, very busy month for us. Not only have we had a significant increase in tickets, but we've made a lot of changes internally to help streamline support.

 

In all of this, it seems that this got lost/forgotten. So I must apologize for that.  And if you don't get a response from us within a couple of days, please contact us. Either PM me, or email me directly (christopher (at) covecube.com) and let us know.

 

As for the logs, I've flagged them for Alex, so he should see them and respond (at least internally) to the issue.

Share this post


Link to post
Share on other sites
  • 0

Hey guys,

 

I've set up and run a controlled test using the same tool of pool vs. non-pool speeds and StableBit Scanner vs. no StableBit Scanner.

 

Here is how I set up the test server:

  • Server to client connection is on a 1 gigabit link connected through 2 switches.
  • Created 2 shares, one on the pool and one not on the pool. No file duplication enabled.
  • Made sure that the non-pooled share is on the disk part of the pool with the most free space. This ensures that the same physical disk will be used to allocate the test file in both the pooled and non-pooled test cases.
  • Initially, the server has the StableBit Scanner installed and started.
  • Made sure that the StableBit Scanner is not actively scanning any disks at this time.
  • StableBit DrivePool is set up with the default performance settings (no Network I/O boost).
  • Made sure that nothing else is using the physical disk while the test is ongoing.
  • All tests were performed with a 500 MB file.

It is important to ensure proper test condition in order to prevent skewed results.

 

Now I ran 3 tests on the non-pooled share from the client:

Version 1.3.1
OS Version: Windows 8
Processor: AMD FX(tm)-8350 Eight-Core Processor          
Date: 02/03/2014
Time: 11:36:09
Program Parameters: 0
High Performance Timer: 0.0000000698
Test File: \\192.168.0.2\NonPool-SpeedTest\NW_SpeedTest.dat
Write Time = 6.7337975 Seconds
Write Speed = 594.0184560 Mbps
Read Time = 7.6298019 Seconds
Read Speed = 524.2600080 Mbps

Test File: \\192.168.0.2\NonPool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.1907796 Seconds
Write Speed = 556.2679200 Mbps
Read Time = 7.7817525 Seconds
Read Speed = 514.0230320 Mbps

Test File: \\192.168.0.2\NonPool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.4736517 Seconds
Write Speed = 535.2135920 Mbps
Read Time = 7.4989738 Seconds
Read Speed = 533.4063200 Mbps

Then I ran 3 tests on the pooled share:

Version 1.3.1
OS Version: Windows 8
Processor: AMD FX(tm)-8350 Eight-Core Processor          
Date: 02/03/2014
Time: 11:38:09
Program Parameters: 0
High Performance Timer: 0.0000000698

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.2969775 Seconds
Write Speed = 548.1721680 Mbps
Read Time = 7.6963353 Seconds
Read Speed = 519.7278800 Mbps

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.1262697 Seconds
Write Speed = 561.3034800 Mbps
Read Time = 7.4837478 Seconds
Read Speed = 534.4915520 Mbps

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.2078453 Seconds
Write Speed = 554.9508720 Mbps
Read Time = 7.7060378 Seconds
Read Speed = 519.0734960 Mbps

Then I stopped the StableBit Scanner service and ran another 3 tests on the pooled share:

Version 1.3.1
OS Version: Windows 8
Processor: AMD FX(tm)-8350 Eight-Core Processor          
Date: 02/03/2014
Time: 11:41:06
Program Parameters: 0
High Performance Timer: 0.0000000698

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 8.1331414 Seconds
Write Speed = 491.8148800 Mbps
Read Time = 7.6461024 Seconds
Read Speed = 523.1423520 Mbps

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.5164256 Seconds
Write Speed = 532.1678400 Mbps
Read Time = 7.5272389 Seconds
Read Speed = 531.4033600 Mbps

Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
Write Time = 7.2955172 Seconds
Write Speed = 548.2818960 Mbps
Read Time = 7.5415770 Seconds
Read Speed = 530.3930480 Mbps

As expected, the speeds are roughly equivalent in all 3 cases. I'll post some more information about Stablebit Scanner / DrivePool performance shortly.

Share this post


Link to post
Share on other sites
  • 0

Performance considerations with StableBit DrivePool:

  • For non-duplicated files with the default performance setting enabled, there should be very little overhead for read / write I/O on the pool. This is because all pooled I/O is processed in the kernel and our file system driver uses Neither I/O, Fast I/O, oplocks and a full suite of file caching. These are optional under the hood performance optimizations that are available to all kernel file system drivers and they are all implemented and utilized by our driver.

    While there is always some overhead introduced by any kind of software storage pooling / redundancy package, I don't expect our pooling solution to have any significant impact on performance, when comparing pooled vs. non-pooled I/O on the same physical disk.
  • The network I/O boost feature may reduce peak throughput and introduce higher CPU usage. The network I/O boost feature was designed to increase responsiveness of media streaming clients on a busy server and doesn't necessarily increase maximum throughput. In other words, we prioritize network I/O read requests over local read requests. This requires us to perform some additional processing on each network read request and so it does consume some extra CPU resources.

    While this does introduce overhead, for all practical purposes, it really is minimal and should not impact file transfer speeds in any appreciable way.

    Here is another test on the pool with network I/O boost enabled (using the same setup as above):
    Version 1.3.1
    OS Version: Windows 8
    Processor: AMD FX(tm)-8350 Eight-Core Processor          
    Date: 02/03/2014
    Time: 12:19:20
    Program Parameters: 0
    High Performance Timer: 0.0000000698
    
    Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
    Write Time = 7.5035405 Seconds
    Write Speed = 533.0816880 Mbps
    Read Time = 7.5083370 Seconds
    Read Speed = 532.7411440 Mbps
    
    Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
    Write Time = 7.1603575 Seconds
    Write Speed = 558.6313200 Mbps
    Read Time = 7.3564616 Seconds
    Read Speed = 543.7396640 Mbps
    
    Test File: \\192.168.0.2\Pool-SpeedTest\NW_SpeedTest.dat
    Write Time = 7.6143740 Seconds
    Write Speed = 525.3222400 Mbps
    Read Time = 7.5884258 Seconds
    Read Speed = 527.1185520 Mbps
  • Real-time file duplication will have an impact on write performance because we have to send all write requests to more than one disk. We do this in parallel by sending the request to multiple disks at the same time.

Performance considerations with the StableBit Scanner:

  • Active disk scanning will have an impact on other read / write I/O performance to the disk being scanned. How much of an impact depends on the StableBit Scanner settings.
  • Background I/O priority scanning ensures that Windows tags the read / write requests issued by the StableBit Scanner with the Very Low I/O priority. I/O priority is utilized in the kernel by the storage drivers in order to prioritize read / write requests to and from the disk.
  • Scan throttling will actively pause scanning when other disk activity is taking place on the disk being scanned. This works best when Background I/O priority scanning is enabled as well.

    Scan throttling has multiple sensitivities, Low, Medium and High. Low means that you want the StableBit Scanner to allow some other I/O to the disk without pausing scanning. High means the opposite.
    • Scan throttling can also monitor for bus saturation conditions, whereby scanning of one disk is slowing down I/O requests to another disk that is on the same bus. If this is the case, scanning will be paused until I/O on the other disks subsides.

Quick Settings in the Stablebit Scanner and performance impact:

  • Desktop mode - Throttling (Med) and Background I/O are enabled. Scans happen at any time.
  • Laptop mode - Throttling (Med) and Background I/O are enabled. Scans happen at any time, but only when plugged into an A/C outlet.
  • Server mode - Throttling is disabled, background I/O is enabled. Scans happen only at night.
  • Tablet mode - Throttling (High, no bus saturation detection) and background I/O are enabled. Scans happen at any time, they occur more often, but only when plugged into an A/C outlet.

You can obviously tweak these to your linking, but the defaults should work pretty well. All in all the system is designed to be fully automatic and very hands off.

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...