排程演算法
寫入優化
優化方式
1、調整演算法
2、調整佇列
調整演算法: vim /usr/lib/tuned/《已經選擇的優化策略》/tuned.conf
檢視演算法: cat /sys/nlock/sda/queue/scheduler
配置檔案位於/sys/block/sda(需要優化的磁碟)/queue/
在 noob演算法下
無任何優化(多用在儲存已經優化的情況下)
在deadline的演算法模式下
read_expire讀過期為最大讀取時間(預設為500ms)
write_expire寫過期為最大寫入時間(預設為5000ms)
在anticipatory(猜想)演算法下
在cfq演算法下
針對每個io進行單獨的演算法。
使用ionice命令優化特定程序在磁碟上的優先順序
-p 程序id
-n 優先順序
-c 類
class1 (real-time) 同優先順序誰先訪問磁碟隨先讀取 優先順序同類最高
優先順序0-7(0最重要)
class2 (best-effort)同優先順序依次輪詢使用固定時間的時間片,同類優先順序高者可使用時間片越長
優先順序0-7(0最高)
class3 空閒時才處理
測試:使用mailload.py 模擬大量郵件 小io測試
mailload
-d 指定檔案生成位置
example mailload。py -d /mnt/xfs/mailload -t -n500
擴充套件: xfs和ext4效能的區別,xfs適合大檔案處理,ext4適合處理小檔案(乙個io小於64k算小io)
io檢測工具 iometer 可以監控平均速率,平均io大小等等
nginx 的磁碟IO優化
磁碟io優化的幾個方面 優化讀取 sendfile 零拷貝 記憶體盤 ssd盤 減少寫入 aio增大error log級別的日誌 關閉access log 壓縮access log 是否啟用proxy buffering syslog替代本地io 執行緒池 thread pool 適用於大檔案的直接...
mysql 磁碟讀寫的I O優化
在 mysql 5.1.x 版本中曾使用引數innodb file io threads,指負責處理資料頁上讀寫io請求的後台執行緒數量。在 mysql 5.5.x 中拆成2個引數 innodb read io threads,innodb write io threads。該引數值之和 2 cpu...
Linux下磁碟讀寫優化的分析
問題 寫入1mbi大小資料到檔案裡,1次寫入1k共寫1024次和1次性寫入1m僅寫1次的速率差異是多大?哪個更快?為什麼呢?不妨測試一下 1mbi檔案,一次性寫入1mbi include include include include include int main int argc,char a...