硬件选型
1、cpu core的数量:16core以上
2、cpu和内存配比:1:16
3、万兆网卡,可以配置bond
4、SAS硬盘,必须配置写缓存或写闪存。对于BBU支持的写缓存需要手工设置自学习周期在非工作期间充放电。如果条件允许的话,可以用PCIe闪卡或者固态盘
Linux操作系统选型
建立采用Linux6、7,选择对应版本的最高版本。可以选用centos或者redhat
操作系统调整
1、建议使用LVM进行分区,便于分区扩展
2、配置好基本的网络参数:ip地址、子网掩码、默认网关、dns、/etc/hosts、主机名等
3、建议使用ext4文件系统
4、建议在OS层面或者BIOS层面关闭numa,mysqld是单进程多线程,不适合numa
5、调整连接参数,解决客户端非正常断开的情况,加速tcp的回收以及net重用(net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle)
6、调整虚拟内存相关参数:尽量使用物理内存,避免使用swap空间,调整vm.swappness的值,一般0代表最大限度使用物理内存。100代表积极使用swap空间。默认一般是60(100-60=40%时,开始交换分区的使用),可以根据实际情况进行cat /proc/sys/vm/swappiness调整
7、调整IO调度使用deadline,对于PCIe闪卡可以使用noop调度
MySQL版本选型
5.7或者8,具体版本选择最小版本号,采用社区版本。对于金融行业或者传统行业,可以选择企业版
MySQL架构调整
1、传统主从方式(binlog作为主从同步的基础)
2、MHA架构
3、考虑第三方收费的基于redolog的主从架构,特点是主从延迟小
MySQL参数调整
具体参数调整参考https://blog.csdn.net/weixin_44569143/article/details/97886178
MySQL参数监控
可以使用zabbix+定制化参数监控
zabbix配置参考https://blog.csdn.net/weixin_44569143/article/details/93529559
监控参数参考https://blog.csdn.net/weixin_44569143/article/details/98308694