列举几个处理性能的最佳实践方法,作为指南性的检查清单
一切都很慢
当整个系统性能很差时,必须关注系统是如何运行的,从操作系统开始。使用下面介绍的方法识别和改进系统的性能:
★检查硬件问题
★改善硬件环境(如:添加内存)
★考虑将数据迁移到独立的磁盘上
★检查操作系统的配置是否正确
★考虑将有些应用迁移到其他服务器上
★考虑横向扩展的复制
★优化服务器性能
查询慢
使用下面的方法可改善慢查询日志中的任何查询,以及那些由用户或者开发者识别出来的有问题的查询:
★规范化数据库模式
★使用EXPLAIN识别丢失或不正确的索引
★考虑重写查询
★对标准查询使用视图
★使用查询缓存进行测试(这点不是针对所有查询都有效,或者取决于访问模式的频率)
不论复制查询是否会被写入master中德慢查询日志,复制slave都不会将它写入慢查询日志。
应用慢
如果应用程序出现性能问题,应该检查应用组件,以确认问题出现在哪。下面的方法可以识别和解决应用程序的性能问题:
★开启查询缓存
★如果查询缓存已经启用了,关闭它优势可能会改善某些查询。使用DEMAND模式和SELECT SQL_CACHE,按需使用查询缓存
★它考虑并优化存储引擎
★确定是否是服务器或操作系统的问题
★定义应用程序的基准测试,并将它与已知基准进行比较
★检查内部(在应用程序中编写的)查询,并最大化它们的性能
★分而治之——一次只检查一个部分
★使用分区来分散数据
★检查各个分区的索引
复制慢
前边提过,与复制相关的性能问题,通常与数据库和服务器性能问题无关。使用以下方法可诊断复制的性能问题:
★确保网络峰值性能最佳
★确保服务器配置正确
★优化数据库
★限制master的更新
★将读操作分散到各个slave中
★检查slave的复制延迟
★定期维护日志(二进制日志和中继日志)
★如果宽带有限,使用压缩
★使用包容性和排他性日志选项,最小化复制内容