Тест sysbench -IO странные результаты?
Я использую sysbench на двух машинах, одна новенькая с дисками NVMe, AMD Epyc и 256 ГБ ОЗУ. Результаты очень хорошие.
Проблема в том, что я запускаю точно такой же тест на старом сервере AMD Opteron с новыми дисками SATA. Оба параметра максимально похожи - RAID5 на 6 дисках использует mdadm, системный диск отделен, данные для тестирования генерируются на томе RAID5. Оба Debian 9.
На мой взгляд, результаты сильно отличаются. Ниже вы можете увидеть результаты с нового сервера дисков NVMe и второй со старого.
parameres for both tests:
for each in 1 16 32 64 128 256; do sysbench --test=fileio --file-total-size=300G --file-test-mode=rndrw --max-time=240 --file-fsync-all --max-requests=0 --num-threads=$each run; sle; ep 10; done
Интересно, что новый сервер имеет лучшую производительность среди 64 используемых потоков, а затем медленно снижается. Старый сервер не ограничен даже 256 потоками.
НОВЫЙ NVMe/EPYC/256RAM
sysbench 0.4.12: multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 256
Extra file open flags: 0
128 files, 2.3438Gb each
300Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Calling fsync() after each write operation.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Time limit exceeded, exiting...
(last message repeated 255 times)
Done.
Operations performed: 3873344 Read, 2582466 Write, 2582466 Other = 9038276 Total
Read 59.103Gb Written 39.405Gb Total transferred 98.508Gb (420.28Mb/sec)
26897.95 Requests/sec executed
Test execution summary:
total time: 240.0112s
total number of events: 6455810
total time taken by event execution: 61405.8349
per-request statistics:
min: 0.00ms
avg: 9.51ms
max: 98.10ms
approx. 95 percentile: 34.51ms
Threads fairness:
events (avg/stddev): 25218.0078/152.67
execution time (avg/stddev): 239.8665/0.01
СТАРЫЙ SATA/OPTERON/128RAM - эти скорости слишком низкие, я думаю
Running the test with following options:
Number of threads: 256
Extra file open flags: 0
128 files, 2.3438Gb each
300Gb total file size
Block size 16Kb
Number of random requests for random IO: 0
Read/Write ratio for combined random IO test: 1.50
Calling fsync() after each write operation.
Using synchronous I/O mode
Doing random r/w test
Threads started!
Time limit exceeded, exiting...
(last message repeated 255 times)
Done.
Operations performed: 16969 Read, 11346 Write, 11346 Other = 39661 Total
Read 265.14Mb Written 177.28Mb Total transferred 442.42Mb (1.8366Mb/sec)
117.54 Requests/sec executed
Test execution summary:
total time: 240.8894s
total number of events: 28315
total time taken by event execution: 61556.6328
per-request statistics:
min: 0.01ms
avg: 2173.99ms
max: 43156.52ms
approx. 95 percentile: 7430.17ms
Threads fairness:
events (avg/stddev): 110.6055/12.88
execution time (avg/stddev): 240.4556/0.26