Storage pools performance question

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Thor

New Member
Apr 28, 2017
13
0
1
49
hi.

The other day i moved 3x Corsair M4 128GB SSD from my Areca 1880 controller to the mainboard (SATA2), applied storage spaces (win10) on all 3 in stripe mode and did a benchmark in ATTO.

Im baffeled by the crappy performance

3X ssd on ARECA = 1,6GB/s read performance at max and 700ishMB/s write (writeback)
3X ssd on Storage pools = 550MB/s read and 120MB/s write..

Any idea whats going on here?

br TE
 
Last edited:

i386

Well-Known Member
Mar 18, 2016
4,411
1,638
113
35
Germany
I want 700gb/s too ._.

Your areca probably optimizes the io and sorts the blocks to write, basically turning your "random write" into "sequential write".
Storage spaces doesn't optimze the io and writes the data straight to the discs/ssd.
 

Thor

New Member
Apr 28, 2017
13
0
1
49
Hi, found the typo ;) thx ;)

Seems like the performance on the storage pool is the same as for 1 drive vs. 3..
 

edge

Active Member
Apr 22, 2013
203
71
28
How are you testing the volume? How many threads. Window's striping has not always been the most intelligent, though I haven't tested it recently.

Also, the Areca will have memory doing the caching whereas Storage Spaces Direct will use a drive for caching = performance is limited by the performance of the cached drive:

Understanding the cache in Storage Spaces Direct

I also came across this article which has a section on "channels" in storage spaces. If you have only 1 channel then you should expect the performance of 1 drive:

TechNet Wiki
 
Last edited:

CookiesLikeWhoa

Active Member
Sep 7, 2016
112
26
28
35
Maybe I'm mistaken, likely am as I don't know much about Windows Storage, but a simple volume is just JBOD correct? If it is, that explains the performance.

Space wise it will look like striped but will perform like 1 disk.
 

i386

Well-Known Member
Mar 18, 2016
4,411
1,638
113
35
Germany
Simple space (microsofts wording for striped volume):

  • Simple (no resiliency). Writes data in a stripe across physical disks without any extra copies or parity information. Because the simple layout doesn’t provide any protection from disk failures, use it only when you require the highest performance and capacity and you’re OK with losing or recreating the data if a disk fails. You can also use the simple layout when your application provides its own data protection.

Storage Spaces Overview
 
  • Like
Reactions: CookiesLikeWhoa

CookiesLikeWhoa

Active Member
Sep 7, 2016
112
26
28
35
Thanks for the info! I've had similar experiences as the OP with "simple" and getting only 1 drives worth of performance. Made me wonder if MS was correct in that.
 

SirCrest

Member
Sep 5, 2016
21
26
13
34
Texas
It's...technically striped in that it balances data across all the disks in the pool/vsdisk. But it won't read from them in a striped slab fashion as a RAID-0 would. At the same time, MS needs to cut the crap with their documentation since if it even stripes heavily depends on your setup. By default windows will run extra columns, sometimes not.

You need to actually make sure you have three 'columns' which makes sure it's reading and writing to all disks together. Use in powershell: Get-VirtualDisk | ft FriendlyName, NumberOfColumns

Given your performance, I'd expect to see 1 column.

Try in Powershell: New-VirtualDisk -FriendlyName "3DiskStripe" -StoragePoolFriendlyName "<YourPoolName>" -ResiliencySettingName "simple" -NumberOfColumns 3 -ProvisioningType "fixed" -Size 1TB

Then just set the disk online, put a partition on it and give it a try (you can put those commands in the same command above but,... I don't know it). It still won't be great, storage spaces isn't a huge performance most times unless tuned right, but you should see much better performance.
 
Last edited: