【Linux】磁盤性能壓測-FIO工具

一、FIO工具介紹

fio(Flexible I/O Tester)是一個用于評估計算機系統中 I/O 性能的強大工具。?官網:fio - fio - Flexible IO Tester

注意事項!

1、不要指定文件系統名稱(如/dev/mapper/centos-root),避免造成文件系統損壞。

2、最好測試前備份重要數據

二、安裝FIO

#本次安裝版本為3.20版本,往上版本需要gcc版本大于4.9版本,3.20版本百度網盤下載鏈接:?https://pan.baidu.com/s/1kX7NLxwhRcFLOvnOdRp5Vg?pwd=rdzt 提取碼: rdzt

[root@dt1 yixing]# wget https://git.kernel.dk/cgit/fio/snapshot/fio-3.20.tar.gz
[root@dt1 yixing]# tar -xvf fio-3.20.tar.gz
[root@dt1 fio-3.37]# cd fio-3.20
[root@dt1 fio-3.20]# yum install gcc libaio-devel -y
[root@dt1 fio-3.20]# ./configure --prefix=/usr/local/fio-3.20
[root@dt1 fio-3.20]# make && make install
[root@dt1 fio-3.20]# ln -s /usr/local/fio-3.20/bin/fio /usr/bin/fio
#查看版本
[root@dt1 fio-3.20]# fio -v

三、磁盤性能測試

參數

  • -filename=/dev/vdb? ? ? ? #指定測試的目標文件或設備,最好不要指定文件系統名稱? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(如/dev/mapper/centos-root),避免造成文件系統損壞。
  • -direct=1? ? ? ? ? ? ? ? ? ? ? ? #使用直接 I/O 模式,即繞過文件系統緩存,直接訪問磁盤。這通常? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 用于測量真實的磁盤性能。
  • -iodepth=4? ? ? ?#每個作業的 I/O 深度。如果模擬高并發負責情況,值可寫32。
  • -rw=randwrite? ? ?#指定測試中使用的讀寫模式。randwrite 表示隨機寫入,即測試將? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?會對設備進行隨機位置的寫入操作。還有randread(隨機讀)read? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(順序讀)write(順序寫)randrw(混合隨機讀寫)

  • -ioengine=libaio? ?#指定 I/O 引擎。libaio 是 Linux 下的異步 I/O 引擎,用于提高性能? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 并允許并發操作。
  • -bs=4k? ? ? ? ? #每個 I/O 操作的塊大小。這里設置為 4KB,即每次讀寫操作的數據? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?塊大小為 4KB。

  • -size=10G? ? ? ? #指定測試文件或設備的大小。

  • -numjobs=4? ? ? ?#同時運行的作業數。這里設置為 4,表示 fio 將會啟動 4 個并發作? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?業來執行測試。不要超過cpu核數。

  • -runtime=180? ? ? #測試的運行時間。這里設置為 180 秒(3分鐘),即測試將持續運? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 行3 分鐘。

  • -group_reporting? ?#匯總報告輸出。當多個作業同時運行時,使用此選項可以合并它們? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 的結果輸出。

  • -name=iotest_randwrite #為這個測試任務指定一個名稱

測試參數值建議

  • 測試吞吐量和延遲:順序I/O、較大的塊大小
  • 測試IOPS和延遲:隨機I/O、較小的塊大小

IOPS:磁盤在1s中進行幾次io讀寫操作

吞吐量:磁盤每秒IO的流量

測試隨機寫IOPS

#將創建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting -name=randwrite
#刪掉測試文件
[root@dt1 yixing]# rm -rf test

#如果報一下錯誤,加上-allow_mounted_write=1
fio: /dev/vdb appears mounted, and 'allow_mounted_write' isn't set. Aborting.?

?測試隨機讀IOPS

#將創建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=4 -runtime=60 -group_reporting -name=randread
[root@dt1 yixing]# rm -rf test

測試順序讀吞吐量

#將創建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=read -ioengine=libaio -bs=4k -size=4G -numjobs=4 -runtime=180 -group_reporting -name=read
[root@dt1 yixing]# rm -rf test

測試順序寫吞吐量

#將創建/data/yixing/test文件
[root@dt1 yixing]# fio -filename=/data/yixing/test -direct=1 -iodepth=4 -rw=write -ioengine=libaio -bs=4k -size=4G -numjobs=4 -runtime=180 -group_reporting -name=write

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44990.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44990.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44990.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

react啟用mobx @decorators裝飾器語法

react如果沒有經過配置,直接使用decorators裝飾器語法會報錯: Support for the experimental syntax ‘decorators’ isn’t currently enabled 因為react默認是不支持裝飾器語法,需要做一些配置來啟用裝飾器語法。 step1: 在 tsconfig.js…

【學術會議征稿】第三屆能源互聯網及電力系統國際學術會議(ICEIPS 2024)

第三屆能源互聯網及電力系統國際學術會議(ICEIPS 2024) 2024 3rd International Conference on Energy Internet and Power Systems 能源互聯網是實現新一代電力系統智能互動、開放共享的重要支撐技術之一,也是提升能源調度效率&#xff0…

SQL 存儲過程

SQL(Structured Query Language)的存儲過程(Stored Procedure)是一組為了完成特定功能的SQL語句集,它經編譯后存儲在數據庫中,用戶通過指定存儲過程的名字并給它傳遞參數(如果有的話&#xff09…

Jetson-AGX-Orin 非docker環境源碼編譯安裝CyberRT

Jetson-AGX-Orin 非docker環境源碼編譯安裝CyberRT 1、安裝依賴 sudo apt update sudo apt-get install g gdb gcc cmake sudo apt install libpoco-dev uuid-dev libncurses5-dev python3-dev python3-pip python3 -m pip install protobuf3.14.02、下載CyberRT源碼 git cl…

【代碼隨想錄算法訓練Day65】卡碼網47.參加科學大會、卡碼網94. 城市間貨物運輸 I

Day65 圖論第九天 卡碼網47.參加科學大會 #include <iostream> #include <vector> #include <list> #include <queue> #include <climits> using namespace std; // 小頂堆 class mycomparison { public:bool operator()(const pair<int, …

Android Studio gradle下載失敗?!

Android Studio安裝后第一個工程&#xff0c;往往要下載gradle&#xff0c;而gradle的下載有的時候很慢&#xff0c;可以將下載好的gradle-x.x.x-all.zip放到指定目錄下&#xff1a; Windows下路徑&#xff1a; C:\Users\你的用戶名\.gradle\wrapper\dist\gradle-x.x.x-all\**…

python+pygame實現五子棋人機對戰之三

上回講過&#xff1a; pythonpygame實現五子棋人機對戰之一 pythonpygame實現五子棋人機對戰之二 界面已經有了&#xff0c;并且可以支持鼠標操作選擇菜單和人機對戰開始下棋了&#xff0c;那電腦是如何應手落子呢&#xff1f;以下內容是通用的類&#xff0c;全部放在utils.…

LiteOS 多線程編程

? 鴻蒙系統的多線程編程步驟&#xff1a; 1. 描述要創建的線程的屬性配置. attr: attributeosThreadAttr_t attr;//聲明一個線程屬性變量memset(&attr, 0, sizeof(attr));//memset改變一個內存單元上存的值為0//以下三個為必須設置的線程屬性attr.name "ledThread&q…

全球高端銷量第一 凱迪仕智能鎖建博會獲重磅大獎再次遙遙領先

2024年7月11日&#xff0c;第26屆中國廣州建博會圓滿落幕。Kaadas凱迪仕第11年受邀參展&#xff0c;憑借超吸睛的賽博風展館和重磅旗艦傳奇大師K70系列智能鎖震撼亮相&#xff0c;吸引抖音網紅云集打卡直播以及眾多主流及行業媒體聚集報道。在大家居建裝行業全球第一展的舞臺上…

問題清除指南|Dell OptiPlex 7070 升級 win11 開啟 TPM 2.0 教程

前言&#xff1a;最近想把實驗室臺式機的系統從 Windows 10 升級到 Windows 11&#xff0c;遇到一點小問題&#xff0c;在此記錄一下解決辦法。 ?? 注&#xff1a;本教程僅在 Dell OptiPlex 7070 臺式機系統中測試有效&#xff0c;并不保證其余型號機器適用此教程。 參考鏈接…

中國科學院地理所牛書麗團隊《Global Change Biology 》最新成果!

本文首發于“生態學者”微信公眾號&#xff01; 在全球氣候變化的背景下&#xff0c;干旱地區的擴張對生態系統的氮循環產生了深遠影響。氮同位素&#xff08;δ15N&#xff09;的天然豐度&#xff0c;尤其是土壤中的δ15N&#xff0c;是評估陸地生態系統氮循環動態和氮限制的關…

【ARMv8/v9 GIC 系列 1.7 -- GIC PPI | SPI | SGI | LPI 中斷使能配置概述】

請閱讀【ARM GICv3/v4 實戰學習 】 文章目錄 GIC 各種中斷使能配置PPIs(每個處理器私有中斷)SPIs(共享外設中斷)SGIs(軟件生成的中斷)LPIs(局部中斷)GIC 各種中斷使能配置 在ARM GICv3和GICv4架構中,不同類型的中斷(如PPIs、SPIs、SGIs和LPIs)可以通過不同的方式進…

分享:2024好的ai文章生成器下載資源 tzqsbic

在當今數字化的時代&#xff0c;ai技術的發展日新月異&#xff0c;為我們的生活和工作帶來了諸多便利。其中&#xff0c;ai文章生成器作為一項創新的工具&#xff0c;給當代人們帶來了很多好處&#xff0c;尤其是對于很多創作者&#xff0c;不僅能解決創作困難&#xff0c;而且…

【開發工具】webStrom2024版-永久使用

1、解壓文件 2、安裝步驟 先執行unistall-current-user.vbs&#xff0c;確保當前環境變量下沒有歷史使用記錄。再執行install-current-user.vbs。運行的時候&#xff0c;會有第一個彈窗&#xff0c;點擊確定&#xff0c;稍微等待一會&#xff0c;會出現 Done 的彈窗&#xff0…

【Linux】進程間通信之System V共享內存

&#x1f466;個人主頁&#xff1a;Weraphael ?&#x1f3fb;作者簡介&#xff1a;目前正在學習c和算法 ??專欄&#xff1a;Linux &#x1f40b; 希望大家多多支持&#xff0c;咱一起進步&#xff01;&#x1f601; 如果文章有啥瑕疵&#xff0c;希望大佬指點一二 如果文章對…

Prometheus+Grafana監控Linux主機

1、安裝Prometheus 1.1 、下載Prometheus 下載網址 https://github.com/prometheus/prometheus/releases選擇需要的版本 wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz1.2、安裝Prometheus軟件 1.2.1、…

解決鴻蒙開發中克隆項目無法簽名問題

文章目錄 問題描述問題分析解決方案 問題描述 在一個風和日麗的早晨&#xff0c;這是我學習鴻蒙開發的第四天&#xff0c;把文檔過了一遍的我準備看看別人的項目學習一下&#xff0c;于是就用git去clone了一個大佬的開源項目&#xff0c;在簽名的時候遇到了問題&#xff1a; h…

在攻防演練中遇到的一個“有馬蜂的蜜罐”

在攻防演練中遇到的一個“有馬蜂的蜜罐” 有趣的結論&#xff0c;請一路看到文章結尾 在前幾天的攻防演練中&#xff0c;我跟隊友的氣氛氛圍都很好&#xff0c;有說有笑&#xff0c;恐怕也是全場話最多、笑最多的隊伍了。 也是因為我們遇到了許多相當有趣的事情&#xff0c;其…

Spring JDBC 具名參數用法

Spring JDBC中具名參數的用法 maven引入Spring jdbc <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.19</version></dependency> 在Spring配置中配置 <!-…

【leetcode】滑動窗口專題

文章目錄 1.長度最小的子數組2.無重復字符的最長子串3.最大連續1的個數III4.將x減小到0的最小操作數5.水果成籃6.找到字符串中所有字母異位詞7.串聯所有單詞的子串8.最小覆蓋子串 1.長度最小的子數組 leetcode 209.長度最小的子數組 看到這個題目&#xff0c;第一眼肯定想到的…