本期,我们讨论MySQL的性能调优和集群方案。
我们常遇到一个问题,增加服务器配置并不能增加数据库性能(吞吐量),因为不根据实际配置修改MySQL配置文件的话,再强的硬件配置也只是浪费。
我们按这样的顺序介绍:
明确性能指标
服务器硬件选择
单个mysql服务性能调优
集群方案
明确性能指标在调优之前需要先明确性能指标,根据往期《性能指标》,整体系统的性能指标是并发量、吞吐量、错误率、响应时间。
在调试单个服务时,根据往期《调优基本思路》的结论,只需要明确吞吐量即可。如果整个系统的吞吐量指标为rps,则MySQL读吞吐量最好为rps,写操作吞吐量rps。
这里需要说明的是,MySQL的吞吐量与数据量是相关联的,所以目标吞吐量也是需要以一定数据量为前提的,我们一般以单表10万行或万行作为基准,当然,具体数据量基准最好是根据具体业务作调整。
另外,一般MySQL的吞吐量极限在几万rps左右,且随着数据量增多,吞吐量会越来越低,如果需要更高的吞吐量,则需要额外设计缓存机制等编程机制规避性能局限。
而错误率最好为0%,响应时间不需要特别