Thursday, August 16, 2012

Storage Spaces Performance

Have you ever thought of the storage performance on a lab with a 2 1TB of USB 3.0 storage would look like?. Would you expect this to be a lower performance or even faster?.

In my previous blog on Storage spaces introduction I have explained in term of what it is all about and also the reasoning behind it. If you would like to reread the articles, you may read it from here.

On top of that, I also do explain with step by step on how to configured the storage spaces with a simple lab setup. If you would have interest to know more , you can find the detail in here

So on this articles, where I would be focusing?. I would like to share more in term of the performance in term of the storage layout during the configuration of the storage spaces. 

Storage layout
Simple : A simple space has data striping but no redundancy. In data striping, logically sequantial data is segmented accross all disks in a way that access to these sequential segements can be made to different physical storage drives. Striping makes it possible to access multiple segment of data at the same time. Do not host important data on a simple volume, because it provides no failover capabilities when the disk where the data is stored on fails.

Mirror : Mirror spaces maintain 2 or 3 copies of the data they host (2 data copies for 2 way mirror and 3 data copies for 3 way mirror). Duplication happen with every write to ensure all data copies are always current. Mirror spaces also stripe the data accross multiple physical drives. Mirror spaces are attracitve because of their greater data throughput and lowe access latency. They also do not introduce a risk of corrupting at-rest data and do not require the addiotnal journalling stage when writing data.

Parity : A parity space resembles a simple space. Data, along with parity information, is striped across multiple physical drives. parity enables storage spaces to continue to service read and write request even when a drive has failed. parity is always rotated across available disk to enable IO optimization. A storage space required a minimum of 3 physical drives for parity spaces. parity spaces have increased resiliency through journaling 

Take a look at each of the performance

Test 1: On Sata drive, if you notice the performance it is with the write of 96MB/s

Test 2 : I am using a storage spaces with 2 USB 3.0 + sata drive and I am using a simple layout for the storage and getting the write speed of 1.11GB/s.

Test 3 : I am using a storage spaces with 2 USB 3.0 + sata drive and I am using a mirror layout for the storage and getting the write speed of 1.09GB/s. There is no much different but it provide  safer location to store your important data.

Test 4 : I am using a storage spaces with 2 USB 3.0 + sata drive and I am using a parity layout for the storage and getting the write speed of 1.0GB/s during the initial peak but then it goes down to 73 MB/s.

As you can see that, if you are running in a proper server environment, the performance can go beyond what you see in these blog. Windows Server 2012 does provide a high performance lower cost storage.

Stay tune with my next articles. Let us know what you though , learns and hope for next articles!. Connect with us on GOOGLE+ , TWITTER and FACEBOOK.


  1. At first I want to say nice blog.

    At second, can you also explain why the Parity Write speed suddenly drops?

    I'm trying to implement multiple storage spaces (Movies, Pictures, Data, Music) all based on Parity layout but the speed is so poor :(

    Hope you've an explanation about this issue or how you would manage the above solution.

    Didn't have the time to check the streaming but I can image that with parity my music/movies will suffer from it...

    1. Hi there, many thanks for your comment. However, I am still figuring out the behavior that you have highlight. I assume that the write performance have been stabilized with the hardware optimum speed to avoid data lost or corruption. Since now we have a stable version. I will test this again and see the result.