【问题标题】:slow query and "postgresql other" query in New RelicNew Relic 中的慢查询和“postgresql 其他”查询
【发布时间】:2017-03-07 15:05:08
【问题描述】:

我很难找出为什么我们的应用程序在请求增加时变得如此缓慢。这是 Heroku 上的 Rails 4 应用程序。我正在使用 New Relic 来识别问题,但到目前为止它并没有真正帮助我。

从这个屏幕截图中可以看出,处理了大量对数据库的调用。而且我的控制器中没有 2000 次调用!最近有人遇到类似的问题吗? 我找不到关于“Postgresql Other”的好解释。

我很确定它不是来自我的代码,因为它大部分用于其他路线并且只有一个存在这个问题...... 我只是想知道它是否与 New Relic 的问题有关,因为我过去已经遇到过。

ps:两张截图是同一个方法

谢谢你, 马特

【问题讨论】:

  • hmm 在我的 new_reliq 中,我可以单击查询时间,它会显示该查询的堆栈跟踪。但是你有很多begincommits。看起来 db 打开了连接,但不需要进行任何更新,因为没有任何更改。你可以避免这个...save if <model>.changed?
  • 您有没有created_atupdated_at 列的模型吗?

标签: ruby-on-rails performance postgresql heroku newrelic


【解决方案1】:

感谢你们的帮助,我发现了问题所在,它确实来自我的代码,@Fallenhero 让我走上了正轨。对于未来的任何人,以下是 New Relic 关于 Postgresql Other 的答案: “Other 操作是 Ruby 代理无法识别的各种操作的集合(即非 SELECT、UPDATE、SHOW、FIND、DELETE、CREATE、INSERT 操作)。” 不清楚,因为操作是“更新”。我的理解是“Postgresl Other”正在捕获所有“错误”更新:当记录用以前的值更新时(所以它不是真正的更新)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多