大神好:
我在生产的一台新上架的服务器上,测试了随机读的磁盘指标
sudo fio -name=randread -direct=1 -iodepth=64 -rw=randread -ioengine=libaio -bs=4k -size=2G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/sda
---------------------------------------------------------------------------
结果
slat (usec): min=2, max=151, avg=13.73, stdev= 7.29
clat (usec): min=37, max=948718, avg=20301.72, stdev=27583.37
lat (usec): min=44, max=948725, avg=20315.79, stdev=27583.38
clat percentiles (usec):
| 1.00th=[ 109], 5.00th=[ 2040], 10.00th=[ 3163], 20.00th=[ 5080],
| 30.00th=[ 6783], 40.00th=[ 8455], 50.00th=[ 10552], 60.00th=[ 14222],
| 70.00th=[ 19268], 80.00th=[ 28181], 90.00th=[ 47449], 95.00th=[ 70779],
| 99.00th=[137364], 99.50th=[170918], 99.90th=[252707], 99.95th=[287310],
| 99.99th=[367002]
bw ( KiB/s): min=10184, max=17664, per=99.73%, avg=12564.09, stdev=1256.26, samples=332
iops : min= 2546, max= 4418, avg=3141.02, stdev=314.09, samples=332
从而可以看出 ,随机读的极限也就在 iops:4418 读吞吐量在 17.25M IO使用率也差不多极限了
同时iostat 也观察了磁盘的指标
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 3876.00 0.00 15504.00 0.00 0.00 0.00 0.00 0.00 16.48 0.00 55.94 4.00 0.00 0.26 100.00
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda 3846.00 5.00 15384.00 1064.00 0.00 0.00 0.00 0.00 16.46 2521.40 68.18 4.00 212.80 0.26 100.00
读IOPS在3800-3900 吞吐量在15.5M IO使用率已经100%
而我生产(大量小文件场景,应该是随机IO)使用promethes的node_exporter采集的指标中 读吞吐量 可以达到73M+ 这个感觉差的有点大 ??? 这个是哪里不对吗??? iops 不高 最多两千多
+++++++++++++++++++++++++++++++++++++++++++++++++++
另外就是
我通过监控发现 IO使用率 有时候iops和吞吐量不多 范围100% 而多的反问不到100% cpu也正常 不搞
我还能通过其他方面查看问题吗
展开