Benchmark - Storage Volume with SSD Cache
We will also be using Fio to benchmark the performance of the DS1817+ under the following scenarios:
- SSD cache is not enabled;
- SSD read cache is enabled; and
- SSD read-write cache is enabled.
The SSD cache works by moving frequently accessed data onto the faster storage (i.e. SSD) so that the system need not wait for the slower storage (i.e regular disks) to respond.
Hence, we will go through a phrase of preconditioning before the actual benchmark test:
- Preconditioning. 5 sets of writing and reading from pre-prepared files to allow data to be cached;
- Benchmark. 1 set of writing and reading from the same pre-prepared files.
For each sets, the IO workload will be 70% reads and 30% writes in 8KB blocksize for 60 seconds. The order of reads and writes are randomized.
fio --direct=1 --rw=randrw --refill_buffers --norandommap \
--randrepeat=0 --ioengine=libaio --bs=8k --rwmixread=70 \
--iodepth=16 --numjobs=10 --runtime=60 --group_reporting \
SSD Cache Benchmark Summary
The benchmark results of the DS1817+ under various SSD cache configurations are as follow.
|Read (MB/s)||Write (MB/s)|
|Without SSD Cache||4.4||1.88|
|SSD Read Cache – WD Blue 250GB M.2||8.75||3.79|
|SSD Read Cache – Samsung 850 EVO 250GB M.2||9.27||3.96|
|SSD Read-write Cache||16.95||7.24|
|Avg Read Latency (ms)||Max Read Latency (ms)||Avg Write Latency (ms)||Max Write Latency (ms)|
|Without SSD Cache||201.51||1,299||189.17||1,295|
|SSD Read Cache – WD Blue 250GB M.2||34.92||750.63||248.44||1,529|
|SSD Read Cache – Samsung 850 EVO 250GB M.2||32.37||427.68||239.18||831|
|SSD Read-write Cache||41.81||2,142.9||74.57||4,806.8|
Firstly, don’t be alarmed by the low throughput figures. It appears that fio’s workload and measurement reflected a lower throughput for tests on the storage volume. Our objective is to measure the difference in performance under different SSD cache configurations.
Across the tests, it is clear that the both reading and writing speeds are greatly improved when SSD cache is enabled.
Findings when SSD read cache is enabled
When SSD read cache is enabled, the average latency for read operations drastically dropped. However, the average latency for write operations increased slightly.
We also observed that the performance is better when the Samsung 850 EVO is used as the cache.
Findings when SSD read-write cache is enabled
When SSD read-write cache is enabled, the average latency for writing operation is reduced.
|Read 50th Percentile (ms)||Read Std Dev (ms)||Write 50th Percentile (ms)||Write Std Dev (ms)|
|Without SSD Cache||165.00||109.34||167.00||110.68|
|SSD Read Cache – WD Blue 250GB M.2||156.80||46.56||221.00||146.68|
|SSD Read Cache – Samsung 850 EVO 250GB M.2||144.00||38.46||255.00||116.56|
|SSD Read-write Cache||26.24||43.93||35.58||173.93|
We also observed the maximum latency went off the chart during the tests. But when we delved into the statistics, we observed that the maximum readings are just some statistical outliers. The 50th percentile and standard deviation looks pretty ok.