2015-05-28 44 views
0

我正在研究性能測試,想問問爲什麼緩慢增加,然後在最大負載下運行,然後緩慢下降被認爲是一個更好的範例。測試團隊花費大量時間爲相同的完美圖形。 儘管它是完全主觀的,但與一次啓動所有線程相比,爲什麼這種方法總是首選。爲什麼增量加載和增加線程被認爲是最佳實踐?

回答

1

立即啓動所有線程(或者更準確地說,從零流量到瞬間流量最大化)將會「震撼」目標系統,並且可能會導致某些Web加速功能無用。例如,如果所有客戶端一次啓動,則服務器和客戶端上的緩存最初可能不會發生。如果緩慢上升,緩存可以填充,一旦達到最大流量/ VU,緩存未命中可能很少。

應用程序還需要增加它們用於服務大量客戶端的資源量 - 分配內存,文件描述符等 - 如果您立即從0到1,000,000個客戶端,服務器端將擁有大量的即時資源分配工作,而如果你慢慢增加,資源分配將不成問題。

如果您正在運行某種自動縮放,這當然也是一個問題 - 不切實際的快速上升時間會使自動縮放難以跟上,因此導致目標系統出現問題它不會在真實情況下體驗。

有些情況下,從0到最大的VUs /流量確實有意義,那就是當你期望這種事情發生在你的網站。您可能正在測試自己承受拒絕服務攻擊的能力,或者您可能運行的網站會遇到極其突發的流量(例如,在線拍賣網站或可能是在特定時間發佈受歡迎活動門票的活動網站)。

+2

用戶是混亂的功能。請參閱James Gleick的書,「混沌,製造新科學」。它將永遠改變你對負載建模的看法。 System Shock同樣也被稱爲伏特加和Teetotaler問題。一次性移除負載被稱爲冷火雞癮問題。 –