草庐IT

QueryCache

全部标签

ruby-on-rails - ActiveRecord::QueryCache#call 占用了超过 70% 的执行时间

NewRelic向我展示了应用服务器中超过80%的执行时间发生在“MiddlewareActiveRecord::QueryCache#call”中这里是相关测试代码的要点(尽管我在其他API端点上看到了类似的结果)。Gist我正在AWSElasticBeanstalk上的t2.medium实例和t2.smallPostgresRDSDB上运行应用程序服务器,max_connections设置为100。我正在通过loader.io对此进行测试,对100个用户进行测试使用维护客户端负载设置(这意味着每分钟大约6000个请求)。有谁知道为什么QueryCache花费这么多时间?

mysql - 请求卡在 ActiveRecord::QueryCache 中间件中

部署我们的Rails应用程序(4.0.9,Ruby2.1.2)后,我们注意到对我们应用程序的请求在一段时间后挂起,通常是1天左右。使用gemrack_timer,我们能够找出请求卡在ActiveRecord::QueryCache中间件处。RackTimer(incoming)--ActiveRecord::QueryCache:925626.7731189728ms删除后,我们的应用程序似乎恢复了正常。但是,我知道这个中间件的目的是提高性能,所以删除只是一个临时解决方案。我们使用带有适配器mysql2(0.3.13)的mysql(5.1.67)更新:在我发布这个问题之后,服务器又开始