首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ActionDispatch::Routing::RouteSet需要这么长时间

为什么ActionDispatch::Routing::RouteSet需要这么长时间
EN

Stack Overflow用户
提问于 2015-05-09 00:44:35
回答 1查看 903关注 0票数 8

我正在使用Rails 4.2.1之上的葡萄来为我们的应用程序提供API。

但是当我今天检查Newrelic的性能时,我发现RackApp Proc#callGrape API::Root#call占用了大量的时间。(见截图)

然后我尝试用rack_timer记录在中间件中消耗的时间,发现ActionDispatch::Routing::RouteSet占用了大部分时间:

代码语言:javascript
复制
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 67.12579727172852 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 101.51457786560059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 84.18059349060059 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 1236.2565994262695 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 8.124351501464844 ms
Rack Timer (Application Action) -- ActionDispatch::Routing::RouteSet: 55.65309524536133 ms

ActionDispatch::Routing::RouteSet中甚至有耗时500ms - 1000ms的情况。我怎么才能追踪到这个问题,我怎么知道我在Rails路线中做错了什么?

非常感谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2017-02-26 06:26:37

对我来说,Newrelic ruby代理不能与我用来构建API端点的gem rocket_pants一起工作。

有一个第三方gem 'rocket_pants-rpm‘可以解决这个问题,但是原来的那个从newrelic_rpm版本3.9+停止工作,要解决这个问题,请尝试使用https://github.com/SpartaSales/rocket_pants-rpm上的派生版本

这就是添加了这个gem之后的newrelic report的样子。

newrelic request time percentage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30128883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档