针对Mysql所在linux服务器的系统优化参数

系统参数优化


内核相关参数(/etc/sysctl.conf)

对于一个mysql的服务器,我们需要对系统做出一些优化,例如tcp连接数等,来保证mysql性能能达到最优。主要有以下几个参数。直接在sysctl.conf文件末尾加入下列参数。

# 每个连接的最大长度
1 net.core.somaxconn = 65535
# 当网络接受速率大于内核处理速率时,允许发送到队列中的包数目
2 net.core.netdev_max_backlog = 65535
# 保持未连接的包最大数量
3 net.ipv4.tcp_max_syn_backlog = 65535
# 控制tcp链接等待时间 加快tcp链接回收
4 net.ipv4.tcp_fin_timeout = 10
5 net.ipv4.tcp_tw_reuse = 1
6 net.ipv4.tcp_tw_recycle = 1
# 决定tcp接受缓冲区的大小,设置大一些比较好
7 net.core.wmem_default = 87380
8 net.core.wmem_max = 16777216
9 net.core.rmem_default = 87380
10 net.core.rmem_max = 16777216
# 对于tcp失效链接占用系统资源的优化,加快资源回收效率
11 net.ipv4.tcp_keepalive_time = 120    # 链接有效时间
12 net.ipv4.tcp_keepalive_intvl = 30    # tcp未获得相应时重发间隔
13 net.ipv4.tcp_keepalive_probes = 3    # 重发数量
# 内核相关参数
# 共享内存下容纳innodb缓冲池的大小
14 kernel.shmmax = 4294967285   # 4G 大小一般为物理内存-1byte
15 vm.swappiness = 0            # linux除非没有足够内存时才使用交换分区


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

打开文件数的限制,针对数据库句柄

* soft nofile 65536
* hard nofile 65535

你可能感兴趣的:(mysql)