Mysql硬件优化
1.CPU选择:数据库读写数据,一般是IO密集(E系列-至强),主频相对低,核心数量多。
2.内存容量选择: 建议2-3倍CPU核心数量(带缓存的数据库内存可以多点)。(ECC带有健康检查的)
3.磁盘选择:Flash最快–SSD–PCI-E
4.存储RAID级别(使用RAID10):
- R0
- R1
- R5: 读多写少的数据
- R10:性能很高
5.网络:
- 硬件
- 网卡绑定,交换机堆叠。
- 多个网卡绑定,0 1 主备的网卡,防止网卡坏了,不能通信。
- bonding。
I系列的CPU,主频很高,3.5GHZ,cpu密集型;
E系列(至强),主频相对低,核心数量多。
Mysql操作系统优化
- 磁盘分区–lvm不要选择,尽量使用xfs或者ext4
- 使用ssd以上的固态硬盘
Mysql数据量记录测试
- 三层的B+树可以表示上百万的数据。上百万的数据的查询只需要3次IO
- Mysql单表支持5000万记录。
- 32位系统表支持4G数据量
- 64位系统表支持8T数据量
- 使用Mysql将事务自动提交变成手动提交,实现批量插入数据
- 1万条:2.78s
- 50万条:77.36s (4个字段的表,只有主键索引)
- Mysql的备份测试:
100G 内的库,可以考虑使用 mysqldump
100G 以上的库,可以考虑用 xtranbackup- 20G的2分钟(mysqldump)
- 80G的30分钟(mysqldump)
- 111G的30分钟(mysqldump)
- 288G的3小时(xtra)
- 3T的4小时(xtra)
逻辑导入时间一般是备份时间的5倍以上