2017-09-15 52 views
0

我需要找到我的Web應用程序的性能並加載測試它。該應用程序目前擁有最多25個線程的Tomcat配置,並且有兩個這樣的服務器。可以使用多少個併發線程來加載測試Web應用程序?

這是否意味着我應該爲50個併發請求進行負載測試? 如果有更多請求會發生什麼;它會轉到Tomcat中的線程等待隊列嗎? 如果它適用於線程等待隊列,我可以用超過50個請求測試應用程序嗎?

+0

不可以。您應該使用您希望應用程序支持的併發請求數加載測試,檢查是否滿足您的性能要求,測量並調整線程數(以及其他參數)以更好地滿足您的要求。 –

回答

0

的Tomcat可在2種模式工作:

  • BIO(阻塞IO),其中1個線程可以用於最大1連接
  • NIO(非阻塞IO),其中1個線程可用於多種更多的連接

很可能您的應用程序正在使用後者,請查看Understanding the Tomcat NIO Connector and How to Configure It指南中的概述。另一方面,即使在使用BIO連接器應用程序的情況下,仍然能夠以足夠快的速度運行以服務超過50個用戶。

在這兩種情況下,您應該將您的後端視爲「黑匣子」(想象您對配置一無所知),並專注於測試非功能性需求。

你應該考慮的基本性能測試的類型有:

  • 負載測試:檢查時併發用戶的預期量都在使用它您的系統如何運轉。
  • 浸泡測試:相同,但假設測試持續時間更長,即過夜或週末。通過這種方式,您將能夠看到是否有任何memory leaks,日誌輪轉如何工作,應用程序是否在自身之後進行清理以便它不會耗盡磁盤空間等。
  • 壓力測試:識別您的應用程序的邊界,即從1個虛擬用戶開始,並增加負載,直到應用程序響應時間將在合理範圍內或出現錯誤。

查看Why ‘Normal’ Load Testing Isn’t Enough瞭解更多信息。

+0

謝謝@Dmitri 這是否意味着在壓力測試過程中,我們可以使用超過最大線程來測試它。 – amitmah

+0

壓力測試的思想是確定連接用戶的最大數量,對於使用NIO連接器的Tomcat來說,它可能比定義的線程多得多 –

相關問題