为解决RDS MySQL高并发场景的问题,我们该如何进行实例调优?
实例调优主要包含两部分:弹性扩容和参数调优。
2.参数调优主要从三个方面进行,分别问连接、内存和 Q。 连接相关的参数,backjog 值表示在 MySQL 暂时停止响应新请求之前的这段短 时间内可以堆叠多少请求。如果在短时 间内有大量的连接请求时,主线程会在 一段时间内或者是瞬间检查连接数并启动新连接。 table_open_cache 是所有线程打开表的数量,性能较小时会导致性能下降,但 也不能设置过大,否则可能会造成 OOM, Q 相关的参数,sync_binlog 大家不会 陌生,我们在每年的双 11 会将这些数值调到最优。io_capacity 和刷脏是 Q 两 个比较重要的参数。 内存相关的主要参数是 innodb_buffer_pool_instances。在 5.6 之前,相对来说 innodb_buffer_pool_instances 只有一个时,如果内存越大,它的性能越不稳定, 因为刷脏的时候要锁。当有 buffer_pool_instances 了之后,把 BufferPool 按 buffer_pool_instances 拆分。这种情况下,每一个内存都会维护自己的 List 和锁 结构,性能会提升很多。此外还有和几个连接相关的参数,例如 join_buffer 以 及临时表。 针对影响性能几个主要的参数,用户可以单独设置。这里我们已经将对性能影响 较大的参数调到高性能模板中,应用时可以找到对应的参数,应用到对应的实例 上即可。
资源来源于《阿里云数据库运维实战问题改》
https://developer.aliyun.com/topic/download?spm=a2c6h.20345107.J_6399686890.1.2e1e17dbzKUX5r&id=8198
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。