最近在跟进服务迁移到华为云的工作, 发现mysql性能下降非常明显
例:
某大表SELECT COUNT(1)
原先只要60s, 而华为云需要112s之多, 从纸面配置看, 两者没有什么明显区别.
但后续在跟华为云技术多次沟通, 多次调整后, 确定了性能下降的原因
有三个方面
- 物理配置
- 内存
- cpu
- 磁盘性能
- 参数设置
innodb_buffer_pool_instances
在非常高的 I/O 负载时, 优化效果明显innodb_buffer_pool_size
innodb_parallel_read_threads
并行查询, 对大表的查询优化非常明显innodb_io_capacity
innodb_io_capacity_max
- mysql版本
- 云厂商一般都会对mysql做进一步优化, 比如腾讯云的并行查询, https://cloud.tencent.com/developer/article/2216333 , 华为云目前直接使用的社区版
相关:
还有优化索引/字段/查询语句等软层面的手段, 不在此次讨论范围内
注意: 本文归作者所有, 未经作者允许, 不得转载. 若有谬误, 欢迎指出