一、硬件与操作系统
- 1.使用高性能cpu,提高计算能力
- 2.增大可用内存,提高读取能力
- 3.提高硬盘的读写速度,使用专用的固态硬盘
- 4.增大网络带宽,提高数据传输能力
二、架构设计层面的优化
- 1.搭建mysql主从集群、主主集群可以保证服务的高可用性
- 2.读写分离设计,读多写少的场景中通过读写分离的方案,可以避免读写冲突导致的性能问题
- 3.分库分表机制,使用mycat、sharding-jdbc等中间件
- 4.热点数据可以引入更为高效的缓存数据库,例如redis、mongoDB等
三、mysql程序配置优化
- 1.修改my.cnf中默认配置,例如修改最大连接数
- 2.缓存池默认大小配置
四、mysql执行优化
- 1.慢sql的定位与排查,慢查询日志分析
- 2.sql执行计划分析,使用关键字explain查看当前sql的执行计划
- 3.show profiles工具使用,查看sql语句当前会话中sql资源消耗情况,io开销、cpu开销、内存开销等