Group 1: Tests that implement long-term load.
')
When creating a test load, the following additional parameters of the fio program are used (except those already described):
- rw = randwrite
- blocksize = 4K
- numjobs = 64
- iodepth = 64
Group 1 consists of four tests that differ in the total volume of LUNs presented with the tested storage system, the size of the block of input-output operations and the direction of input-output (write or read):
- Test 1. Record test performed on a fully-marked storage system. The total volume of the presented LUN is equal to the effective storage capacity of the storage system, the test duration is 12 hours;
- Test 2. Recording test performed on storage marked at 80%. The total volume of the presented LUN is 80% of the effective storage capacity, the test duration is 5 hours.
- Test 3. Test for reading performed on a fully-marked storage system. The test duration is 4 hours.
- Test 4. Recording tests with varying block size: 4,8,16,32,64,1024 KiB, performed on a fully-marked storage system, the duration of each test is 2 hours.
According to the test results, based on the data output by the vxstat team, the graphs are formed combining the results of two tests:
- IOPS as a function of time;
- Latency, as a function of time.
The analysis of the received information is carried out and conclusions are drawn about:
- the presence of performance degradation during long-term load on the record and reading;
- the degree of influence of the volume of the marked storage disk space on the performance;
- performance of storage service processes (garbage collection), limiting the performance of the disk array to write during a long peak load;
- the degree of influence of the size of the block of I / O operations on the performance of the storage service processes;
- the amount of space reserved on the storage system for leveling the impact of service processes.
Group 2: Disk array performance tests with different types of load, executed at the block device level.
During testing, the following types of loads are investigated:
- load profiles (changeable software parameters
fio: randomrw, rwmixedread
):
- random recording 100%;
- random write 30%, random read 70%;
- random read 100%.
- block sizes: 1KB, 8KB, 16KB, 32KB, 64KB, 1MB (changeable software parameter
fio: blocksize
); - methods of processing I / O operations: synchronous, asynchronous (variable parameter in
fio: ioengine
software fio: ioengine
); - the number of load generating processes: 1, 2, 4, 8, 16, 32, 64, 128 (changeable software parameter
fio: numjobs
); - queue depth (for asynchronous I / O operations): 32, 64 (variable parameter in
fio: iodepth
).
A group consists of a set of tests representing all possible combinations of the above types of load. To reduce the impact of garbage collection service processes on test results, a pause is implemented between tests equal to the amount of information recorded during the test, divided by the performance of the storage service processes (determined by the results of the first group of tests).
Based on the test results, based on the output of fio software, upon completion of each test, graphs are generated for each combination of the following load types: load profile, method of processing I / O operations, queue depth, which combine tests with different I / O block values:
- IOPS as a function of the number of load generating processes;
- Bandwidth as a function of the number of processes that generate the load;
- Latitude (clat) as a function of the number of load generating processes;
The analysis of the obtained results is carried out, conclusions are drawn on the load characteristics of the disk array at latency <1ms.