磁碟的優化

2022-08-23 19:33:10 字數 900 閱讀 7393

排程演算法

寫入優化 

優化方式

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...