有人可以幫助我閱讀NewRelic摘要和跟蹤詳細信息。以下屏幕截圖具有跟蹤單個事務的功能,該功能不會對數據庫創建任何查詢。它只是一個簡單的查詢,只有幾行Scala模板代碼,它呈現HTML頁面並將其返回給客戶端。這只是當前正在生產中運行的單個事務。生產有很多更復雜的交易運行,它會對Mongo,Maria,Queue等進行大量外部呼叫。NewRelic的緩慢交易Play框架作爲後端
跟蹤是否顯示瓶頸可能出現的位置?例如,我們是否耗盡了線程或工作人員。正如我所說的,大部分交易都會進行大量的網絡外部呼叫,這可能會在很長一段時間內保留單線程。如果線程或工作人員在Play應用程序中耗盡,如何才能真正學習?我們正在使用2.1.4。
在以下調用中實際發生了什麼?
Promise.apply 21.406ms
異步等待21.406ms
Actor.tell 48.366ms
PlayDefaultUpstreamHandler 6.292ms
編輯:
以下調用的目的是什麼?那些平均通話時間超高。
scala.concurrent.impl.CallbackRunnable.run()
scala.concurrent.impl.Future$PromiseCompletingRunnable.run()
org.jboss.netty.handler.codec.http.HttpRequestDecoder.unfoldAndFireMessageReceived()
編輯:
play {
akka {
event-handlers = ["akka.event.slf4j.Slf4jEventHandler"]
loglevel = WARNING
actor {
default-dispatcher = {
fork-join-executor {
parallelism-min = 350
parallelism-max = 350
}
}
exports = {
fork-join-executor {
parallelism-min = 10
parallelism-max = 10
}
}
}
}
}
請問您是否使用akka /線程池配置更新線程? –
我有類似的行爲。某些時候,我會得到很好的 未來$ PromiseCompletingRunnable.run()次,有時甚至是低的吞吐量,我會變得極其緩慢 Future $ PromiseCompletingRunnable.run()次。你解決了這個問題嗎? – rsan