博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
验证RDS读写分离是否正确分发只读请求
阅读量:5873 次
发布时间:2019-06-19

本文共 480 字,大约阅读时间需要 1 分钟。

目前RDS-Mysql支持开通读写分离,然后应用使用读写分离的地址提交请求的时候,就能够将符合条件的读请求分发到只读实例上执行,从而分担主实例上读请求的压力。

但是在使用过程中,并不是所有的读都会分发到只读实例实例上执行,比方说处于事务中的读。(详细请参考:)

image

在处理问题的过程中,经常会有用户反映,为什么我只读实例上的CPU压力特别低,并且业务中的一些读请求都没有在上面运行,针对这种情况,可能就是因为在应用中有开启事务,然后读请求就被发送到主实例上执行了。

对于这种情况的排查,我建议使用下面的方法进行操作:

  1. 首先在主实例还有只读实例上开启一下sql审计。
  2. 配置分离的权重:主实例为0,只读实例为100。
  3. 然后通过mysql命令行这种方式连接读写分离的地址,提交一个简单的读请求(没有包含在事务里面)。
  4. 最后在主实例和只读实例的sql审计日志中查看,看到底是在哪里执行的之前的select操作。

如果发现了这样的方式提交读请求还是到主实例上执行的话,那么请联系阿里云进行排查(发生的机率太小);一般如果是因为开启了事务造成的话,在审计日志中也是能够看到的。

转载地址:http://khhnx.baihongyu.com/

你可能感兴趣的文章
sqrt()平方根计算函数的实现1——二分法
查看>>
Web前端研发工程师编程能力飞升之路
查看>>
Linux内核 设备树操作常用API【转】
查看>>
“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示
查看>>
volatile的深入理解--【sky原创】
查看>>
RabbitMQ指南之二:工作队列(Work Queues)
查看>>
js提交图片转换为base64
查看>>
面向对象 委托
查看>>
PassWord控件
查看>>
【带着canvas去流浪(5)】绘制K线图
查看>>
Linux 删除mysql数据库失败的解决方法
查看>>
浏览器缓存文件导致js文件更改无效
查看>>
如何才能学好javascript
查看>>
学习CodeIgniter框架之旅(二)继承自定义类
查看>>
yum被锁Another app is currently holding the yum lock; waiting for it to exit...
查看>>
Excel .net读取
查看>>
设计模式之简单工厂模式
查看>>
我的Python成长之路---第三天---Python基础(13)---2016年1月16日(雾霾)
查看>>
深度学习-数学-第一篇-标量,向量,矩阵,张量
查看>>
数据库分类
查看>>