溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何進(jìn)行解析linux IO

發(fā)布時間:2021-11-09 09:39:41 來源:億速云 閱讀:106 作者:柒染 欄目:建站服務(wù)器

本篇文章給大家分享的是有關(guān)如何進(jìn)行解析linux IO,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

容易被誤讀的IOSTAT

- 因為/proc/diskstats并未把隊列等待時間和硬盤處理時間分開,所以凡是以它為基礎(chǔ)的工具都不可能分別提供disk service time以及queue有關(guān)的值
- iostat是以/proc/diskstats為基礎(chǔ)計算出來的,
- 每個I/O的平均耗時是用await表示的,但它不能反映硬盤設(shè)備的性能,因為await不僅包括硬盤設(shè)備處理I/O的時間,還包括了在隊列中等待的時
- %util:該硬盤設(shè)備的繁忙比率=[Δio_ticks/Δt],表示該設(shè)備有I/O(即非空閑)的時間比率,不考慮I/O有多少,只考慮有沒有。太高可能都是順序IO
- %iowait 表示在一個采樣周期內(nèi)有百分之幾的時間屬于以下情況:CPU空閑、并且有仍未完成的I/O請求


pidstat 計算進(jìn)程單位時間內(nèi)的增量

iotop 觀察進(jìn)程的動態(tài)I/O

利用BLKTRACE分析IO性能

使用blktrace需要掛載debugfs:
$ mount -t debugfs debugfs /sys/kernel/debug

利用blktrace把數(shù)據(jù)記錄在文件里,缺省的輸出文件名是 sdb.blktrace.<cpu>,每個CPU對應(yīng)一個文件。你也可以用-o參數(shù)指定自己的輸出文件名。
$ blktrace -d /dev/sdb

利用btt分析blktrace數(shù)據(jù)。btt是對blktrace數(shù)據(jù)進(jìn)行自動分析的工具。
btt不能分析實時數(shù)據(jù),只能對blktrace保存的數(shù)據(jù)文件進(jìn)行分析。使用方法:
把原本按CPU分別保存的文件合并成一個,合并后的文件名為sdb.blktrace.bin:
$ blkparse -i sdb -d sdb.blktrace.bin
執(zhí)行btt對sdb.blktrace.bin進(jìn)行分析:
$ btt -i sdb.blktrace.bin

我們看到93.7461%的時間消耗在D2C,也就是硬件層,這是正常的,我們說過D2C是衡量硬件性能的指標(biāo),
這里單個IO平均0.129201毫秒,已經(jīng)是相當(dāng)快了,單個IO最慢14.246176 毫秒,不算壞。Q2G和G2I都很小,完全正常。
I2D稍微有點大,應(yīng)該是cfq scheduler的調(diào)度策略造成的,你可以試試其它scheduler,比如deadline,比較兩者的差異,然后選擇最適合你應(yīng)用特點的那個。

以上就是如何進(jìn)行解析linux IO,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI