Amazon中的读取副本是否受master中更新的影响?

时间:2016-06-20 20:56:59

标签: mysql ruby-on-rails ruby apache passenger

这是我的问题:

有时一个持久的查询(> 60秒,我有很多这些)总是一个SELECT会使我的整个应用程序停止正常工作直到查询解决。

第一个持久查询开始使其他人慢,然后所有系统都被冻结。

我的应用程序是带有ruby 2.3的Rails 3.2应用程序。

我使用Makara作为读取副本的适配器。

我有以下架构:

  • 执行SELECTS的5个medium.t2 EC2实例
  • 1个执行INSERTS的medium.t2 EC2实例
  • 1 MariaDB服务器+ 2个读取副本。 InnoDB Engine。

我有四种资源:

  • 1 api更新数据库,INSERT
  • 带条件的索引,SE​​LECT
  • 带条件的1个计数操作,SELECT
  • 1自动完成,SELECT

我的服务器堆栈使用Apache + Passenger。

这是我的猜测:

只读副本正在尝试更新select操作实际使用的表,因此在应用程序完成之前,他无法应用同步,从而使两个只读副本与主服务器不同。

最佳部分:

我们只处理400转,其中一半是更新数据库中的结果。

0 个答案:

没有答案