針對Mysql的CentOS系統引數主要調優

2021-09-23 20:33:35 字數 1921 閱讀 6580

核心相關引數(/etc/sysctl.conf)

# 以下引數可以直接放到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連線接收和傳送緩衝區大小的預設值和最大值:

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

net.ipv4.tcp_keepalive_intvl = 30

net.ipv4.tcp_keepalive_probes = 3

# linux核心引數中最重要的引數之一,用於定義單個共享記憶體段的最大值。

kernel.shmmax = 4294967295

注意:  1. 這個引數應該設定的足夠大,以便能在乙個共享記憶體段下容納整個的innodb緩衝池的大小

2. 這個值的大小對於64位linux系統,可取的最大值為物理記憶體值-1byte,建議值為大於物理記憶體的一半,一般取值大於innodb緩衝池的大小即可,可以取物理記憶體-1byte

# 這個引數當記憶體不足時會對效能產生比較明顯的影響。

linux系統記憶體交換區(在linux系統安裝時都會有乙個特殊的磁碟分割槽,稱之為系統交換分割槽):  

使用free-m命令可以看到swap就是記憶體交換區.

作用:當作業系統因為沒有足夠的記憶體時就會將一些虛擬記憶體寫到磁碟的交換區中,這樣就會發生記憶體交換。在mysql伺服器上是否要使用交換分割槽有一些爭議:

在mysql服務所在的linux系統上完全禁用交換分割槽。

帶來的風險:1. 降低作業系統的效能 2. 容易造成記憶體溢位,崩潰,或都被作業系統kill掉

增加資源限制(/etc/security/limit.conf) 這個檔案實際上是linux pam也就是插入式認證模組的配置檔案。

# 開啟檔案數的限制:

soft nofile 65535

hard nofile 65535

# * 表示對所有使用者有效,soft 指的是當前系統生效的設定,hard 表明系統中所能設定的最大值,nofile 表示所限制的資源是開啟檔案的最大數目,65535 限制的數量,soft不能大於hard;直接加到limit.conf檔案的末尾就可以了。

# 結論:把可開啟的檔案數量增加到65535個以保證可以開啟足夠多的檔案控制代碼。

# 注意:這個檔案的修改需要重啟系統才能生效。

磁碟排程策略(/sys/block/devname/queue/scheduler)

# 檢視排程策略命令

cat /sys/block/devname/queue/scheduler

# 修改排程策略,例如:echo deadline /sys/block/devname/queue/scheduler

echo > /sys/block/devname/queue/scheduler

# 排程策略請自行上網了解: noop anticipatory deadline [cfg]

MySQL 針對null的排序

預設情況下,mysql將null算作最小值。如果想要手動指定null的順序,就是使用ifnull函式,ifnull expr1,expr2 如果 expr1 不是 null,ifnull 返回 expr1,否則它返回 expr2。ifnull 返回乙個數字或字串值,取決於它被使用的上下文環境。ifn...

centos7的更新 針對rdo

os centos7 1406 使用下面的操作 sudo yum install y sudo yum update y sudo yum install y openstack packstack packstack allinone 在yum update y 後發現centos系統整個的掛掉了...

centos配置啟動項 centos修改系統啟動項

源自 目前,我想學習 linux 的朋友,都會在自己的電腦上裝入雙系統。當然我們都知道,當 windows 和linux 共存的時候,我們要先裝 windows 然後再安裝 linux 可是這就會導致乙個 問題,啟動系統的時候會預設進入 linux 系統,但有時候我們需要預設進入 windows 系...