优化思路:
1、硬盘优化
2、磁盘IO优化
3、操作系统优化
4、数据库设计与规划
5、my.cnf参数优化
6、mysql查询优化
7、mysql存储引擎
CPU:64位、高主频、高缓存、高并行处理能力
内存:大内存、主频高、尽量不要使用SWAP
硬盘:15000转或更大的转速、使用RAID10、RAID5磁盘阵列或SSD固态硬盘
网卡:服务器的网卡建议是10G网卡,使用网卡 bond 技术
Mysql服务器尽可能和使用它的web服务器在同一局域网内,避免服务器策略等不必要的开销
注:bond就是将2个或多个物理网卡绑成一个虚拟网卡,实现本地网卡的冗余,带宽扩容和负载均衡
raid技术:raid10 或 raid5
建议是15000转或更大转,或直接使用SSD固态磁盘
swap分区:最好使用raid0 或 SSD
磁盘分区:将数据目录放到一个磁盘或分区,存储数据的硬盘或分区和系统所在的硬盘分开。
把binlog日志放到单独的磁盘分区上
操作系统优化-内核、tcp连接数量:
将系统对本地端口范围限制设置为 1024~65000之间
注:本地端口范围最小值必须大于或等于1024,端口范围最大值是65535不能超过这个值
在/etc/sysctl.conf文件里添加该行,保存退出
net.ipv4.ip_local_port_range = 1024 65000
执行sysctl命令使修改生效
sysctl -p
查看使用了多少连接数:
cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count centos7以前的版本
cat /proc/sys/net/netfilter/nf_conntrack_count centos7新版本用这个查询
查看总数多少:
cat /proc/sys/net/ipv4/ip_conntrack_max centos7以前的版本
cat /proc/sys/net/netfilter/nf_conntrack_max centos7新版本用这个查询
注:确保模块nf_conntrack_max被加载
临时设置增加并发数:
echo 524288 > /proc/sys/net/ipv4/ip_conntrack_max centos7以前的版本
echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max centos7新版本用这个查询
永久设置增加并发数:
在/etc/sysctl.conf 文件中加入: