硬件
磁盘:升级I/O能力, 使用Raid10阵列,如果有钱,升级SSD做 Raid 10
CPU: 升级计算能力
内存: 不低于16GB
操作系统: 最好使用 64位
优化配置参数
Slow Query Log : 慢日志
Max Connections : 最大连接数
Worker Threads : 工作线程数
Key Buffer : Key 缓冲
Sort Buffer : 排序缓冲
Query Cache : 查询缓存
Joins : 连接
Temp Tables : 临时表
Table (Open & Definition) Cache : 表缓存
Table Locking : 表锁定
Table Scans (read_buffer) : 表扫描,读缓冲
InnoDB Status : InnoDB 状态
常见问题
A: show full processlist :显示很多 unauthenticated user 链接
分析: 由于MySql使用 user+host来验证权限,使用域名链接时就会有此问题
解决: 关闭 DNS 返回解析,在配置文件中添加: skip-name-resolve,之后就只能使用IP了
B: 长期负载较高
分析: 是否启动 thread_cache_size
解决: 配置为 thread_cache_size =256
C:表读取频繁,长期牌 Sending data 状态
分析: 磁盘I/O压力过大,使用 explain 执行一个查询,查看优化参考
解决:是否使用索引,是否全表扫描等