新聞中心
引言

創(chuàng)新互聯(lián)是專業(yè)的武陵網(wǎng)站建設(shè)公司,武陵接單;提供網(wǎng)站制作、網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行武陵網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
隨著數(shù)據(jù)存儲日益增長,對IO性能的要求也越來越高,Linux系統(tǒng)作為主流服務(wù)器操作系統(tǒng),IO性能優(yōu)化一直是系統(tǒng)管理員和開發(fā)人員關(guān)注的重點(diǎn)。本文深入探究了Linux CFQ調(diào)度器的工作原理和優(yōu)化方法,希望為IO性能優(yōu)化提供一些幫助。
CFQ調(diào)度機(jī)制介紹
CFQ是Linux內(nèi)核中的一種IO調(diào)度算法,全稱為Complete Fr Queuing。CFQ調(diào)度對于優(yōu)化IO性能有著至關(guān)重要的作用,在選擇適當(dāng)?shù)腎O調(diào)度算法的過程中也成為了Linux系統(tǒng)管理員的一個重要參考指標(biāo)。
CFQ調(diào)度器的主要作用是在掛載的磁盤中進(jìn)行IO請求調(diào)度。它會在IO請求中選擇合適的請求順序,根據(jù)進(jìn)程優(yōu)先級以及IO請求的大小來實現(xiàn)公平調(diào)度。CFQ調(diào)度器會將所有IO請求分類為Sync、Async、和Discard三種,然后將它們放到三個不同的隊列中進(jìn)行調(diào)度。
在CFQ調(diào)度器中,同一時刻只有一個進(jìn)程獲得資源調(diào)度。如果有多個進(jìn)程同時請求IO資源,CFQ調(diào)度器會按照公平原則,將資源平均分配給每個進(jìn)程。這也是CFQ調(diào)度器相比其他調(diào)度器的優(yōu)勢之一。
除此之外,CFQ調(diào)度器也能保證對于優(yōu)先級較高的進(jìn)程,盡可能優(yōu)先分配IO資源。這意味著對于對于低優(yōu)先級的進(jìn)程,IO請求的排隊時間或許會增加,但是可以避免高優(yōu)先級的進(jìn)程長時間等待IO資源。
CFQ調(diào)度器優(yōu)化方法
CFQ調(diào)度器是一個非常靈活的調(diào)度器,其默認(rèn)的配置已經(jīng)能夠適應(yīng)大多數(shù)場景。但是在特定的場景下,優(yōu)化CFQ調(diào)度器的參數(shù)能夠極大地提高系統(tǒng)的IO性能。
1. 增加調(diào)度隊列
在系統(tǒng)中增加更多的調(diào)度隊列,能夠避免IO操作出現(xiàn)瓶頸。通過增加隊列,能夠大大減少IO請求的排隊時間,加快IO操作的執(zhí)行速度。
2. 調(diào)整隊列深度
隊列深度是指對于每個隊列,它最多可以保存的IO請求的個數(shù)。對于一個IO密集型的系統(tǒng),將隊列深度增加可以讓CFQ調(diào)度器更好地處理大量的IO請求,從而提高系統(tǒng)的IO性能。
3. 修改I/O時間片大小
CFQ調(diào)度器將一個I/O時間片分為了多個時間片,即每個時間片會處理一個IO請求。默認(rèn)情況下,每個時間片的長度為500ms。但是對于高IO負(fù)載的系統(tǒng),可以將時間片的長度增大,從而更好地處理大量IO請求。
4. 調(diào)整權(quán)重
權(quán)重是CFQ調(diào)度器分配IO資源的標(biāo)準(zhǔn)。默認(rèn)情況下,CFQ調(diào)度器權(quán)重分配是公平的,即每個進(jìn)程分配到的權(quán)重相同。但是當(dāng)系統(tǒng)有不同的進(jìn)程,其IO請求的優(yōu)先級不同的時候,調(diào)整權(quán)重可以讓系統(tǒng)更好地處理高優(yōu)先級的IO請求。
結(jié)論
CFQ調(diào)度器作為Linux內(nèi)核中的一種IO調(diào)度算法,相比其他算法,能夠更好地實現(xiàn)IO請求的公平調(diào)度。在實際應(yīng)用場景中,優(yōu)化CFQ調(diào)度器能夠更好地提高系統(tǒng)的IO性能,加快數(shù)據(jù)的處理速度。通過本文對于CFQ調(diào)度器的介紹和優(yōu)化方法,希望能夠為Linux系統(tǒng)管理員和開發(fā)人員提供一些幫助。
相關(guān)問題拓展閱讀:
- 金士頓固態(tài)硬盤提高使用壽命優(yōu)化技巧?
- 有哪些方法可以改善 MySQL 的 IO 瓶頸問題
金士頓固態(tài)硬盤提高使用壽命優(yōu)化技巧?
1、分區(qū)對齊:
固態(tài)硬盤的最小讀取和寫入單位是page(4K),但是擦除是以Block(512K)為單位。在往標(biāo)記刪除的page寫入數(shù)據(jù)時,要先擦除page所在Block,在把數(shù)據(jù)回寫進(jìn)Block。如果一個邏輯塊分布再兩個物理塊“Block”中,那么涉及的兩個物理塊都要擦除重寫。將分區(qū)表和文件系統(tǒng)向物理塊對齊,可以減少這種情況。所以,將分區(qū)的起始邏輯位置設(shè)置為512KB或1MB的整數(shù)倍是合理的。
啟動終端:
sudo fdisk -l
2、修改fstab:
很多陳舊的資料上說,再fstab上,掛在參數(shù)加上discard,noatime。
discard,向下級塊設(shè)備通知塊已釋放,相當(dāng)于實時的Trim,Trim一次頁相當(dāng)于一次,鑒于算喚喚法個人不推薦。這個參數(shù)沒有提升SSD的效率,反而慢了。一般情況下是感覺不出來的。
noatime 使用該參數(shù),系統(tǒng)不再把最近讀取文件信息寫入日志。某些依賴時間戳的程序?qū)a(chǎn)生問題。比如郵件和備份系統(tǒng)。
以上都是個人不推薦的參數(shù)。
relatime 簡單說就是再修改文件后更新atime , 訪問文件時如果atime超過一天則強(qiáng)制更新。
現(xiàn)在Deepin linux 2023,默認(rèn)參數(shù)就很好了,必須修改。
deepin linux 2023.2 固態(tài)硬盤優(yōu)化
3、調(diào)整I/O調(diào)度方案
現(xiàn)在主流linux有三種調(diào)度方案。CFQ、NOOP、Deadline。
NOOP(電梯式調(diào)度程序)對于閃存設(shè)備,RAM,嵌入式系統(tǒng)是更好的選擇。
查看當(dāng)前的調(diào)度方案。
cat /sys/block/sdb/queue/scheduler#sdb 固態(tài)硬盤
noopcfq#現(xiàn)在的調(diào)度方案是deadline
4、設(shè)置固態(tài)硬盤的調(diào)度方案。
sudo su #提升權(quán)限
echo noop > /sys/block/sdb/queue/scheduler # 把noop寫入調(diào)度程序
cat /sys/block/sdb/queue/scheduler#已經(jīng)更改成功。
deadline cfq
把他作為默認(rèn)的設(shè)置,寫入自動啟動程序。
#gedit /etc/rc.local把填再exit 之前,如圖所示。
5、定時Trim
fstrim 是執(zhí)行Trim 操作的命令,配合cron可以達(dá)到定時清理的作用。
執(zhí)行周期,是自己的臨時文件的頻度而定,像我這樣沒有大規(guī)模頻繁刪減文件就沒必要每天一次。Trime會啟動固態(tài)硬盤的垃圾回收機(jī)制,會帶來回寫放大。
deepin linux 2023已悔畝經(jīng)內(nèi)置了Trim的優(yōu)化,每周執(zhí)行一次。它就再/etc/cron.weekly/fstrim.
有哪些方法可以改善 MySQL 的 IO 瓶頸問題
1.IO 對數(shù)據(jù)庫的影響較大 linux 默認(rèn)的 IO 調(diào)度算法為 cfq 需行蔽如要修改為 deadline
如果是 SSD 或者 PCIe-SSD 設(shè)備 需要修改為 noop
2.由于日志的記錄帶來的直接性能損耗就是數(shù)據(jù)庫系統(tǒng)中最為昂貴的IO資源
所以檔啟默認(rèn)僅僅打開錯誤日志即可 關(guān)閉其他所有日志 以達(dá)到并笑減少 IO 損耗的目的
通過syench的oltp_read_write測試來模擬業(yè)務(wù)壓力、以此來給指定的硬件環(huán)境配置一份比較合理含爛的MySQL配置文件坦李。
環(huán)境介紹讓老遲
硬件配置
請點(diǎn)擊輸入圖片描述
軟件環(huán)境
請點(diǎn)擊輸入圖片描述
優(yōu)化層級與指導(dǎo)思想
優(yōu)化層級
MySQL數(shù)據(jù)庫優(yōu)化可以在多個不同的層級進(jìn)行,常見的有:
SQL優(yōu)化
參數(shù)優(yōu)化
架構(gòu)優(yōu)化
本文重點(diǎn)關(guān)注:參數(shù)優(yōu)化
指導(dǎo)思想
日志先行 — 一個事務(wù)能否成功提交的關(guān)鍵是日志是否成功落盤,與數(shù)據(jù)沒有太大的關(guān)系;也就是說對寫的優(yōu)化可以表述為各方面的資源向?qū)懖僮鲀A斜。
瓶頸分析 — 通過show global status 的各個計數(shù)器的值基本上就能分析出當(dāng)前瓶頸所在,再結(jié)合一些簡單的系統(tǒng)層面的監(jiān)控工具如top iostat 就能明確瓶頸。
整體性能是“讀”&“寫”之間的再平衡。
linux cfq 調(diào)度的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux cfq 調(diào)度,深入探究Linux CFQ調(diào)度機(jī)制,優(yōu)化IO性能,金士頓固態(tài)硬盤提高使用壽命優(yōu)化技巧?,有哪些方法可以改善 MySQL 的 IO 瓶頸問題的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨(dú)立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機(jī)房服務(wù)器托管/機(jī)柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機(jī)房租用、服務(wù)器托管、機(jī)柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機(jī)房等。
名稱欄目:深入探究LinuxCFQ調(diào)度機(jī)制,優(yōu)化IO性能(linuxcfq調(diào)度)
本文來源:http://www.dlmjj.cn/article/djdssge.html


咨詢
建站咨詢
