Storage HA on the Cheap: Fixing Synology DiskStation flaky Performance with StarWind Free. Part 2 (Log-Structured File System)
In this article, we are going to continue testing Synology DS916+ with StarWind Virtual SAN. Our main goal today is to improve the performance of Synology boxes specifically on random patterns. Randoms were chosen for a reason. SQL and OLTP workloads tend to cause huge stress, especially, to spindle arrays, generating a heavily randomized I/O. Patterns we are choosing for today’s benchmark are common for such environments. There are different approaches, which can handle these workload types, such as caching and tiering. Our approach is to build environment with StarWind Log-Structured File System. LSFS was created exactly for this type of environments to improve the performance.
We will compare the results we receive to the ones from Part 1 of our research.
Each DS916+ unit features the below specifications:
CPU: 1x Quad Core Intel Pentium N3710 with up to 2.56 GHz burst frequency
RAM: 2 GB DDR3
Storage: 4x WD RE 3 TB Enterprise Hard Drives: 3.5 Inch, 7200 RPM, SATA III, 64 MB Cache
Network: 2x RJ-45 1GbE LAN Ports
OS: DSM 6.0.2-8451 Update 4
We have chosen RAID 10 on Synology boxes. It will give us the best performance from storage subsystem keeping the highest redundancy level. RAID 10 is recommended for spindle drives over the parity arrays.
DSM Storage Manager “Disk Group” view:
iSCSI LUN and Target were created on top of RAID10.
DSM Storage Manager “iSCSI LUN” view:
All the tests listed below were performed using Microsoft DiskSpd tool. Our benchmark process includes a number of different random patterns that would help to monitor the storage performance under particular workload types. Random patterns were chosen due to LSFS architecture.
We have decided to pick the following patterns for our benchmark:
- 4K 100% Random Read
- 4K 100% Random Write
- 8K 67% Random Read 33% Random Write
- 8K 67% Sequential Read 33% Sequential Write
In this part of our tests, we also checked different DiskSpd Threads/Queues combinations to achieve the best performance from our setup and keep latency on an acceptable level. The final value was rendered as 8 Threads and 8 Outstanding I/Os.
Measuring the iSCSI performance of StarWind Virtual SAN LSFS deployed over 2x Synology DS916+
After reviewing previous results in StarWind Log-Structuring technology will help us to achieve it.
In our setup, we are using 2x Synology DS916+ units, each connected to the Supermicro server via 2x 1GbE networks. Supermicro servers are connected to each other via a single 10GbE network that will be used for both StarWind Synchronization and iSCSI traffic. 10 GbE NICs were chosen to avoid network bottleneck.
As you can see from the diagram, configuration stays the same to the one we were working with in the previous part of our research mentioned above.
StarWind device settings:
- Device Type: LSFS
- Size: 1TB
- L1 cache: no cache
- L2 cache: no cache
Once again, we are keeping the same DiskSpd settings for this test sequence:
- Test duration: 60 seconds
- Test file size: 1TB
- Threads: 8
- Outstanding I/Os: 8
Microsoft DikSpd parameters:
4k 100% Random Read:
diskspd.exe -t8 -o8 -r -b4K -w0 -d60 -h -L -c1000G
4k 100% Random Write:
diskspd.exe -t8 -o8 -r -b4K -w100 -d60 -h -L -c1000G
8k 67% Random Read 33% Random Write:
diskspd.exe -t8 -o8 -r -b8K -w33 -d60 -h -L -c1000G
8k 67% Sequential Read 33% Sequential Write:
diskspd.exe -t8 -o8 -si -b8K -w33 -d60 -h -L -c1000G
Let’s start with the full random pattern:
And this is where we can clearly see the benefits of StarWind Log-Structuring. As we can see from this table, the achieved performance seems to be really good as for spindle arrays. LSFS takes care of highly randomized I/O.
Another benefit is low latency, which we can see from the following table:
Switching to the mixed workloads, we achieved great results as well:
LSFS handles randomly mixed operations great and shows decent numbers. Sequential mixed operations are on the great level, which proves that LSFS can work with such workloads as well.
Latency stays on a low level:
To sum up all the results from 2 parts of our article, we have combined them into one single chart. We are comparing 3 configurations:
- 2x DS916+ units in the “active-passive” DSM HA Cluster configuration
- 2x DS916+ units in the “active-active” StarWind Image File HA configuration
- 2x DS916+ units in the “active-active” StarWind LSFS HA configuration
As we can see from this chart, StarWind LSFS HA shows us the best performance on random patterns leaving sequential performance on a high level.
In this article, we decided to improve the random performance of Synology DS916+. Log-Structuring is StarWind technology, which helped us doing that. StarWind LSFS eliminates I/O blender, combining multiple random operations into a single sequential stripe.
Random performance, which we can see on Synology boxes with StarWind LSFS HA looks great. StarWind Log-Structured File System increased the random performance of our RAID 10 array to compare with both DSM HA Cluster and StarWind Image File HA configurations.
In real world scenarios, we recommend implementing “mixed” architecture – StarWind Image File HA (for sequential-oriented workloads) deployed together with StarWind LSFS HA (for random-oriented workloads). This scenario would be a good choice for compact SQL deployments being used by a small number of users.
- Storage HA on the Cheap: Fixing Synology DiskStation flaky Performance with StarWind Free. Part 1 (Architecture)
- Storage HA on the Cheap: Fixing Synology DiskStation flaky Performance with StarWind Free. Part 3 (Failover Duration)