伺服器IO效能測試的筆記 一

2021-08-27 02:31:06 字數 1318 閱讀 7489

這今天一直在測一台新機器的儲存效能以便為接下來的乙個大專案的儲存機選型。因為自己剛進入這個行業,對很多的東西都沒經驗,測試過程也是磕磕絆絆,但好在有同事的幫助,現在對這次測試做乙個中途總結。

測試步驟神馬的就不說了,測試目標主要是iops/bandwidth/響應時間等等一些,在做了raid的情況下磁碟個數由少到多的情況下,iops是不是呈線性增長。另外還有乙個很重的測試:io是不是比較穩定,比如說4塊盤的raid,我們最後算出iops為700,那是不是每塊盤上差不都都是150+呢?存不存在某個時刻單塊盤為0或是很小的情況呢? iops是不是急公升急降等等

下面是我在測試中遇到的現象,感覺挺有用的:

1.orion這個工具測出來的資料的確非常可靠,因為我的測試目標裡面還需要測每個時間點內的iops等等是不是波動比較大(比如我設定的每個時間點60s,orion統計出的只是這個60s的平均值,並沒有裡面每1s的值),所以我通過乙個指令碼利用vmstat/iostat抓取每1s的資料,然後進行分析,發現iostat/vmstat的資料最後和orion統計出來的資料相當吻合。

2. 我處理iostat資料時中發現某些時間的iops急劇下降或是上公升,剛開始的時候沒有注意到,以為是波動比較大。後來仔細分析,我覺得這是乙個假象,因為orion在時間點的切換(增加執行緒,增加壓力)時,這中間的資料會不準確,我然後統計了兩次iostat統計出來的iops急劇變化的時間差是多少------60s,這就正好是我設定的--duration 60,所以這個iostat統計出來的iops急劇變化發生在時間點的切換時,因此不準確也就理所當然了。

3. 還有我在測試不同io size的iops時,又乙個假象發生了:io_size=1024kb的時候竟然比io_size=8kb的時候還要高,我剛開始不知道原因,後來同事跟我說因為io_size=1024kb太大,很多時候系統都會講其拆分,比如我這裡就是拆成了4份,雖然本質上os對其進行了拆分,但還是統計了4次iops,因此就得到剛開始的假象了,其實我們通過iostat資料分析iops的時候,不能僅僅只看r/s,w/s這兩者的和,這兩者可能是假象,我們真正算iops是頻寬/io_size。比如下面這個資料:

sdaa 0.00 0.00 259.00 0.00 66280.00 0.00 511.81 3.30 12.86 3.83 99.20

表面上看r/s=259,但實際上你會發現bw=66280kb,而測試時的io_size=1024kb,66280/1024=64,而259/64=4所以說在實際操作時,每個io_size=1024kb實際上是拆成了4個io的,我這裡是io_size=1m時被拆分了,現實中很可能io_size>16kb就會被拆分了,所以以後分析iostat時一定不要被這個假象欺騙了。

這次就寫到這裡吧,以後學到了更多的知識再記錄下來~

伺服器IO效能提公升方案

介質 hdd ssd 介面sata scsi controller,raid卡or南橋,是否有快取 檔案系統 xfs,或其他brtfs之類的 磁碟佇列演算法deadline cfq noop dm記憶體快取設定 raid形式 效能raid0 磁碟空間使用率 100 故成本最低。讀效能 n單塊磁碟的讀...

sysbench測試伺服器效能

sysbench目前已經有0.5的版本,不過最普遍使用的依舊是0.4.12,所以接下來我們會以0.4.12這個版本作為測試 step2 執行測試指令碼 請不要直接貼上此指令碼到你機器上執行,除非你知道它在做什麼 root dbserver data cat sysbench all.sh bin b...

如何測試伺服器效能

如何測試伺服器效能?伺服器的穩定性對我們來說是最重要的,如果在效能方面不能夠保證業務執行的需要,那麼相當於白白浪費錢。今天壹基比小七為大家講解從以下角度來進行伺服器效能的測試。穩定性測試 已知系統高峰期使用人數 各事務操作頻率等。設計綜合測試場景,測試時,將每個場景按照一定人數比例一起執行,模擬使用...