随着数据量的增大,数据库的性能问题也是个值得关注的问题,很多公司对mysql性能方面没有太过重视,导致服务浪费过多资源、mysql服务性能差从而直接影响用户体验,这里我们简单的先来聊聊什么影响了mysql性能,从而能关注这些问题。
硬件资源方面的影响有哪些?
使用传统机器硬盘
RAID增加传统机器硬盘的性能
固态存储(SSD闪存)
网络存储SAN和NAS
网络存储使用的场景(并不适合)
网络性能的限制
延迟
带宽
网络质量
建议
总结:
centos系统参数优化
内核相关参数(/etc/sysctl.conf)
# net.core.somaxconn是Linux中的一个kernel参数,表示socket监听(listen)的backlog上限。什么是backlog呢?backlog就是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。而socket server可以一次性处理backlog中的所有请求,处理后的请求不再位于监听队列中。当server处理请求较慢,以至于监听队列被填满后,新来的请求会被拒绝
net.core.somaxconn = 65535
net.core.netdex_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
加快TCP连接,快速回收TCP连接资源
net.ipv4.tcp_fun_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_te_recycle = 1
加快资源回收效率
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
kernel.shmmax = 4294967295
这个参数应该设置的足够大,以便能在一个共享内存段下容纳下整个innodb缓冲池的大小
vm.swappiness = 0
MYsql上保留内存交换分区还是有必要的
增加资源限制(/etc/security/limit.conf)
* soft nofile 65535
* hard nofile 65535
* 表示对所有用户有效
soft 指的是当前系统生效的配置
hard 表明系统中所能设定的最大值
nofile 表示所限制的资源是打开文件的最大数目
65535 就是限制的数量
磁盘调度策略(/sys/block/devname/queue/scheduler)
cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
noop(电梯式调度策略)
deadline(截止时间调度策略) 对数据库最好选择
anticipatory(预料I/O)
改变磁盘调度策略(/sys/block/devname/queue/scheduler)
echo deadline > /sys/block/devname/queue/scheduler
文件系统对性能的影响
XFS对性能最好
data = writeback | ordered | journal
常用的文件系统的配置
/dev/sda1/ext4 noatime,nodiratime,data=writeback 1 1
原文:https://www.cnblogs.com/only-me/p/11531289.html