日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

linux磁盘fio压力测试,fio进行磁盘压力测试

發(fā)布時間:2025/3/11 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux磁盘fio压力测试,fio进行磁盘压力测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

fio可以用來測試磁盤IO

常用的參數(shù)如下:

filename=/dev/emcpowerb 支持文件系統(tǒng)或者裸設(shè)備,-filename=/dev/sda2或-filename=/dev/sdb

direct=1? ? ? ? ? ? ? ? 測試過程繞過機(jī)器自帶的buffer,使測試結(jié)果更真實(shí)

rw=randwread? ? ? ? ? ? 測試隨機(jī)讀的I/O

rw=randwrite? ? ? ? ? ? 測試隨機(jī)寫的I/O

rw=randrw? ? ? ? ? ? ? ? 測試隨機(jī)混合寫和讀的I/O

rw=read? ? ? ? ? ? ? ? ? 測試順序讀的I/O

rw=write測試順序?qū)懙腎/O

rw=rw? ? ? ? ? ? ? ? ? ? 測試順序混合寫和讀的I/O

bs=4k? ? ? ? ? ? ? ? ? ? 單次io的塊文件大小為4k

bsrange=512-2048? ? ? ? 同上,提定數(shù)據(jù)塊的大小范圍

size=5g? ? ? ? ? ? ? ? ? 本次的測試文件大小為5g,以每次4k的io進(jìn)行測試

numjobs=30? ? ? ? ? ? ? 本次的測試線程為30

runtime=1000? ? ? ? ? ? 測試時間為1000秒,如果不寫則一直將5g文件分4k每次寫完為止

ioengine=psync? ? ? ? ? io引擎使用pync方式,如果要使用libaio引擎,需要yum install libaio-devel包

rwmixwrite=30在混合讀寫的模式下,寫占30%group_reporting? ? ? ? ? 關(guān)于顯示結(jié)果的,匯總每個進(jìn)程的信息

此外

lockmem=1g? ? ? ? ? ? ? 只使用1g內(nèi)存進(jìn)行測試

zero_buffers? ? ? ? ? ? 用0初始化系統(tǒng)buffer

nrfiles=8每個進(jìn)程生成文件的數(shù)量

測試:

測試隨即讀:

fio -filename=/home/intellif/pandaTest -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k

輸出如下:

輸出結(jié)果

輸出結(jié)果的說明:

read列,io表明讀寫磁盤的數(shù)據(jù)量。bw代表磁盤的帶寬,隨即讀還是很慢的,大約5M/s(和此前自己認(rèn)為的相差甚遠(yuǎn)),iops是每秒的io數(shù)量,runt是總共花費(fèi)的時間。

lat(usec),代表io的延遲,單位是納秒,250=0.02%,表示有0.02%的io花費(fèi)了250ns

lat(msec0,代表延遲,單位是毫秒,2=0.24%表示有0.24的io花費(fèi)了3ms,

大部分磁盤隨機(jī)讀的io在10-100ms之間。

其他的輸出,現(xiàn)在還不知道什么意思,以后再研究。

測試隨即寫:

fio -filename=/home/intellif/pandaTest -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=rand_100write_4k

輸出如下:

測試結(jié)果

隨即寫的話速率更低,4.4M/秒。

順序讀的測試如下:

fio -filename=/home/intellif/pandaTest -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100read_4k

輸出如下:

測試結(jié)果

順序讀達(dá)到了848M/秒!!!!沒有那么夸張吧,大部分讀只需要2ns!!!!!!!!!!!!!!!!難道用到了預(yù)讀,緩存這些???

順序?qū)懙臏y試如下:

fio -filename=/home/intellif/pandaTest -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=sqe_100write_4k

輸出如下:

輸出結(jié)果

順序?qū)懙膸捲?5M/s左右,和順序讀的速率差別太大了吧。

100%隨機(jī),70%讀,30%寫

fio -filename=/home/intellif/pandaTest -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=4k -size=10G -numjobs=50 -runtime=180 -group_reporting -name=randrw_70read_4k

輸出結(jié)果如下:

測試結(jié)果

隨機(jī)的話讀寫速度都不咋地。

io=執(zhí)行了多少M(fèi)的IO

bw=平均IO帶寬

iops=IOPS

runt=線程運(yùn)行時間

slat=提交延遲

clat=完成延遲

lat=響應(yīng)時間

bw=帶寬

cpu=利用率

IO depths=io隊(duì)列

IO submit=單個IO提交要提交的IO數(shù)

IO complete=Like the above submit number, but for completions instead.

IO issued=The number of read/write requests issued, and how many of them were short.

IO latencies=IO完延遲的分布

io=總共執(zhí)行了多少size的IO

aggrb=group總帶寬

minb=最小.平均帶寬.

maxb=最大平均帶寬.

mint=group中線程的最短運(yùn)行時間.

maxt=group中線程的最長運(yùn)行時間.

ios=所有g(shù)roup總共執(zhí)行的IO數(shù).

merge=總共發(fā)生的IO合并數(shù).

ticks=Number of ticks we kept the disk busy.

io_queue=花費(fèi)在隊(duì)列上的總共時間.

util=磁盤利用率

4、擴(kuò)展之IO隊(duì)列深度

在某個時刻,有N個inflight的IO請求,包括在隊(duì)列中的IO請求、磁盤正在處理的IO請求。N就是隊(duì)列深度。

加大硬盤隊(duì)列深度就是讓硬盤不斷工作,減少硬盤的空閑時間。

加大隊(duì)列深度 -> 提高利用率 -> 獲得IOPS和MBPS峰值 ->注意響應(yīng)時間在可接受的范圍內(nèi),

增加隊(duì)列深度的辦法有很多,使用異步IO,同時發(fā)起多個IO請求,相當(dāng)于隊(duì)列中有多個IO請求,多線程發(fā)起同步IO請求,相當(dāng)于隊(duì)列中有多個IO請求。

增大應(yīng)用IO大小,到達(dá)底層之后,會變成多個IO請求,相當(dāng)于隊(duì)列中有多個IO請求 隊(duì)列深度增加了。

隊(duì)列深度增加了,IO在隊(duì)列的等待時間也會增加,導(dǎo)致IO響應(yīng)時間變大,這需要權(quán)衡。

為何要對磁盤I/O進(jìn)行并行處理呢?主要目的是提升應(yīng)用程序的性能。這一點(diǎn)對于多物理磁盤組成的虛擬磁盤(或LUN)顯得尤為重要。

如果一次提交一個I/O,雖然響應(yīng)時間較短,但系統(tǒng)的吞吐量很小。

相比較而言,一次提交多個I/O既縮短了磁頭移動距離(通過電梯算法),同時也能夠提升IOPS。

假如一部電梯一次只能搭乘一人,那么每個人一但乘上電梯,就能快速達(dá)到目的地(響應(yīng)時間),但需要耗費(fèi)較長的等待時間(隊(duì)列長度)。

因此一次向磁盤系統(tǒng)提交多個I/O能夠平衡吞吐量和整體響應(yīng)時間。

Linux系統(tǒng)查看默認(rèn)隊(duì)列深度:

lsscsi -l

總結(jié)

以上是生活随笔為你收集整理的linux磁盘fio压力测试,fio进行磁盘压力测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。