国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Linux fio測試硬盤性能

這篇具有很好參考價值的文章主要介紹了Linux fio測試硬盤性能。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Linux系統(tǒng)中,測試硬盤的性能一般使用fio工具實現(xiàn),fio是Flexible I/O Tester的縮寫。是一個常受歡迎的、用于測試存儲性能的工具,而且還可以模擬多種不同的I/O模式和工作負載。

一般我們要測試一塊硬盤的性能,一般需要進行隨機寫入測試、隨機讀取測試、順序?qū)懭霚y試、順序讀取測試和混合讀寫測試這五步。


fio的使用

這個工具不是Linux發(fā)行版自帶的,需要自己手動安裝才行。

# ubuntu
sudo apt install fio

# centos
sudo yum install fio

使用fio測試硬盤的寫性能時,很容易就會造成系統(tǒng)上的數(shù)據(jù)丟失。主要就兩種情況:

  • 未指定文件名:不指定文件名會直接對硬盤進行測試。這樣的操作將覆蓋設(shè)備上的數(shù)據(jù),包括文件系統(tǒng)、分區(qū)表等。這將導(dǎo)致整個設(shè)備上的數(shù)據(jù)丟失。

  • 文件名重合:指定了文件名但與已存在的文件重合,寫操作將會覆蓋這個文件的內(nèi)容,導(dǎo)致原有數(shù)據(jù)丟失。


隨機寫入性能測試

不繞過緩存

此時會受到會受到操作系統(tǒng)的頁面緩存(page cache)的影響,即操作系統(tǒng)通常會緩存讀寫操作,這可能會導(dǎo)致不真實的高性能讀寫結(jié)果。使用直接I/O可以得到?jīng)]有緩存效應(yīng)的真實磁盤性能。

fio --name=testfile --directory=/home/ehigh/test_dir --size=1G --rw=randwrite --bs=4k --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1

表示在 /home/ehigh/test_dir 目錄中創(chuàng)建一個大小為1G的測試文件testfile,使用隨機寫入的模式進行測試,每次讀/寫的數(shù)據(jù)量是4KB。在30s的時間內(nèi),通過啟動一個工作進程或線程來進行測試。

說明:

  • --name=testfile指定生成的測試文件名稱,不指定就會會直接對硬盤進行測試,可能會造成數(shù)據(jù)丟失

  • --directory指定測試文件存放路徑,不指定就是在當(dāng)前路徑下

  • --numjobs指定測試線程的數(shù)量,模擬單線程或單任務(wù)工作負載,不測試并發(fā)造成的額外壓力,設(shè)置為1就可以了

  • --runtime指定測試時間,短時測試一般30s差不多了,可以快速評估和比較不同配置或硬件的性能

  • --size指定測試文件的大小,一般1G差不多就可以了

  • --rw指定測試的模式,andwrite是隨機寫入模式。randrw: 隨機讀寫。read: 順序讀取。write: 順序?qū)懭?。readwrite:順序混合讀寫(使用rwmixread來指定讀取的百分比。例如,rwmixread=70表示讀取占70%,寫入占30%。)。randrw:隨機混合讀寫(也是結(jié)合rwmixread來指定讀取的百分比)

  • --bs指定每個每個IO操作將使用4KB的大小

  • --end_fsync指定測試結(jié)束時,確保所有寫入都同步到磁,這樣更能確保測試數(shù)據(jù)的準(zhǔn)確

Linux fio測試硬盤性能
 write: IOPS=11.3k, BW=43.0MiB/s  
 	# 在測試期間,平均每秒鐘完成了11.3k次獨立的IO寫操作,這些寫操作的總帶寬是1825KiB每秒(即表示每秒鐘的數(shù)據(jù)寫入速度)

# slat:提交延遲 clat:完成延遲 lat:總延遲
	# slat:指應(yīng)用程序提交I/O到操作系統(tǒng),到操作系統(tǒng)接收并開始處理這個I/O所需的時間。  平均的提交延遲為2.68微秒。
	# clat:指操作系統(tǒng)開始處理I/O,到I/O操作真正完成所需的時間。完成延遲為1326.67微秒,即約1.326毫秒。
	# lat:應(yīng)用程序提交I/O到I/O操作真正完成所需的時間。這里的總延遲的標(biāo)準(zhǔn)偏差為167,993.51微秒,即約168毫秒
	# clat percentiles (usec):不同百分位數(shù)下的完成延遲,可以通過這個來確定遲的分布
	# 99.99th=[  545] 如果99th百分位數(shù)的延遲遠高于平均延遲(clat的avg值),這可能意味著存在一些異常高的延遲。

cpu:測試過程中用戶空間和內(nèi)核空間的CPU使用率,usr表示用戶空間。sys表示內(nèi)核空間

# 這個是寫操作的摘要信息
Run status group 0 (all jobs):
  WRITE: bw=43.0MiB/s (46.1MB/s), 43.0MiB/s-43.0MiB/s (46.1MB/s-46.1MB/s), io=2048MiB (2147MB), run=46558-46558msec
	#  bw=43.0MiB/s :平均帶寬,每秒鐘數(shù)據(jù)寫入的速度
	# io=2048MiB (2147MB): 在整個測試過程中寫入的總數(shù)據(jù)量。

Disk stats (read/write):
  sda: ios=2/7271, merge=0/348, ticks=1637/389056, in_queue=409371, util=95.63%
	# ios=2/7271: 讀/寫的I/O操作數(shù),進行了2次讀操作和7271次寫操作
	# util=95.63%,測試過程中設(shè)備的利用率,接近100%的值通常意味著磁盤是瓶頸。

繞過緩存

通過 -direct=1 參數(shù) 在 fio 中用于啟用直接I/O模式,數(shù)據(jù)直接從用戶空間傳輸?shù)酱疟P,或從磁盤傳輸?shù)接脩艨臻g,而不經(jīng)過操作系統(tǒng)的緩存。

fio --name=testfile --directory=/home/ehigh/test_dir --size=1G --rw=randwrite --bs=4k --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1 -direct=1
Linux fio測試硬盤性能

可以明顯看到,繞過緩存后瞬間就降下來了。


多線程測試

--numjobs 參數(shù)在 fio 中用于指定測試中應(yīng)使用的任務(wù)(線程或進程)數(shù)量,可以用來測試并發(fā)度,吞吐量、延遲等內(nèi)容。

因為多個線程執(zhí)行時,可能導(dǎo)致更高的 I/O 壓力和更高的設(shè)備利用率、高延遲等。這樣更加能模擬涉及到多線程或多進程并發(fā)訪問存儲的情況。文章來源地址http://www.zghlxwxcb.cn/news/detail-710814.html

fio --name=testfile --directory=/home/ehigh/test_dir --size=1G --rw=randwrite --bs=4k --ioengine=libaio --iodepth=16 --numjobs=4 --runtime=30 --time_based --end_fsync=1 -direct=1
Linux fio測試硬盤性能

隨機讀取測試

fio --name=randread --directory=/home/ehigh/test_dir --size=1G --rw=randread --bs=4k --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1

順序?qū)懭霚y試

 fio --name=seqwrite --directory=/home/ehigh/test_dir --size=1G --rw=write --bs=1M --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1	

順序讀取測試:

fio --name=seqread --directory=/home/ehigh/test_dir --size=1G --rw=read --bs=1M --ioengine=libaio --iodepth=16 --numjobs=1 --runtime=30 --time_based --end_fsync=1

混合讀寫測試

fio --name=mixedrw --rw=rw --rwmixread=70 --bs=4k --numjobs=1 --ioengine=libaio --iodepth=16 --runtime=60 --size=1G --filename=testfile --directory=/home/ehigh/test_dir

到了這里,關(guān)于Linux fio測試硬盤性能的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 磁盤性能測試工具之fio

    fio 是測試磁盤性能的一個非常好的工具,用來對硬件進行壓力測試和驗證。 CentOS 6.5等較老版本的操作系統(tǒng)用 fdisk 創(chuàng)建分區(qū)時,默認為非4KB對齊選擇初始磁柱編號,對性能有較大的影響,建議針對該類操作系統(tǒng),在創(chuàng)建分區(qū)時4KB對齊選取初始磁柱編號。 請不要在系統(tǒng)盤上進

    2024年02月13日
    瀏覽(23)
  • 磁盤性能測試工具-FIO的安裝及使用

    磁盤性能測試工具-FIO的安裝及使用

    FIO介紹 FIO是一款測試IOPS的工具,用于對磁盤進行壓力測試和驗證,磁盤I/O是檢查磁盤性能的重要指標(biāo),可以按照負載情況分成照順序讀寫,隨機讀寫兩大類,F(xiàn)IO可產(chǎn)生很多線程或進程并執(zhí)行用戶指定的特定類型的I/O操作,典型用途是編寫和模擬I/O負載匹配的作業(yè)文件,也就

    2024年01月16日
    瀏覽(20)
  • Linux下Python腳本的編寫解析fio測試log(四)

    Linux下Python腳本的編寫解析fio測試log(四)

    在我們平常的測試盤的過程中,fio是一款業(yè)界最為通用的工具,通過Fio可以只知道一個盤具體的帶寬,iops,延遲等等.比如下面這段fio的log 這里邊需要拿出log里的一些參數(shù) 做成表格 如下: 下面說下如何用Python解析log并做成表格 1 同樣是用到Python中文件函數(shù)open,調(diào)用四個模塊sy

    2024年02月08日
    瀏覽(17)
  • Linux系統(tǒng)運行時參數(shù)命令(性能監(jiān)控、測試)(3)網(wǎng)絡(luò)IO性能監(jiān)控

    Linux系統(tǒng)運行時參數(shù)命令(性能監(jiān)控、測試)(3)網(wǎng)絡(luò)IO性能監(jiān)控

    通常用帶寬、吞吐量、延時、PPS(Packet Per Second)等指標(biāo)衡量網(wǎng)絡(luò)性能 帶寬 ,表示鏈路的最大傳輸速率,單位通常為b/s(比特/秒) 吞吐量 ,表示單位時間內(nèi)成功傳輸?shù)臄?shù)據(jù)量,單位通常為b/s(比特/秒)或者B/s(字節(jié)/秒)。吞吐量受帶寬限制,而吞吐量/帶寬,也就是 網(wǎng)絡(luò)

    2024年02月13日
    瀏覽(21)
  • Fio工具詳解【強大的IO性能壓測工具】

    [time] runtime=time ? 告訴fio在指定的時間段后終止處理。很難確定指定作業(yè)將運行多長時間,因此此參數(shù)可以方便的將總運行時間限制為給定時間。當(dāng)省略單位時間,該數(shù)值以秒為單位進行解釋。 time_based ? 如果設(shè)置,即使文件被完全讀取或?qū)懭?,fio也將在指定的運行期間運行

    2024年02月01日
    瀏覽(47)
  • Linux hdparm命令教程:優(yōu)化硬盤性能和讀寫速度(附實例詳解和注意事項)

    hdparm 是一個用于控制和配置硬盤驅(qū)動器的命令行工具。它允許您查看和修改硬盤的參數(shù),包括緩存設(shè)置、高級電源管理、硬盤性能等。通過 hdparm ,您可以優(yōu)化硬盤的讀寫速度和性能。 hdparm 在大多數(shù) Linux 發(fā)行版中都可用,包括 Debian、Ubuntu、CentOS、Fedora 等。如果某個發(fā)行版

    2024年04月23日
    瀏覽(19)
  • 如何在Linux系統(tǒng)下安裝英特爾 Arc系列獨立顯卡驅(qū)動以及進行AI推理性能測試

    如何在Linux系統(tǒng)下安裝英特爾 Arc系列獨立顯卡驅(qū)動以及進行AI推理性能測試

    作者:??周兆靖 ????????目前,英特爾?推出了包括了Arc?家族A770,A750在內(nèi)的多個桌面版本的獨立顯卡(discrete Graphic Processing Unit,簡稱dGPU)供玩家與開發(fā)者進行選擇。鑒于很多消費者都是初次體驗Intel?的獨立顯卡,在Linux * 系統(tǒng)下對于顯卡驅(qū)動的下載與安裝并不熟悉,

    2024年02月05日
    瀏覽(57)
  • linux系統(tǒng)查看硬盤

    linux系統(tǒng)查看硬盤

    輸入命令: lsblk 可以看到下圖的服務(wù)器存在一個硬盤sda ,容量為40g ?可以看到下圖的服務(wù)器存在兩個硬盤sda和sdb ?其中sda容量為446g,sdb容量為21.8T

    2024年02月11日
    瀏覽(17)
  • 虛擬機linux系統(tǒng)硬盤擴容設(shè)置

    虛擬機linux系統(tǒng)硬盤擴容設(shè)置

    1.虛擬機設(shè)置給硬盤增加容量 進入虛擬機設(shè)置,選中硬盤,點擊擴展,在彈出框選擇要擴展到你想要的硬盤大小,這里硬盤原來大小使50G,現(xiàn)在增加到100G,然后點擊擴展. 2. 硬盤擴容部分容量添加分區(qū) 此時一定要重啟系統(tǒng),重啟系統(tǒng),重啟系統(tǒng)?。?! 3.將新增的分區(qū)追加到原分

    2024年02月12日
    瀏覽(28)
  • Linux——Ubuntu系統(tǒng)掛載硬盤方法詳解

    Linux——Ubuntu系統(tǒng)掛載硬盤方法詳解 引言: 在嵌入式系統(tǒng)開發(fā)中,Ubuntu是一種常用的Linux操作系統(tǒng)。當(dāng)需要將外部硬盤與Ubuntu系統(tǒng)進行連接并實現(xiàn)掛載時,我們需要學(xué)習(xí)相應(yīng)的掛載方法。本文將詳細介紹Ubuntu系統(tǒng)掛載硬盤的幾種常見方法,并附上相應(yīng)的源代碼示例。 一、使用

    2024年02月07日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包