Тестирование скорости диска
15 Mar 2017Есть задумка выполнять проверку текущей скорости диска из системы мониторинга Icinga2. На данный момент разбираюсь с консольной утилитой diskspd. В дальнейшем планирую написать скрипт на powershell для выполнения проверки агентом Icinga2.
В процессе ...
Примеры использования:
#Создание файла размером 50MB
$f = new-object System.IO.FileStream c:\temp\io.dat, Create, ReadWrite
$f.SetLength(50MB)
$f.Close()
cd "C:\temp\Diskspd-v2.0.17\amd64fre"
.\diskspd -d60 -F1 -r -w50 -b4k -o10 -Rxml -D -L c:\temp\io.dat | Add-Content c:\temp\result_c.xml
.\diskspd -d60 -F1 -r -w50 -b4k -o10 -Rxml -D -L d:\temp\io.dat | Add-Content c:\temp\result_d.xml
.\diskspd -d60 -F1 -r -w50 -b4k -o10 -Rxml -D -L e:\temp\io.dat | Add-Content c:\temp\result_e.xml
..\process-diskspd.ps1 c:\Temp c:\temp\result.csv
Результаты тестов в Excel:
Описание теста | Пример команды |
---|---|
Test for 15 seconds using a single thread to drive 100% random 4KiB reads at a depth of 10 overlapped | diskspd -d15 -F1 -w0 -r -b4k -o10 c:\testfile.dat |
Large area random concurrent reads of 4KB blocks | diskspd -c2G -b4K -F8 -r -o32 -W60 -d60 -Sh testfile.dat |
Large area random concurrent writes of 4KB blocks | diskspd -c2G -w -b4K -F8 -r -o32 -W60 -d60 -Sh testfile.dat |
Large area random concurrent reads of 64KB blocks | diskspd -c2G -b64K -F8 -r -o32 -W60 -d60 -Sh testfile.dat |
Large area random concurrent writes of 64KB blocks | diskspd -c2G -w -b64K -F8 -r -o32 -W60 -d60 -Sh testfile.dat |
Large area random serial reads of 4KB blocks. | diskspd -c2G -b4K -r -o1 -W60 -d60 -Sh testfile.dat |
Large area random serial writes of 4KB blocks | diskspd -c2G -w -b4K -r -o1 -W60 -d60 -Sh testfile.dat |
Large area random serial reads of 64KB blocks | diskspd -c2G -b64K -r -o1 -W60 -d60 -Sh testfile.dat |
Large area random serial writes of 64KB blocks | diskspd -c2G -w -b64K -r -o1 -W60 -d60 -Sh testfile.dat |
Large area sequential concurrent reads of 4KB blocks | diskspd -c2G -b4K -F8 -T1b -s8b -o32 -W60 -d60 -Sh testfile.dat |
Large area sequential concurrent writes of 4KB blocks | diskspd -c2G -w -b4K -F8 -T1b -s8b -o32 -W60 -d60 -Sh testfile.dat |
Large area sequential concurrent reads of 64KB blocks | diskspd -c2G -b64K -F8 -T1b -s8b -o32 -W60 -d60 -Sh testfile.dat |
Large area sequential concurrent writes of 64KB blocks | diskspd -c2G -w -b64K -F8 -T1b -s8b -o32 -W60 -d60 -Sh testfile.dat |
Large area sequential serial reads of 4KB blocks | diskspd -c2G -b4K -o1 -W60 -d60 -Sh testfile.dat |
Large area sequential serial writes of 4KB blocks | diskspd -c2G -w -b4K -o1 -W60 -d60 -Sh testfile.dat |
Large area sequential serial reads of 64KB blocks | diskspd -c2G -b64K -o1 -W60 -d60 -Sh testfile.dat |
Large area sequential serial writes of 64KB blocks | diskspd -c2G -w -b64K -o1 -W60 -d60 -Sh testfile.dat |
Small area concurrent reads of 4KB blocks | diskspd -c100b -b4K -o32 -F8 -T1b -s8b -W60 -d60 -Sh testfile.dat |
Small area concurrent writes of 4KB blocks | diskspd -c100b -w -b4K -o32 -F8 -T1b -s8b -W60 -d60 -Sh testfile.dat |
Small area concurrent reads of 64KB blocks | diskspd -c100b -b64K -o32 -F8 -T1b -s8b -W60 -d60 -Sh testfile.dat |
Small area concurrent writes of 64KB blocks | diskspd -c100b -w -b64K -o32 -F8 -T1b -s8b -W60 -d60 -Sh testfile.dat |
Gather data about physical disk I/O events and memory events from NT Kernel Logger | diskspd -eDISK_IO -eMEMORY_PAGE_FAULTS testfile.dat |
Instruct NT Kernel Logger to use paged memory instead of non-paged memory and gather data concerning physical disk I/O events | diskspd -eDISK_IO -ep testfile.dat |
Run a DiskSpd and signal events when the actual test starts and finishes | diskspd -ysMyTestStartedEvent -yfMyTestFinishedEvent testfile1.dat |
Run a few separate instances of DiskSpd, but synchronize their start and stop times | diskspd -o1 -t2 -a0,1 -yrMyStartEvent -ypMyStopEvent testfile1.dat diskspd -r -t2 -a2,3 -yrMyStartEvent -ypMyStopEvent testfile2.dat diskspd -Sh -t4 -a4,5,6,7 -yrMyStartEvent -ypMyStopEvent testfile3.dat diskspd -yeMyStartEvent rem After a few seconds diskspd -yeMyStopEvent |