2016-04-25 132 views
1

我是新的JMeter和。我跟着this教程學習JMeter。爲什麼我的網站超時運行JMeter負載測試

我試着做以下條件下測試的負載。

Number of Threads (Users) - 1000 

Ramp-Up Period (in seconds) - 10 

Loop Count - 5 

當我運行測試,我試圖加載我的網站(清除緩存後),但是,它需要比平常更多的時間來加載頁面。瀏覽器緩存數據時不會發生此問題。

有人能告訴我爲什麼發生這種情況?是因爲當1000個用戶加載我的網站時,它可能會崩潰或什麼?

任何類型的解釋將不勝感激。

回答

2

如果您嘗試加載您的網站(清除緩存後),則運行您的JMeter測試時,它將總是需要比平時更多的時間加載。這是因爲您已清除緩存,現在瀏覽器需要呈現頁面資源再次加載您想要的頁面。加載完成後,如果嘗試再次加載頁面而不清除緩存,則此次加載頁面所需的時間會更少。瀏覽器不會每次都獲取頁面資源,而是瀏覽器將其保存在其緩存中。因此,下次嘗試打開或加載該頁面時,瀏覽器可以使用這些緩存在最短的時間內爲您打開該頁面。因此,當瀏覽器第一次加載頁面時,需要比稍後加載該特定頁面更多的時間(而不清除緩存)。另一點是,由於您的Jmeter測試在您嘗試加載您的網站時運行,加載您的網站需要較長的時間。因爲您的應用程序已經處理了JMeter發送的一些請求。所以處理額外的負載將會影響您的網站頁面響應時間。

1000個用戶的加速時間10秒!!!

這不是最佳實踐。您必須提供足夠的時間來預熱那些1000個用戶10秒太小是斜坡上升時間爲用戶。所以在JMeter測試期間,顯而易見的是,你的瀏覽器將需要一個意想不到的時間來加載網頁(使用瀏覽器)或結束通知「連接超時」。這並不意味着您的應用程序崩潰。這僅僅是因爲JMeter中不切實際的測試腳本設計。

1

你能否闡述一下您正在使用e.g Web服務器軟件的類型? - Apache HTTPD 2.4/Nginx/Apache Tomcat/IIS

和底層操作系統? - 的Windows(服務器?)/Mac的OS X/Linux的

如果你的Web服務器的機器不被你的CPU,磁盤等。(檢查任務管理器)的最大性能的限制你的表現可能會受到限制Apache的配置。

能否請您檢查執行Apache日誌文件相關的警示?

根據您的配置(+ httpd.conf中的任何文件「包含」從那裏d)您可使用mpm_winnt工人,有工作線程的配置數量在默認情況下根據是64:

https://httpd.apache.org/docs/2.4/mod/mpm_common.html#threadsperchild

一旦這些都是從任何客戶端(瀏覽器,你的負載測試等),都在忙着新的請求將不得不等待輪到自己。

試試看如果增加線程數會發生什麼!

+0

Apache和Windows –