91桃色成人wangxhab丨女人精69xxx免费观丨欧美一区2区三区4区贰佰公司丨最新成人丨久久精品亚洲中文无东京热丨少妇无码一区二区三区免费丨色欧美综合丨国产china男男激情丨麻豆丰满少妇chinese丨成人羞羞视频国产丨亚洲专区视频丨久久嗨丨丁香花在线观看免费观看图片丨熟妇丰满多毛的大隂户丨91大奶丨精品乱人码一区二区二区丨欧美精品与人动性物交免费看丨欧美日韩精品免费丨精品国语对白丨99久久精品费精品国产一区二

收藏本站在線留言網站地圖

您好,歡迎來到深圳聯樂實業有限公司官網
咨詢熱線

400-888-2720

聯樂實業

工業存儲/工業電腦服務商

21年專注高可靠性國產化工業存儲產品及解決方案

SSD性能測試的“勞斯萊斯”--FIO

返回列表 來源: 發布日期: 2021.12.31
對于SSD性能測試來說,最好的工具莫過于FIO了。FIO是Jens開發的一個開源測試工具,功能非常強大,基本功能:線程、隊列深度、Offset、同步異步、DirectlO、BIO。使用FIO之前,首先要有一些SSD性能測試方面的基礎知識。

FIO

線程指的是同時有多少個讀或寫任務在并行執行,一般來說,CPU里面的一個核心同一時間只能運行一個線程。如果只有一個核心,要想運行多線程,只能使用時間切片。每個線程跑一段時間片,所有線程輪流使用這個核心。Linux使用Jiffies 來代表一秒鐘被劃分過了多少個時間片,一般來說Jiffies是1000或100,所以時間片就是毫秒或10毫秒。

一般電腦發送一個讀寫命令到SSD只需要幾微秒。但是SSD要花幾百微秒甚至幾毫秒才能執行完這個命令。如果發一個讀寫命令,然后線程一直休眠,等待結果回來才喚醒處結果,這叫作同步模式。可以想象,同步模式是很浪費SSD性能的,因為SSD 里面有很多并行單元,比如一般企業級SSD內部有8~16個數據通道,每個通道內部有4~16個行邏輯單元(LUN,Plane),所以同一時間可以執行32~256個讀寫命令。同步模式就味著,只有其中一個并行單元在工作,暴殄天物。

2

為了提高并行性,大部分情況下SSD讀寫采用的是異步模式。就是用幾微秒發送命令,發完線程不會傻傻地在那里等,而是繼續發后面的命令。如果前面的命令執行完了,SSD通知會通過中斷或者輪詢等方式告訴CPU,由CPU來調用該命令的回調函數來處理結果。這樣的好處是,SSD里面幾十上百個并行單元都能分到活干,效率暴增。

不過,在異步模式下,CPU不能一直無限地發命令到SSD。比如SSD 執行讀寫如果發生了卡頓。那有可能系統會一直不停地發命令。幾千個,甚至幾萬個,這樣一方面 SSD扛住,另一方面這么多命令會很占內存,系統也要掛掉了。這樣,就帶來一個參數叫作隊列深度。舉個例子,隊列深度64就是說,系統發的命令都發到一個大小為64的隊列,如果填滿了就不能再發。等前面的讀寫命令執行完了,隊列里面空出位置來,才能繼續填命令。

一個 SSD 或者文件有大小,測試讀寫的時候設置 Offset 就可以從某個偏移地址開始測試。比如從 offset=4G 的偏移地址開始。
Linux讀寫的時候,內核維護了緩存,數據先寫到緩存,然后再后臺寫到SSD。讀的時候他優先讀緩存里的數據。這樣速度可以加快,但是一旦掉電,緩存里的數據就沒了。所以有一種模式叫作DirectiO,跳過緩存,直接讀寫SSD。

2.fw

Linux 讀寫SSD 等塊設備使用的是BIO(Block-IO),這是個數據結構,包含了數據塊邏輯地址 LBA,數據大小和內存地址等。一般Linux系統是自帶FIO的,如果沒有或者版本太老,要自己從https://github.com/axboe/fio下載安裝,FIO功能非常強大,可以通過man來查看每一個功能,也有網頁版。

聯樂實業,工業存儲/工業電腦服務商,專注高可靠性國產化工業存儲產品及解決方案!詳情進入www.sxllepc.com.cn或垂詢400-888-2720