Storage performance test tool (fio)
Overview
This fio-based Storage Performance Tool executes a synthetic workload to evaluate the performance characteristics of the storage assigned to the Delphix Engine. The Storage Performance Tool is a feature that is only available from the command-line
Prerequisites
Prior to setting up the Delphix Engine, the admin can login to the Delphix CLI using a sysadmin account to launch the Storage Performance Tool. Because the test is destructive, it will only run against storage which has not been allocated to Delphix for use by the engine.
Running the storage test via CLI
Login as the sysadmin user to the Delphix Engine CLI.
If the Delphix Engine has not been setup yet, the network setup prompt appears. Discard the command.
CODEdelphix network setup update *> discard delphix>
Create a storage test.
CODEdelphix> storage test delphix storage test> create delphix storage test create *>
Use 'get' to see other optional arguments. Modify the test parameters as needed and commit to start the test.
CODEdelphix storage test create *> get type: StorageTestParameters devices: (unset) duration: 120 initializeDevices: true initializeEntireDevice: false testRegion: 128GB tests: ALL delphix storage test create *> commit STORAGE_TEST-1 Dispatched job JOB-1 STORAGE_TEST_EXECUTE job started for "SYSTEM". Initializing storage test. Starting storage device initialization. ETA: 1:28:44. Storage device initialization complete. Starting storage benchmarking. Starting random read workload with 4 KB block size and 8 jobs. Starting random read workload with 4 KB block size and 16 jobs. Starting random read workload with 4 KB block size and 32 jobs. Starting random read workload with 4 KB block size and 64 jobs. Starting random read workload with 8 KB block size and 8 jobs. Starting random read workload with 8 KB block size and 16 jobs. Starting random read workload with 8 KB block size and 32 jobs. Starting random read workload with 8 KB block size and 64 jobs. Starting sequential write workload with 1 KB block size and 4 jobs. Starting sequential write workload with 4 KB block size and 4 jobs. Starting sequential write workload with 8 KB block size and 4 jobs. Starting sequential write workload with 16 KB block size and 4 jobs. Starting sequential write workload with 32 KB block size and 4 jobs. Starting sequential write workload with 64 KB block size and 4 jobs. Starting sequential write workload with 128 KB block size and 4 jobs. Starting sequential write workload with 1024 KB block size and 4 jobs. Starting sequential write workload with 1 KB block size and 16 jobs. Starting sequential write workload with 4 KB block size and 16 jobs. Starting sequential write workload with 8 KB block size and 16 jobs. Starting sequential write workload with 16 KB block size and 16 jobs. Starting sequential write workload with 32 KB block size and 16 jobs. Starting sequential write workload with 64 KB block size and 16 jobs. Starting sequential write workload with 128 KB block size and 16 jobs. Starting sequential write workload with 1024 KB block size and 16 jobs. Starting sequential read workload with 64 KB block size and 4 jobs. Starting sequential read workload with 64 KB block size and 8 jobs. Starting sequential read workload with 64 KB block size and 16 jobs. Starting sequential read workload with 64 KB block size and 32 jobs. Starting sequential read workload with 64 KB block size and 64 jobs. Starting sequential read workload with 128 KB block size and 4 jobs. Starting sequential read workload with 128 KB block size and 8 jobs. Starting sequential read workload with 128 KB block size and 16 jobs. Starting sequential read workload with 128 KB block size and 32 jobs. Starting sequential read workload with 128 KB block size and 64 jobs. Starting sequential read workload with 1024 KB block size and 4 jobs. Starting sequential read workload with 1024 KB block size and 8 jobs. Starting sequential read workload with 1024 KB block size and 16 jobs. Starting sequential read workload with 1024 KB block size and 32 jobs. Starting sequential read workload with 1024 KB block size and 64 jobs. Storage benchmarking complete. Generating results. Storage test completed successfully. STORAGE_TEST_EXECUTE job for "SYSTEM" completed successfully. delphix storage test>
The job will be submitted and visible in the Delphix Management application.
Retrieve the test results
CODEdelphix storage test> select STORAGE_TEST-1 delphix storage test 'STORAGE_TEST-1'> result delphix storage test 'STORAGE_TEST-1' result *> commit Test Results ------------ Test ID: 1 Test System UUID: 564dc710-7bb1-c064-12c2-2659032acf1b Start Time: 03-Feb-2015 10:52:31 -0800 End Time: 03-Feb-2015 12:20:25 -0800 Test Grades: Test Name Latency Load Scaling ------------------------------- -------------------------- --------------- Average 95th %ile Grade Scaling Grade ------- --------- ----- ------- ----- Random 8K Reads w/ 16 jobs 2.16 4.77 A- 0.89 poor Random 4K Reads w/ 16 jobs 1.62 3.73 A 0.54 fair Sequential 1M Reads w/ 4 jobs 62.60 182.00 D 1.40 bad Sequential 1K Writes w/ 4 jobs 1.30 2.61 C 0.07 good Sequential 128K Writes w/ 4 jobs 10.19 26.00 D 1.35 bad Grading Key: Test Name Grade: A+ A A- B B- C C- D ----------------- ---- ---- ---- ---- ---- ---- ---- ----- Small Random Reads 2.0 4.0 6.0 8.0 10.0 12.0 14.0 > 14.0 Large Seq Reads 12.0 14.0 16.0 18.0 20.0 22.0 24.0 > 24.0 Small Seq Writes 0.5 1.0 1.5 2.0 2.5 3.0 3.5 > 3.5 Large Seq Writes 2.0 4.0 6.0 8.0 10.0 12.0 14.0 > 14.0 IO Summary: Test Name IOPS Throughput (MBps) Latency (msec) --------------------------- ------- ----------------- ---------------------------------- Average Min Max StdDev ------- ------- ------- ------- Rand 4K Reads w/ 8 Jobs 15703 61.34 0.50 0.05 754.74 1.72 Rand 4K Reads w/ 16 Jobs 15631 61.06 1.00 0.05 1347.10 5.12 Rand 4K Reads w/ 32 Jobs 15972 62.39 1.95 0.05 1231.40 17.56 Rand 4K Reads w/ 64 Jobs 17341 67.74 3.62 0.05 1750.10 30.09 Rand 8K Reads w/ 8 Jobs 15151 118.37 0.52 0.05 45.18 0.27 Rand 8K Reads w/ 16 Jobs 16457 128.58 0.95 0.05 501.90 3.57 Rand 8K Reads w/ 32 Jobs 16908 132.10 1.84 0.05 1336.10 16.93 Rand 8K Reads w/ 64 Jobs 16865 131.76 3.71 0.05 1505.50 30.03 Seq 1K Writes w/ 4 Jobs 22053 21.54 0.18 0.04 168.14 0.26 Seq 4K Writes w/ 4 Jobs 24937 97.41 0.16 0.04 152.17 0.27 Seq 8K Writes w/ 4 Jobs 22946 179.27 0.17 0.04 120.19 0.28 Seq 16K Writes w/ 4 Jobs 18003 281.31 0.22 0.05 81.24 0.26 Seq 32K Writes w/ 4 Jobs 12993 406.05 0.30 0.05 40.33 0.38 Seq 64K Writes w/ 4 Jobs 6429 401.83 0.62 0.06 116.19 2.26 Seq 128K Writes w/ 4 Jobs 3614 451.86 1.10 0.08 200.12 4.75 Seq 1M Writes w/ 4 Jobs 388 388.83 10.28 0.27 832.57 42.24 Seq 1K Writes w/ 16 Jobs 25965 25.36 0.60 0.04 814.84 6.86 Seq 4K Writes w/ 16 Jobs 25610 100.04 0.61 0.04 1022.50 7.76 Seq 8K Writes w/ 16 Jobs 25183 196.75 0.62 0.04 910.55 7.91 Seq 16K Writes w/ 16 Jobs 23433 366.14 0.66 0.04 948.57 8.05 Seq 32K Writes w/ 16 Jobs 19327 604.00 0.81 0.05 1180.50 8.10 Seq 64K Writes w/ 16 Jobs 9313 582.08 1.71 0.06 711.96 4.40 Seq 128K Writes w/ 16 Jobs 3369 421.14 4.75 0.08 69.12 4.32 Seq 1M Writes w/ 16 Jobs 481 481.06 33.22 0.27 269.88 32.05 Seq 64K Reads w/ 4 Jobs 16912 1057.20 0.23 0.05 40.36 0.15 Seq 64K Reads w/ 8 Jobs 18862 1178.10 0.42 0.05 78.57 0.41 Seq 64K Reads w/ 16 Jobs 20352 1272.50 0.77 0.06 900.81 7.41 Seq 64K Reads w/ 32 Jobs 20750 1296.10 1.50 0.06 1231.60 20.02 Seq 64K Reads w/ 64 Jobs 21146 1321.70 2.95 0.06 2440.30 34.37 Seq 128K Reads w/ 4 Jobs 11649 1456.30 0.34 0.06 53.66 0.25 Seq 128K Reads w/ 8 Jobs 15995 1999.50 0.49 0.06 32.21 0.42 Seq 128K Reads w/ 16 Jobs 17413 2176.80 0.90 0.07 1057.60 6.46 Seq 128K Reads w/ 32 Jobs 17874 2234.30 1.76 0.07 1355.40 19.87 Seq 128K Reads w/ 64 Jobs 17523 2190.50 3.58 0.07 1926.20 36.79 Seq 1M Reads w/ 4 Jobs 1404 1404.20 2.84 0.31 64.38 0.75 Seq 1M Reads w/ 8 Jobs 2360 2360.70 3.38 0.32 17.60 0.46 Seq 1M Reads w/ 16 Jobs 3876 3876.50 4.10 0.33 429.44 3.20 Seq 1M Reads w/ 32 Jobs 4732 4732.60 6.69 0.29 1305.70 34.64 Seq 1M Reads w/ 64 Jobs 4730 4730.10 13.33 0.32 1847.90 54.39 IO Histogram: Test Name us50 us100 us250 us500 ms1 ms2 ms4 ms10 ms20 ms50 ms100 ms250 ms500 s1 s2 s5 --------------------------- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- Rand 4K Reads w/ 8 Jobs 0 0 0 2 46 41 7 3 1 0 0 0 0 0 0 0 Rand 4K Reads w/ 16 Jobs 0 0 0 0 39 47 10 3 1 0 0 0 0 0 0 0 Rand 4K Reads w/ 32 Jobs 0 0 0 0 6 64 22 6 2 0 0 0 0 0 0 0 Rand 4K Reads w/ 64 Jobs 0 0 0 0 0 4 75 16 3 1 0 0 0 0 0 0 Rand 8K Reads w/ 8 Jobs 0 0 0 0 41 49 7 2 1 0 0 0 0 0 0 0 Rand 8K Reads w/ 16 Jobs 0 0 0 0 8 66 20 4 2 1 0 0 0 0 0 0 Rand 8K Reads w/ 32 Jobs 0 0 0 0 0 5 72 18 3 2 0 0 0 0 0 0 Rand 8K Reads w/ 64 Jobs 0 0 0 0 0 0 3 85 8 4 1 0 0 0 0 0 Seq 1K Writes w/ 4 Jobs 0 0 0 4 53 36 4 2 1 0 0 0 0 0 0 0 Seq 4K Writes w/ 4 Jobs 0 0 0 2 44 44 6 3 1 0 0 0 0 0 0 0 Seq 8K Writes w/ 4 Jobs 0 0 0 1 41 47 7 3 1 0 0 0 0 0 0 0 Seq 16K Writes w/ 4 Jobs 0 0 0 0 27 57 10 3 1 0 0 0 0 0 0 0 Seq 32K Writes w/ 4 Jobs 0 0 0 0 4 55 30 8 2 1 0 0 0 0 0 0 Seq 64K Writes w/ 4 Jobs 0 0 0 0 0 1 56 33 7 3 0 0 0 0 0 0 Seq 128K Writes w/ 4 Jobs 0 0 0 0 0 0 0 76 16 5 2 0 0 0 0 0 Seq 1M Writes w/ 4 Jobs 0 0 0 0 0 0 0 0 0 24 57 14 4 0 0 0 Seq 1K Writes w/ 16 Jobs 0 0 0 1 55 34 6 2 1 0 0 0 0 0 0 0 Seq 4K Writes w/ 16 Jobs 0 0 0 1 46 42 7 3 1 0 0 0 0 0 0 0 Seq 8K Writes w/ 16 Jobs 0 0 0 0 3 43 38 12 2 1 0 0 0 0 0 0 Seq 16K Writes w/ 16 Jobs 0 0 0 0 0 4 67 23 4 2 0 0 0 0 0 0 Seq 32K Writes w/ 16 Jobs 0 0 0 0 0 0 1 74 16 8 2 0 0 0 0 0 Seq 64K Writes w/ 16 Jobs 0 0 0 0 0 0 0 2 81 12 3 1 0 0 0 0 Seq 128K Writes w/ 16 Jobs 0 0 0 0 0 0 0 1 2 85 7 4 0 0 0 0 Seq 1M Writes w/ 16 Jobs 0 0 0 0 0 0 0 0 0 1 4 45 38 9 3 0 Seq 64K Reads w/ 4 Jobs 0 0 0 0 0 29 59 9 2 1 0 0 0 0 0 0 Seq 64K Reads w/ 8 Jobs 0 0 0 0 0 0 15 74 8 3 1 0 0 0 0 0 Seq 64K Reads w/ 16 Jobs 0 0 0 0 0 0 0 14 53 27 5 1 0 0 0 0 Seq 64K Reads w/ 32 Jobs 0 0 0 0 0 0 0 1 27 59 8 4 0 0 0 0 Seq 64K Reads w/ 64 Jobs 0 0 0 0 0 0 0 0 1 29 42 25 2 0 0 0 Seq 128K Reads w/ 4 Jobs 0 0 0 0 0 0 10 75 9 5 1 0 0 0 0 0 Seq 128K Reads w/ 8 Jobs 0 0 0 0 0 0 0 64 29 5 2 0 0 0 0 0 Seq 128K Reads w/ 16 Jobs 0 0 0 0 0 0 0 1 45 45 6 2 0 0 0 0 Seq 128K Reads w/ 32 Jobs 0 0 0 0 0 0 0 0 1 65 24 8 1 0 0 0 Seq 128K Reads w/ 64 Jobs 0 0 0 0 0 0 0 0 1 8 54 29 5 1 0 0 Seq 1M Reads w/ 4 Jobs 0 0 0 0 0 0 0 0 0 66 23 8 2 0 0 0 Seq 1M Reads w/ 8 Jobs 0 0 0 0 0 0 0 0 0 1 33 52 11 3 0 0 Seq 1M Reads w/ 16 Jobs 0 0 0 0 0 0 0 0 0 1 5 70 15 8 1 0 Seq 1M Reads w/ 32 Jobs 0 0 0 0 0 0 0 0 0 1 4 19 58 11 6 1 Seq 1M Reads w/ 64 Jobs 0 0 0 0 0 0 0 0 0 1 2 10 40 32 11 2 delphix storage test 'STORAGE_TEST-1'>