Storage I/O Performansı
Aziz Özdemiroğlu

Merhaba Teknolojik Blog Okurları, bu yazımda sizlere kullanmış olduğumuz storage ünitelerinin I/O performanslarını basit bir şekilde nasıl test edebileceğinizi anlatmaya çalışacağım.
I/O ( in/out ) yani 1 saniyede diskin yapabildiği işlem olarak ta düşünebilirsiniz.
Ben testleri 7200 RPM lik klasik SATA PC disk'i ile SAS RAID 5 bir disk yapısı ve RAID 5 Yapılmış bir NAS cihazı ile yapacağım. Farklara bakarak disk okuma yazma performansları hakkında bilgi edinebilirsiniz.
Performans testi için Microsoft için derlenmiş bir araç kullnacağım Arac DiskSpd linki tıklayarak aracı indirebilirsiniz. Bu bilgiler ışığında oluşturacağınız storage'ın hangi IO değerlerinde olabileceğini aşağı yukarı anlayabilirsiniz. Çok yüksek I/O değerleri için 100 lerce diskin bir araya getirilmesi gerekmektedir.
Komutlar MS Tech sayfasında kullanılan komutlarla aynıdır.
c:>diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w50 -c50M c:\io.dat
Bu komut 7200 RPM SATA disk içindir.
Command Line: diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w50 -c50M c:\io.dat
Input parameters:
timespan: 1 ------------- duration: 60s warm up time: 5s cool down time: 0s measuring latency random seed: 0 path: 'c:\io.dat' think time: 0ms burst size: 0 software and hardware write cache disabled performing mix test (write/read ratio: 50/100) block size: 8192 using random I/O (alignment: 8192) number of outstanding I/O operations: 2 thread stride size: 0 threads per file: 4 using I/O Completion Ports IO priority: normal
Results for timespan 1: *******************************************************************************
actual test time: 60.00s thread count: 4 proc count: 4
CPU | Usage | User | Kernel | Idle ------------------------------------------- 0| 20.51%| 11.93%| 8.58%| 79.48% 1| 17.34%| 11.49%| 5.85%| 82.66% 2| 46.88%| 30.47%| 16.41%| 53.12% 3| 2.96%| 1.82%| 1.14%| 97.03% ------------------------------------------- avg.| 21.93%| 13.93%| 8.00%| 78.07%
Total IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 29704192 | 3626 | 0.47 | 60.43 | 33.009 | 70.586 | c:\io.dat (50MB) 1 | 31408128 | 3834 | 0.50 | 63.90 | 31.249 | 66.037 | c:\io.dat (50MB) 2 | 29179904 | 3562 | 0.46 | 59.37 | 33.645 | 69.307 | c:\io.dat (50MB) 3 | 31014912 | 3786 | 0.49 | 63.10 | 31.670 | 71.749 | c:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 121307136 | 14808 | 1.93 | 246.80 | 32.364 | 69.439
Read IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 14958592 | 1826 | 0.24 | 30.43 | 57.300 | 91.307 | c:\io.dat (50MB) 1 | 15343616 | 1873 | 0.24 | 31.22 | 55.485 | 86.207 | c:\io.dat (50MB) 2 | 14761984 | 1802 | 0.23 | 30.03 | 57.796 | 89.082 | c:\io.dat (50MB) 3 | 15114240 | 1845 | 0.24 | 30.75 | 56.696 | 94.838 | c:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 60178432 | 7346 | 0.96 | 122.44 | 56.807 | 90.407
Write IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 14745600 | 1800 | 0.23 | 30.00 | 8.367 | 19.330 | c:\io.dat (50MB) 1 | 16064512 | 1961 | 0.26 | 32.68 | 8.100 | 18.191 | c:\io.dat (50MB) 2 | 14417920 | 1760 | 0.23 | 29.33 | 8.918 | 19.698 | c:\io.dat (50MB) 3 | 15900672 | 1941 | 0.25 | 32.35 | 7.881 | 18.188 | c:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 61128704 | 7462 | 0.97 | 124.37 | 8.300 | 18.836 %-ile | Read (ms) | Write (ms) | Total (ms) ---------------------------------------------- min | 0.199 | 0.287 | 0.199 25th | 10.893 | 0.789 | 1.535 50th | 34.233 | 1.596 | 8.072 75th | 69.846 | 3.603 | 41.512 90th | 116.362 | 29.906 | 82.482 95th | 170.276 | 47.495 | 118.130 99th | 429.384 | 89.545 | 292.449 3-nines | 1095.663 | 161.672 | 830.726 4-nines | 1539.569 | 320.368 | 1529.687 5-nines | 1539.569 | 320.368 | 1539.569 6-nines | 1539.569 | 320.368 | 1539.569 7-nines | 1539.569 | 320.368 | 1539.569 8-nines | 1539.569 | 320.368 | 1539.569 max | 1539.569 | 320.368 | 1539.569
=============================================
RAID 5 Performansı ( 4 X 10K SAS Disk )
Command Line: Diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w50 -c50M E:\io.dat
Input parameters:
timespan: 1 ------------- duration: 60s warm up time: 5s cool down time: 0s measuring latency random seed: 0 path: 'E:\io.dat' think time: 0ms burst size: 0 software and hardware write cache disabled performing mix test (write/read ratio: 50/100) block size: 8192 using random I/O (alignment: 8192) number of outstanding I/O operations: 2 thread stride size: 0 threads per file: 4 using I/O Completion Ports IO priority: normal
Results for timespan 1: *******************************************************************************
actual test time: 60.00s thread count: 4 proc count: 24
CPU | Usage | User | Kernel | Idle ------------------------------------------- 0| 32.71%| 3.83%| 28.88%| 67.29% 1| 32.32%| 4.27%| 28.05%| 67.68% 2| 38.18%| 5.42%| 32.76%| 61.82% 3| 67.89%| 4.77%| 63.12%| 32.11% 4| 3.88%| 1.38%| 2.50%| 96.12% 5| 0.52%| 0.08%| 0.44%| 99.48% 6| 4.92%| 1.43%| 3.49%| 95.08% 7| 0.13%| 0.03%| 0.10%| 99.87% 8| 0.57%| 0.39%| 0.18%| 99.43% 9| 0.00%| 0.00%| 0.00%| 100.00% 10| 0.05%| 0.05%| 0.00%| 99.95% 11| 0.03%| 0.00%| 0.03%| 99.97% 12| 4.66%| 1.09%| 3.57%| 95.34% 13| 2.32%| 0.76%| 1.56%| 97.68% 14| 2.81%| 1.15%| 1.67%| 97.19% 15| 0.57%| 0.21%| 0.36%| 99.43% 16| 0.03%| 0.00%| 0.03%| 99.97% 17| 0.00%| 0.00%| 0.00%| 100.00% 18| 0.00%| 0.00%| 0.00%| 100.00% 19| 0.10%| 0.10%| 0.00%| 99.90% 20| 0.00%| 0.00%| 0.00%| 100.00% 21| 0.00%| 0.00%| 0.00%| 100.00% 22| 0.00%| 0.00%| 0.00%| 100.00% 23| 0.00%| 0.00%| 0.00%| 100.00% ------------------------------------------- avg.| 7.99%| 1.04%| 6.95%| 92.01%
Total IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 6127140864 | 747942 | 97.39 | 12465.69 | 0.159 | 0.101 | E:\io.dat (50MB) 1 | 6095618048 | 744094 | 96.89 | 12401.55 | 0.160 | 0.098 | E:\io.dat (50MB) 2 | 6115770368 | 746554 | 97.21 | 12442.55 | 0.159 | 0.106 | E:\io.dat (50MB) 3 | 5994291200 | 731725 | 95.28 | 12195.40 | 0.161 | 0.084 | E:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 24332820480 | 2970315 | 386.76 | 49505.19 | 0.160 | 0.098
Read IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 3061981184 | 373777 | 48.67 | 6229.61 | 0.158 | 0.084 | E:\io.dat (50MB) 1 | 3046809600 | 371925 | 48.43 | 6198.74 | 0.158 | 0.082 | E:\io.dat (50MB) 2 | 3059253248 | 373444 | 48.63 | 6224.06 | 0.158 | 0.095 | E:\io.dat (50MB) 3 | 2992267264 | 365267 | 47.56 | 6087.78 | 0.160 | 0.073 | E:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 12160311296 | 1484413 | 193.28 | 24740.19 | 0.159 | 0.084
Write IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 3065159680 | 374165 | 48.72 | 6236.08 | 0.160 | 0.115 | E:\io.dat (50MB) 1 | 3048808448 | 372169 | 48.46 | 6202.81 | 0.161 | 0.113 | E:\io.dat (50MB) 2 | 3056517120 | 373110 | 48.58 | 6218.49 | 0.160 | 0.117 | E:\io.dat (50MB) 3 | 3002023936 | 366458 | 47.72 | 6107.63 | 0.162 | 0.094 | E:\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 12172509184 | 1485902 | 193.48 | 24765.00 | 0.161 | 0.110 %-ile | Read (ms) | Write (ms) | Total (ms) ---------------------------------------------- min | 0.060 | 0.063 | 0.060 25th | 0.141 | 0.143 | 0.142 50th | 0.149 | 0.150 | 0.149 75th | 0.161 | 0.163 | 0.162 90th | 0.196 | 0.198 | 0.197 95th | 0.224 | 0.226 | 0.224 99th | 0.304 | 0.307 | 0.306 3-nines | 0.845 | 0.947 | 0.892 4-nines | 2.953 | 3.653 | 3.215 5-nines | 9.369 | 10.877 | 10.105 6-nines | 21.350 | 37.252 | 35.710 7-nines | 21.560 | 38.153 | 38.153 8-nines | 21.560 | 38.153 | 38.153 max | 21.560 | 38.153 | 38.153
==============================================
NAS RAID 5 ( 3X 7200 RPM 3 TB )
Command Line: diskspd.exe -b8K -d60 -h -L -o2 -t4 -r -w50 -c50M \\10.137.67.67\Public\io.dat
Input parameters:
timespan: 1 ------------- duration: 60s warm up time: 5s cool down time: 0s measuring latency random seed: 0 path: '\\10.137.67.67\Public\io.dat' think time: 0ms burst size: 0 software and hardware write cache disabled performing mix test (write/read ratio: 50/100) block size: 8192 using random I/O (alignment: 8192) number of outstanding I/O operations: 2 thread stride size: 0 threads per file: 4 using I/O Completion Ports IO priority: normal
Results for timespan 1: *******************************************************************************
actual test time: 60.00s thread count: 4 proc count: 4
CPU | Usage | User | Kernel | Idle ------------------------------------------- 0| 61.39%| 8.03%| 53.35%| 38.61% 1| 26.31%| 8.76%| 17.55%| 73.69% 2| 40.80%| 15.03%| 25.77%| 59.20% 3| 11.78%| 1.04%| 10.74%| 88.22% ------------------------------------------- avg.| 35.07%| 8.22%| 26.85%| 64.93%
Total IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 446865408 | 54549 | 7.10 | 909.17 | 2.198 | 10.793 | \\10.137.67.67\Public\io.dat (50MB) 1 | 439836672 | 53691 | 6.99 | 894.87 | 2.233 | 10.869 | \\10.137.67.67\Public\io.dat (50MB) 2 | 413818880 | 50515 | 6.58 | 841.93 | 2.374 | 11.886 | \\10.137.67.67\Public\io.dat (50MB) 3 | 445480960 | 54380 | 7.08 | 906.35 | 2.205 | 10.814 | \\10.137.67.67\Public\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 1746001920 | 213135 | 27.75 | 3552.32 | 2.250 | 11.086
Read IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 224247808 | 27374 | 3.56 | 456.24 | 2.915 | 14.554 | \\10.137.67.67\Public\io.dat (50MB) 1 | 220323840 | 26895 | 3.50 | 448.26 | 2.835 | 10.454 | \\10.137.67.67\Public\io.dat (50MB) 2 | 208240640 | 25420 | 3.31 | 423.68 | 3.051 | 13.446 | \\10.137.67.67\Public\io.dat (50MB) 3 | 222019584 | 27102 | 3.53 | 451.71 | 2.912 | 14.273 | \\10.137.67.67\Public\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 874831872 | 106791 | 13.91 | 1779.89 | 2.927 | 13.288
Write IO thread | bytes | I/Os | MB/s | I/O per s | AvgLat | LatStdDev | file ----------------------------------------------------------------------------------------------------- 0 | 222617600 | 27175 | 3.54 | 452.93 | 1.475 | 4.408 | \\10.137.67.67\Public\io.dat (50MB) 1 | 219512832 | 26796 | 3.49 | 446.61 | 1.628 | 11.237 | \\10.137.67.67\Public\io.dat (50MB) 2 | 205578240 | 25095 | 3.27 | 418.26 | 1.688 | 10.015 | \\10.137.67.67\Public\io.dat (50MB) 3 | 223461376 | 27278 | 3.55 | 454.64 | 1.502 | 5.455 | \\10.137.67.67\Public\io.dat (50MB) ----------------------------------------------------------------------------------------------------- total: 871170048 | 106344 | 13.85 | 1772.44 | 1.571 | 8.251 %-ile | Read (ms) | Write (ms) | Total (ms) ---------------------------------------------- min | 0.628 | 0.494 | 0.494 25th | 1.550 | 0.801 | 1.085 50th | 2.181 | 1.126 | 1.576 75th | 3.087 | 1.612 | 2.481 90th | 4.261 | 2.430 | 3.587 95th | 5.235 | 3.130 | 4.479 99th | 11.259 | 5.296 | 8.217 3-nines | 60.470 | 30.571 | 41.713 4-nines | 687.475 | 254.350 | 375.280 5-nines | 1400.532 | 1398.339 | 1400.532 6-nines | 1401.416 | 1401.197 | 1401.416 7-nines | 1401.416 | 1401.197 | 1401.416 8-nines | 1401.416 | 1401.197 | 1401.416 max | 1401.416 | 1401.197 | 1401.416
Teşekkürler,
Aziz Ozdemiroglu Teknolojik-Blog.Com





