選擇I O尺寸

2021-09-28 21:04:07 字數 1412 閱讀 8548

執行i/o的開銷包括初始化緩衝區、系統呼叫、上下文切換、分賠核心元資料、檢查程序許可權和限制、對映位址到裝置、執行核心和驅動**來執行i/o,以及在最後釋放元資料和緩衝區。

增加i/o尺寸是應用程式提高吞吐量的常用策略。考慮到每次i/o的固定開銷,一次i/o傳輸128kb要比128次傳輸1kb高效很多,尤其是磁碟i/o,由於尋道時間,每次i/o開銷都較高。

如果應用程式不需要,更大的i/o尺寸也會帶來負面效應。乙個執行8kb隨機讀取的資料庫按128kbi/o的尺寸執行會慢很多,應為120kb的資料傳輸能力被浪費了。選擇小一些的i/o尺寸更貼近應用程式所需,能降低引起的i/o延遲。不必要的大尺寸i/o還會浪費快取空間。

指定i/o尺寸方法

mkfs.ext4 -b 2048 -i 256 /dev/sdb

-b 指定block大小單位位元組

-i 指定"位元組/inode"的比例

檢視現有檔案系統型別

檢視block大小

這兩個命令也可以檢視ionde數量和剩餘

i/o排程演算法

centos 6的排程演算法

cat /sys/block/sda/queue/scheduler

noop ssd磁碟推薦 調整為noop 不需要排程

deadline 排程最小延遲 一般情況下推薦使用

anticipatory 預期演算法 有乙個io發生,如果另乙個程序請求io操作,它會生成乙個預設的6毫秒來猜下道工序要做的io請求

cfq 完全公平佇列跑桌面的情況下(預設排程演算法)

臨時修改方法

echo deadline > /sys/block/sda/queue/scheduler

永久更改方法

vim /boot/grub/menu.lst

在 rhgb quiet前面加入下面內容 重啟後生效

elevator=deadline

重啟後檢查

cat /sys/block/sda/queue/scheduler

關閉硬碟強制自檢

tune2fs -c -1 /dev/sdb 關閉強制檢查掛載次數限制。

tune2fs -i -1 /dev/sdb  關閉掛在後使用180天後自檢

如何選擇IO流

1 確定是資料來源和資料目的 輸入還是輸出 源 輸入流 inputstream reader 目的 輸出流 outputstream writer 2 明確操作的資料物件是否是純文字 是 字元流reader,writer 否 位元組流inputstream,outputstream 3 明確具體的裝...

規格選擇 如何選擇鐵皮櫃軍官櫃的規格尺寸呢

如何選擇軍官櫃的規格尺寸呢?購買軍官櫃前要先做整體規劃 選購軍官櫃之前要整體規劃,千萬不要心急,有的櫃子買回來,發現放在室內過於空闊,有的則放不下,還有的顯得很突兀,彆扭,這都是沒有充沛規劃好空間的鉅細,鋼製櫃尺度,樣式和顏色的緣故,關於軍官櫃的選購規劃給出以下三個考慮要素。因地制宜,測量房間鉅細,...

IO模型 三 select 選擇機制

因為這個模型是後來才使用的,差一點就忘記了.這個模型是從unix裡來的,是比較早的一種模型。上次總結的wsaeventselect模型是微軟將其進行改進後的版本。來看一下這個函式宣告 int select intnfds 忽略 fd set far readfds 讀操作 fd set far wr...