2015-05-19 23 views
1

我使用NewRelic監視PHP應用程序,我對我的應用程序概述中顯示的一些數字感到非常困惑。「app server」時間與newrelic中的「瀏覽器時間」和「交易時間」有關嗎?

我的應用程序包含一個Web應用程序的PHP,即一側(顯然:)提供網頁到Web瀏覽器,並執行對對方請求到Java後端:

瀏覽器< - > PHP的webapp - - > Java Backend

我知道一些Java後端請求可能需要15秒才能完成,從瀏覽器的角度看完整的webapp會花費很多時間。

在新建(APM>我的應用>監控>概述)概述面板中,它表示我的「應用服務器」時間平均爲1560毫秒,而我的「瀏覽器時間」爲5.63秒(我已啓用瀏覽器監控)。此外,「交易」部分顯示交易需要11.6秒才能完成。

那麼......所有這些不同的時間測量如何與它們相關聯?總之,我有:

  • PHP 「應用程序服務器」 時間:1560毫秒
  • PHP應用程序 「瀏覽器時間」:5.63秒
  • 「交易」 時間:11.6秒

如何我能理解這個數字嗎?我希望「瀏覽器時間」是最高的(因爲它包括所有其他的PHP和事務處理)。他們以某種方式加起來?其中一些是其他人的細分?

注意:我知道,在newrelic中,所有關於時間窗口分析的平均時間都是相同的,但仍然對我來說沒有意義。

謝謝!

回答

4

那麼,我終於明白了這一點:) 我在這裏失蹤的關鍵概念是「百分位數」。讓我稍微解釋一下。

在我的問題中,我提到我得到的平均響應時間爲1560ms,考慮到我們的後端總是需要處理大約15秒來產生響應,這似乎沒有意義。以下圖片是我在webapp的「概述」中獲得的內容。

web transactions average times

正如你可以看到,平均響應時間似乎並不那麼糟糕。不過,我也看到交易需要15秒。

如下所示,如果展開「網絡交易響應時間」選擇器並選擇百分比符號(「%」),您將得到「百分比」圖表。礦如下:

web transaction percentiles

在這個新的圖:

  • 綠線表示的平均響應時間,其對應於第一圖形的綠色區域內。在這裏我們看到,實際上它規定交易平均需要2秒才能完成。到現在爲止還挺好。
  • orange-ish line,對應於「95%」。這是瞭解所有這些數字如何結合在一起的關鍵。這個「95%」對應於您的請求的「第95個percentile」。這意味着您的請求中有95%的時間少於此時間。但是,當然這也意味着5%的請求需要更多!
  • 藍線,對應於您的請求的「99%」或「第99百分位數」,這意味着您的請求中有99%的請求少於此行,但是再次,1%會佔用更多。
  • 紅線,對應於「中位數」,如果事實是「50%」或「第50百分位數」的同義詞,則爲「中位數」。這一點你可以想象這是什麼:你的請求中有50%的時間少於這個時間,而另外50%的請求的數量更多(因此名稱爲「中值」)。請注意,有趣的是,這個度量與「平均」概念有很大不同,因爲平均值總計總和除以交易總數,從而隱藏在樣本的大量數據中,那些處於極端情況的交易採樣次數。

現在,一切都開始有意義了。我的平均要求實際上不超過2秒。但是我有很多要求非常快(紅線以下的要求),那些花費15秒的令人難以置信的時間的平均值並不明顯。只有當你看到抽樣請求的長尾時,這些纔是明顯的。第95和第99百分位。

要包裝它,可以確認選擇圖中的「直方圖」選項。煤礦如下:

web transactions histogram

通知絕大多數的要求採取的200ms下,但我們也考慮超過7秒完成(交易的8.29%,如果我們可以滾動到右側直方圖,我們會發現,實際上由於我們之前做過的百分比分析,請求超過15秒的請求處於最後的5%和1%)。

(本文我指出了正確的方向:https://blog.newrelic.com/2013/10/23/histograms-percentiles-new-relic-style/

這讓我迷失方向了很久,希望它可以幫助別人!

+0

請注意,如果您點擊柱狀圖的其中一個柱狀圖,您將獲得關於哪些交易分組的詳細信息:) – jotadepicas