MySQL資料庫環境如何調整磁碟IO排程演算法
檢視當前系統支援的磁碟IO排程演算法
[root@alpha-mongo-140-52 ~]# dmesg | grep -i scheduler
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
default代表當前裝置使用的預設的IO排程演算法
也可以用以下命令檢視:
[root@test ~]# more /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
備註:括號裡括起來的即為當前排程演算法值
修改當前塊裝置使用的io排程演算法為deadline:
[root@test ~]# echo "deadline" > /sys/block/sda/queue/scheduler
備註:修改立即生效
[root@test ~]# more /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
排程演算法介紹:
Linux有四種IO排程演算法,分別為完全公平佇列演算法(Complete Fair Queuing/CFQ), NOOP演算法(No Operation),最後期限演算法(Deadline)和預期演算法(anticipatory).
[root@alpha-mongo-140-52 ~]# dmesg | grep -i scheduler
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
default代表當前裝置使用的預設的IO排程演算法
也可以用以下命令檢視:
[root@test ~]# more /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
備註:括號裡括起來的即為當前排程演算法值
修改當前塊裝置使用的io排程演算法為deadline:
[root@test ~]# echo "deadline" > /sys/block/sda/queue/scheduler
備註:修改立即生效
[root@test ~]# more /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
排程演算法介紹:
Linux有四種IO排程演算法,分別為完全公平佇列演算法(Complete Fair Queuing/CFQ), NOOP演算法(No Operation),最後期限演算法(Deadline)和預期演算法(anticipatory).
- 完全佇列公平演算法把磁碟I/O請求按照程式分別放入程式對應的佇列中。CFQ的公平是針對程式而言的,每一個提交I/O請求的程式都會有自己的I/O佇列,CFQ以時間片演算法為前提,輪流調動佇列,預設當前佇列中取出4個請求來處理,然後接著處理下一個佇列裡的4個請求,確保每個程式享有的IO資源是均衡的。CFQ是Linux預設的I/O排程演算法。
- NOOP演算法是不對I/O請求排序,除了合併請求也不會進行其他任何最佳化,用最簡單的先進先出佇列順序提交I/O請求,NOOP演算法面向的主要是隨機IO訪問裝置SSD等。
- 最後期限演算法(Deadline)除了維護了一個擁有合併和排序功能的請求佇列外,額外維護了兩個佇列,分別是讀請求佇列和寫請求佇列,他們都是帶有超時的請求佇列,當新來一個IO請求時,會被同時插入普通佇列和讀寫佇列,然後I/O排程器正常處理普通佇列中的請求。當排程器發現讀寫請求佇列中的請求超時的時候,會優先處理這些請求,保證儘可能不產生飢餓請求。對於MYSQL來說,建議設定為Deadline,對MYSQL來說是很好的排程演算法。
- 預期演算法(anticipatory)是基於預測的I/O演算法,它和Deadline類似,也維護了三個請求佇列,區別在於,預期演算法處理完一個IO請求後並不會直接返回處理下一個請求,而是等待預設6秒,等待期間如果有新進來的相鄰扇區的請求,會直接處理新來的請求,當等待6秒結束後,排程才返回處理下一個佇列請求。anticipatory適合寫多讀少的環境,不適合MySQL等隨機讀取較多的資料庫環境。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2155220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql資料庫磁碟io高的排查MySql資料庫
- 神通資料庫測試環境調優過程資料庫
- MySQL優化--IO排程演算法優化MySql優化演算法
- Oracle資料庫9i在AIX環境下的效能調整Oracle資料庫AI
- 【Mysql】是什麼導致MySQL資料庫伺服器磁碟IO高?MySql資料庫伺服器
- linux 2.6的IO排程演算法Linux演算法
- 調整資料庫引數資料庫
- 【MySQL資料庫】認識資料庫+環境搭建--------Windows系統MySql資料庫Windows
- linux之 修改磁碟排程演算法Linux演算法
- Win環境至Linux環境Oracle資料庫遷移全過程LinuxOracle資料庫
- MySQL資料庫生產環境安全規範MySql資料庫
- centos環境下如何匯出資料庫CentOS資料庫
- Oracle 資料庫引數調整Oracle資料庫
- 資料庫引擎調整顧問資料庫
- oracle資料庫的效能調整Oracle資料庫
- 資料庫高io問題調查資料庫
- RAC環境調整系統時間
- Oracle DataGuard環境主備庫日誌組數和大小調整Oracle
- MySQL 磁碟 IO 過高MySql
- 調整CALLCENTER系統的資料庫資料庫
- oracle資料庫的效能調整(轉)Oracle資料庫
- Linux IO排程方法Linux
- 資料排程
- 調整資料庫的資料檔案記錄資料庫
- AIX磁碟順序調整AI
- 達夢資料庫引數調整方法資料庫
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- Mysql5.7在CentOs環境下定時備份資料庫MySqlCentOS資料庫
- Docker環境Oracle資料庫搭建DockerOracle資料庫
- uat環境停不了資料庫資料庫
- 資料塊調整
- linux 系統IO 排程Linux
- oracle&linux環境vm相關的調整OracleLinux
- 磁碟IO故障導致的SQLServer資料庫無法寫入SQLServer資料庫
- wdcp環境innodb結構mysql資料庫表異常需要重建MySql資料庫
- MySQL 8.0 | CATS排程演算法的效能提升MySql演算法
- 程式排程演算法Linux程式排程演算法演算法Linux
- 【環境配置】Geoserver如何訪問shapefile或PostGIS資料庫Server資料庫