我想确定应用程序中滞后时间的位置。我想拼凑起来 为什么我的请求所花费的时间远远超过广告时间。我已经包含了一个例子 日志。在Views和ActiveRecord之间,时间只有150ms,但整个响应都是 花了1483ms。这不仅仅是在某个地方丢失了整整一秒 监测。
Started POST "/contacts" for 80.171.62.199 at 2012-05-14 09:51:33 +0000
Processing by ContactsController#create as HTML
Parameters: {"developer_api_key"=>"foo", "user_api_key"=>"bar", "contact"=>{"name"=>"Cors Test"}}
HTTP Logger Request ID: 4fb0d5a583098e0014000002
Completed 201 Created in 1483ms (Views: 133.2ms | ActiveRecord: 24.0ms)
我正在使用New Relic RPM来监控应用程序性能,这只能告诉我:
ContactsController#index: 426ms
。时间和代码仍有很多
下落不明。
对我来说,找出代码花费时间的最佳方法是什么?我应该投资吗? 在扩展New Relic RPM或使用像ruby-prof?
这样的东西答案 0 :(得分:1)
这是生产中的吗?如果是的话,是的,投资New Relic或者通过他们通常拥有的免费升级“东西”来试用它们。我猜你通常会持续一周。看看他们现在是否有任何此类交易。
另外,你有没有before_filters,api调用第三方服务,一些奇怪的初始化器,这是第一次在服务器重启后调用POST吗?
你有一个developer_api_key,它可能会在某处(本地可能)或第三方服务进行检查。
很多因素,但只有一秒钟。大多数标准应用程序在POST时都可以。除非它是一个新的Relic克隆,它只需要POSTS和POSTS,即你的面包和黄油。
另外,你有关于api密钥的索引吗?以防万一。
答案 1 :(得分:0)