标签: newrelic

Rails + New Relic:RPM是什么意思?

我刚刚开始在我的rails应用程序中使用New Relic RPM,他们提供的一个指标是"吞吐量RPM".我到处搜索并彻底梳理了New Relic文档,我找不到RPM吞吐量指标的任何书面解释.

是"每分钟请求数"还是"每毫秒请求数"或其他什么?**内燃机和每分钟转数使得在Google中无法找到答案.

什么是吞吐量RPM?是一个更高或更低的数字,什么是一些平均基准,等?

我非常感谢这个指标的解释,谢谢!!

ruby-on-rails rpm ruby-on-rails-3 newrelic

67
推荐指数
2
解决办法
2万
查看次数

BeginProcessRequest()会发生什么?

我们使用NewRelic来提供服务器端应用程序跟踪.

我们注意到我们的一些应用程序始终在该方法中花费大约100毫秒System.Web.Mvc.MvcHandler.BeginProcessRequest().

出现这种情况的任何自定义控制器代码调用之前(这是单独记录,而不是累积) - 这不是显而易见的,为什么会在这种方法中花费这么多的时间.

MVC在这种方法中会做些什么?这可能只是请求排队吗?

[编辑:] 如怀疑 - Scalayer的回答是现实的.我们删除并优化了所有会话依赖关系,并看到了应用程序可伸缩性和稳定性的大幅提升

c# asp.net asp.net-mvc-3 newrelic

58
推荐指数
2
解决办法
1万
查看次数

NewRelic和Azure Insights之间的比较

我正在研究为Azure上托管的Web应用程序使用性能和监视工具.

我想知道微软的Application InsightsNew Relic之间的主要区别是什么?

谢谢.

azure newrelic azure-application-insights

52
推荐指数
1
解决办法
8415
查看次数

如何将插件仅应用于gradle中的一种风格?

我有一个多味道,多构建类型的android项目,我想要集成NewRelic插件.但我必须只为其中一个客户应用它,因此只适用于一种产品风味.
NewRelic使用检测,如果我在那里应用插件,插件会生成其他风格的代码,这是我们不允许的.

所以我的问题是:如何使用apply plugin: somethinggradle文件中的命令仅应用于我的一种口味?

android gradle newrelic android-studio android-productflavors

38
推荐指数
5
解决办法
5125
查看次数

忽略New Relic中的持久SignalR连接

我应该在哪里调用NewRelic.Api.Agent.NewRelic.IgnoreApdex()NewRelic.Api.Agent.NewRelic.IgnoreTransaction()在我的SignalR集线器中阻止长时间运行的持久连接使我的应用程序监控日志蒙上阴影?

New Relic SignalR主导监控的屏幕截图

c# asp.net-mvc newrelic signalr

29
推荐指数
4
解决办法
3999
查看次数

有没有办法手动推送NewRelic错误?

在我们的Rails应用程序中,我们拯救ApplicationController上的大多数异常以提供正确的API响应,但仍希望使用ErrorCollector跟踪发生的错误.有没有办法手动向NewRelic发送错误?

ruby-on-rails newrelic

27
推荐指数
2
解决办法
5685
查看次数

AcquireRequestState中的长延迟

使用性能监视工具"New Relic"我在"AcquireRequestState"中偶尔会看到(但是太多)长时间延迟.我说的是10秒,20秒延迟,有时是几分钟.

我知道我们没有为此活动编写自己的事件处理程序.

我在哪里开始寻找这些延迟的原因?我到目前为止在msdn上发现的一些小信息都没有用.

asp.net webforms newrelic

24
推荐指数
2
解决办法
1万
查看次数

Heroku上的奇怪的TTFB(第一个字节的时间)问题

我们正在改进我们在Heroku托管的rails应用程序的性能(rails 3.2.8和ruby 1.9.3).在此过程中,我们遇到了一个令人担忧的问题,其源头似乎非常难以追踪.让我快速解释一下我们如何解决问题以及我们如何尝试隔离它.

-

从6月左右开始,我们在整个网站的Time to First Byte中经历了奇怪的滞后行为.使用该站点时显而易见的问题(有时候应用程序没有响应10-20秒),并且它也通过webpagetest.org出现在瀑布分析中.我们的总部设在丹麦,但是从任何主机那里得到了这个结果.

为了确认问题,我们进行了基准测试,我们向一个简单的页面发送了300个相同的请求并测量了响应时间.如果我们向首页发送300个请求,则中位响应时间低于1秒,这是相当不错的.令我们感到害怕的是,60个请求占用的时间增加了一倍,而其中40个请求占用的时间超过4秒.有些请求需要16秒.

这些缓慢的请求都没有出现在我们用于性能监控的New Relic中.无论我们的Web流程规模有多高,都不会显示请求排队,结果也是一样的.尽管如此,我们还是拒绝承认问题是由应用程序代码引起的,所以我们尝试了另一个实验,我们通过机架中间件响应请求.

通过在机架堆叠的开始将这种中间件(TestMiddleware),我们返回的请求之前就击中了应用程序,确保不会影响下面的中间件或Rails应用程序可能会导致延迟.

Middleware setup:
$ heroku run rake middleware
use Rack::Cache
use ActionDispatch::Static
use TestMiddleware
use Rack::Rewrite
use Rack::Lock
use Rack::Runtime
use Rack::MethodOverride
use ActionDispatch::RequestId
use Rails::Rack::Logger
use ActionDispatch::ShowExceptions
use ActionDispatch::DebugExceptions
use ActionDispatch::RemoteIp
use Rack::Sendfile
use ActionDispatch::Callbacks
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use ActiveRecord::QueryCache
use ActionDispatch::Cookies
use ActionDispatch::Session::DalliStore
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
use ActionDispatch::Head
use Rack::ConditionalGet
use Rack::ETag
use ActionDispatch::BestStandardsSupport
use NewRelic::Rack::BrowserMonitoring
use Rack::RailsExceptional
use OmniAuth::Builder
run AU::Application.routes
Run Code Online (Sandbox Code Playgroud)

然后我们运行相同的脚本来记录响应时间并得到几乎相同的结果.平均响应时间约为130MS(显然更快,因为它没有击中的应用程序,但仍然60请求了超过400个毫秒和25个请求花了超过1秒.同样,一些16秒钟缓慢请求.

一种解释可能与网络上的慢速跳跃或DNS设置有关,但traceroute的结果看起来非常好.

通过在Heroku上托管的另一个rails 3.2和ruby 1.9.3应用程序上运行响应脚本来确认此结果 …

performance ruby-on-rails heroku newrelic

22
推荐指数
1
解决办法
3450
查看次数

NewRelic,异步http处理程序和AcquireRequestState

我在分布式ASP.NET Web应用程序中有一个异步处理程序的问题.首先让我解释一个用例:

  • 应用程序在使用.NET Framework 4.5.2的win 2012计算机上使用IIS 8
  • 应用程序通过web.config禁用了会话和身份验证模块

         <system.webServer>
           ....
           <modules>
                <remove name="WindowsAuthentication" />
                <remove name="Session" />
                <remove name="FormsAuthentication" />
            </modules>
         </system.webServer>
    
    Run Code Online (Sandbox Code Playgroud)
  • 应用程序使用自定义异步Web处理程序来提供特定请求

  • 应用程序的流量非常大(每台服务器每分钟大约有50k个请求,异步处理程序每​​个服务器每分钟有大约10k个请求,所有这些请求都来自NewRelic)
  • 应用程序通过多个w3wp进程(2个w3wp进程)和多个虚拟服务器(大约10个服务器)进行分发
  • 应用程序具有大量的连接

所有正常(同步请求)都正常工作,但执行更多工作的异步请求(这就是我们使用异步请求的原因)通常很慢,但NewRelic报告说它因"AcquireRequestState"而变慢.现在我看了谷歌和堆栈溢出,这个事件连接到创建一个会话,但我们在web.config中禁用了会话.有谁知道"AcquireRequestState"还能做什么?我们是否遗漏了删除会话状态的地方?从web.config添加到machine.config没有做任何事情......

以下是NewRelic中请求的片段:

   **Slowest components   Count Duration     %   **
     AcquireRequestState    1   12,600 ms   100%  --> WTF?
     ExecuteRequestHandler  1   5.01 ms     0%
     Integrated Pipeline    1   0.334 ms    0%
     UpdateRequestCache     1   0.3 ms      0%
     EndRequest             1   0.168 ms    0%
     AuthenticateRequest    1   0.161 ms    0%
     Total time                 12,600 ms   100%
Run Code Online (Sandbox Code Playgroud)

编辑:我<sessionState mode="Off" />在web.config(<system.web>部分),所以这不是它.

c# asp.net session asynchronous newrelic

22
推荐指数
1
解决办法
2142
查看次数

由于New Relic RPM gem,Heroku推动失败

gem 'newrelic_rpm'根据Heroku的文档,我已经进入了我的Gemfile .当我尝试运行时,git push heroku master我收到以下内容:

-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.3.0.pre.5
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
       Fetching gem metadata from https://rubygems.org/........
       Fetching gem metadata from https://rubygems.org/..
       Could not find newrelic_rpm-3.5.6.46 in any of the sources
 !
 !     Failed to install gems via Bundler.
 !
 !     Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:reponame.git
 ! [remote rejected] master -> master (pre-receive hook declined) …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku newrelic

21
推荐指数
1
解决办法
1930
查看次数