mysql學習筆記-centOS系統參數優化

內核相關參數(/etc/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   tcp處理等待狀態的時間,減少timeout的時間

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_fw_recycle = 1

決定tcp緩衝區接受和發送默認值和最大值

net.core.wmem_default = 87380

net.core.wmem_max = 16777216

net.core.rmem_default = 87380

net.core.rmem_max = 16777216

決定失效鏈接所佔用的tcp系統資源的數量,加快資源回收的效率

net.ipv4.tcp_keepalive_time = 120   表示tcp發送keepalive消息的時間的間隔單位爲秒,用於確認tcp鏈接是否有效

net.ipv4.tcp_keepalive_intvl = 30  表示當探測消息未獲得響應時重複該時間的間隔,單位是秒

net.ipv4.tcp_keepalive_probes = 3   表示鑑定失效前發送多少次keepalive

內存相關的參數

 kernel.shmmax = 4294967295    linux內核參數中最重要的參數之一,用於定義單個內存段的最大值。

1注意:這個參數應該設置的足夠大,以便能在一個共享內存段下容納下整個的Innodb緩衝池的大小。

這個參數如果設置的過低,可能需要設置多個內存段,可能會導致系統的性能下降。

這個值的大小對於64位linux系統,可取的最大值爲物理內存值-1 byte,建議值爲大於物理內存的一半,一般取值大於Innodb 緩衝池的大小即可,可以取物理內存-1 byte。

4294967295 = 4G

vm.swappiness = 0   這個參數當內存不足時會對性能產生比較明顯的影響

linux的內存交換區:在linux安裝時都會有一個特殊的磁盤分區,稱之爲系統交換分區。

如果我們使用free-m在系統中查看可以看到類似下面的內容其中swap就是交換分區。

swap的作用:當操作系統因爲沒有足夠的內存時就會將一些虛擬內存寫到磁盤的交換分區中,這樣就會發生內存交換。內存交換對數據庫是透明的 ,只有操作系統知道特定的虛擬內存地址是物理內存還是在硬盤中,一旦發生這種內存交換呢,對mysql就會產生災難性的影響。vm.swappiness = 0 就是告訴linux內核,除非虛擬內存完全滿了,否則不要使用交換區。

/sbin/sysctl -p    配置後立即生效

增加資源限制(/etc/security/limit.conf)

這個文件實際上是Linx PAM 也就是插入式認證模塊的配置文件。打開文件數的限制。

* soft nofile 65535

* hard nofile 65535

把打開文件的數量增加到65535保證能打開足夠多文件,文件修改後需要系統重啓才能生效。

 

磁盤調度策略(/sys/block/sda/queue/scheduler)

查看磁盤調度策略: cat /sys/block/sda/queue/scheduler

cfq策略-不適合mysql,會導致很差的響應時間。

noop 電梯式調度策略:noop實現了一個fifo隊列,它像電梯的工作方法一樣對I/O請求進行組織,當有一個新的請求到來時,它將請求合併到最近的請求之後,以此來保證請求同一介質。noop傾向餓死讀而不利於寫,因此noop對於閃存設備、RAM及嵌入式系統是最好的選擇。

deadline 調度策略:deadline確保了一個截止時間內服務請求,這個戒指時間是可調的,而默認讀期限短於寫期限。這樣就防止了寫操作因爲不能被讀取而餓死的現象,deadline對數據庫類應用是最好的選擇。

anticipatory 預料I/O調度策略:本質上與deadline一樣,但在最後一次讀操作要等待6ms,才能繼續進行對其它I/O請求進行調度。用寫入延時換取最大的寫入吞吐量。AS適合於寫入較多環境,比如文件服務器,AS對數據庫環境表現很差。

echo deadline > /sys/block/sda/queue/scheduler   改變系統策略爲 deadline

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章