這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)CentOS系統(tǒng)針對mysql參數(shù)優(yōu)化是怎么樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
公司主營業(yè)務(wù):做網(wǎng)站、網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出天全免費做網(wǎng)站回饋大家。內(nèi)核相關(guān)參數(shù)(/etc/sysctl.conf)
以下參數(shù)可以直接放到sysctl.conf文件的末尾:
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
加快TCP連接的回收:
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
TCP連接接收和發(fā)送緩沖區(qū)大小的默認(rèn)值和大值:
net.core.wmem_default = 87380
net.core.wmem_max = 16777216
net.core.rmem_default = 87380
net.core.rmem_max = 16777216
減少失效連接所占用的TCP資源的數(shù)量,加快資源回收的效率
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
kernel.shmmax = 4294967295
Linux內(nèi)核參數(shù)中最重要的參數(shù)之一,用于定義單個共享內(nèi)存段的大值。
注意:
1. 這個參數(shù)應(yīng)該設(shè)置的足夠大,以便能在一個共享內(nèi)存段下容納整個的Innodb
緩沖池的大小
2. 這個值的大小對于64位linux系統(tǒng),可取的大值為物理內(nèi)存值-1byte,建議
值為大于物理內(nèi)存的一半,一般取值大于Innodb緩沖池的大小即可,可以取物理內(nèi)存-1byte
vm.swappiness = 0
這個參數(shù)當(dāng)內(nèi)存不足時會對性能產(chǎn)生比較明顯的影響。
Linux系統(tǒng)內(nèi)存交換區(qū):
在Linux系統(tǒng)安裝時都會有一個特殊的磁盤分區(qū),稱之為系統(tǒng)交換分區(qū)。
使用free-m命令可以看到swap就是內(nèi)存交換區(qū).
作用:
當(dāng)操作系統(tǒng)因為沒有足夠的內(nèi)存時就會將一些虛擬內(nèi)存寫到磁盤的交換區(qū)中
這樣就會發(fā)生內(nèi)存交換。
在MySQL服務(wù)器上是否要使用交換分區(qū)有一些爭議:
在MySQL服務(wù)所在的Linux系統(tǒng)上完全禁用交換分區(qū)。
帶來的風(fēng)險:
1. 降低操作系統(tǒng)的性能
2. 容易造成內(nèi)存溢出,崩潰,或都被操作系統(tǒng)kill掉
結(jié)論:
在MySQL服務(wù)器上保留交換區(qū)還是很必要的,但是要控制何時使用交換分區(qū)。
Vm.swappiness = 0
就是告訴Linux內(nèi)核除非虛擬內(nèi)存完全滿了,否則不要使用交換區(qū)。
增加資源限制(/etc/security/limit.conf)
這個文件實際上是Linux PAM也就是插入式認(rèn)證模塊的配置文件。
打開文件數(shù)的限制:
soft nofile 65535
hard nofile 65535
* 表示對所有用戶有效
soft 指的是當(dāng)前系統(tǒng)生效的設(shè)置
hard 表明系統(tǒng)中所能設(shè)定的大值
nofile 表示所限制的資源是打開文件的大數(shù)目
65535 限制的數(shù)量
soft不能大于hard
直接加到limit.conf文件的末尾就可以了。
結(jié)論:把可打開的文件數(shù)量增加到65535個以保證可以打開足夠多的文件句柄。
注意:這個文件的修改需要重啟系統(tǒng)才能生效。
磁盤調(diào)度策略(/sys/block/devname/queue/scheduler)
cat /sys/block/devname/queue/scheduler
調(diào)度策略: noop anticipatory deadline [cfg]
noop(電梯式調(diào)度策略)
NOOP實現(xiàn)了一個FIFO隊列,它像電梯的工作方法一樣對I/O請求進(jìn)行組織,當(dāng)有一個新
的請求到來時,它將請求合并到最近的請求之后,以此來保證請求同一介質(zhì)。NOOP傾向餓死讀而
利于寫,因此NOOP對于閃存設(shè)備、RAM及嵌入式系統(tǒng)是最好的選擇。
deadline(截止時間調(diào)度策略)
deadline確保了在一個截止時間內(nèi)服務(wù)請求,這個截止時間是可調(diào)整的,而默認(rèn)讀期限
短于寫期限。這樣就防止了寫操作因為不能被讀取而餓死的現(xiàn)象,deadline對數(shù)據(jù)庫類應(yīng)用是最
好的選擇。
anticipatory(預(yù)料I/O調(diào)度策略)
本質(zhì)上與deadline一樣,但在最后一次讀操作之后,要等待6ms,才能繼續(xù)進(jìn)行對其它I/O
請求進(jìn)行調(diào)度。它會在每個6ms中插入新的I/O操作,而會將一些小寫入流合并成一個大寫入流,用
寫入延時換區(qū)大的寫入吞吐量。AS適合于寫入較多的環(huán)境,比如文件服務(wù)器,AS對數(shù)據(jù)庫環(huán)境表
現(xiàn)很差。
修改調(diào)度策略:
echo
如 echo deadline /sys/block/devname/queue/scheduler
上述就是小編為大家分享的CentOS系統(tǒng)針對mysql參數(shù)優(yōu)化是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。