我們有一個webapp爲我們的其中一項服務提供服務請求。我們已經在Tomcat 7服務器上運行它。如下所述,由於我們可以創建的最基本的Servlet具有相似的結果,所以不需要太多細節。低數量用戶的Tomcat吞吐量限制
我們運行一個負載測試,使用帶有不同數量的併發線程的jmeter來執行一分鐘的服務請求。通過結果,我們生成了一些平均響應時間vs併發線程的圖表,以及每秒請求數和併發線程數。
在我們測試的約10個併發線程中,我們發現應用程序管理的吞吐量有限制。從該線程數開始,平均響應時間增加,每秒請求數穩定。
我們已經測試了一些對我們應用程序的更改,甚至刪除了所有的應用程序邏輯並返回了靜態響應。並且對不做任何事的基本Servlet運行相同的測試,並且我們得到了相似的結果:平均響應時間和吞吐量值更好,但在測試中大約有10個併發線程達到了限制。
我們還運行了Apache Benchmark的類似測試,以放棄測試工具的問題。
測試在2個服務器池中運行。當在本地計算機上運行時,他們給出了類似的結果,但吞吐量限制達到了大約5個併發線程。
下面是吞吐量圖表。請注意,每個行的值並不重要(例如:某些行刪除了數據庫訪問權,或者甚至是大多數應用程序邏輯,因此他們需要更少的時間)。
我們要理解什麼是其中吞吐量限制來自和我們能做些什麼來改善它。
感謝, 豪爾赫
PS:我想補充的圖像,而不是隻是一個鏈接,但它看起來像我沒有足夠的聲譽:(
感謝您的回答。我們將嘗試使用更多硬件來運行它,以檢查這是否是這種情況下的原因。當硬件是真正的限制時,我們可能太專注於找出約10個併發線程的限制原因。 – jorgelamb