天天看點

性能下降曲線

  性能下降曲線:

  性能下降曲線實際上描述的是性能随使用者數增長而出現下降趨勢的曲線。而這裡所說的“性能”一般是指響應時間,但也可以指吞吐量等其他資料。圖2-1展示了兩條相對基礎的響應時間性能下降曲線,具體描繪了使用者的通路時間與系統使用者負載之間的對比情況。

  圖2-1中的縱軸描述的是幾秒鐘内端到端的響應時間,橫軸則表示通路系統的目前使用者總數。除此之外,圖中還包含了資料表。随着更多的使用者接人系統,圖中使用者通路的時間就象預料的情況那樣增加或者減少。圖中展示的資料表所生成的是最普遍的響應時間性能曲線形狀,95%以上的曲線圖都會像該圖一樣。如果出現較大的偏差,主要原因可以從以下幾點考慮:

  ①使用者群體模型不準确;②編寫的腳本不具有使用者群體模型代表性;③測試的系統無法處理多使用者;④測試沒有真正對系統産生壓力。

  典型的響應時間性能下降曲線可以劃分為以下幾個部分:單使用者區域、性能平坦區、壓力區域、性能拐點。

  (1)單使用者區域這個時段是系統對單使用者的響應時間。從圖中可以看出,單使用者的性能實際上比後面幾個級别的多使用者性能更慢,這也是正常的。因為由負載生成工具生成的單使用者響應通常都會稍慢于某些頁面的最佳性能,這與負載生成工具的工作方式(比如線程)、休眠中的硬碟和高速緩存硬體因素等有關。可以把僅是單使用者接人頁面的這種情況比喻為在冰天雪地中駕駛汽車,如果汽車沒有在上路前進行暖車,那麼車子的性能可能就會有些遲緩.是以一般情況下不應使用單使用者負載作為後續負載測試的參照基準。

  (2)性能平坦區在模仿10-100個使用者的區域範圍内,可以看到系統獲得了更好的性能并在一段時間内保持不變。在測試模型正确的前提下,系統能夠在這個區域達到期望的最佳性能而不需要對其進行更多的性能調優。任何位于性能平坦區的測試結果都可以作為後續負載測試的參照基準或基線。有觀點指出,應該以性能拐點之前最大使用者負載的15%為基準。

  (3)壓力區域從圖中可以明顯看到,使用者負載在100-175的區域,随着負載的增加,響應時間開始延長。從技術上說,曲線下降的地方系統正處于壓力之下,但基本上還是能夠處理負載的。壓力區域在響應時間開始緩慢增長的時候開始,并在性能拐點結束。這裡就是所說的系統性能“輕微下降”的地方,也就意味着随着在此區域的負載增加,響應時間也會變長,但增長率不是很高。當應用軟體進行了全面調整之後。即使在壓力區域加上最大的建議使用者負載,系統仍然能夠在高于此負載的情況下相對較好地運作一段時間。

  (4)性能拐點超過175個使用者負載之後,圖中曲線的響應時間開始快速增長,系統已不能再很好地處理負載了,接着很可能出現系統運作不正常甚至不穩定的情況。響應時間的這種變化經常會很快地發生,并在傾斜度或趨勢上造成曲線急劇的變化。此處稱之為性能拐點。

  性能拐點處就是系統所能承受的極大負載。在性能測試中此處的負載已成為系統的關鍵瓶頸.是以值得去研究其中影響因素的細節,還要盡可能地對系統進行調優。

  對性能測試來說,找到這些區域和拐點.也就可以找到性能瓶頸産生的地方。是以,對性能下降曲線分析法來說,主要關注的是性能下降曲線上的各個區間和對應的拐點。

  通過識别不同的區間和拐點,進而為性能瓶頸識别和調優提供依據.目前IBM, HP,OpenSource等公司都有支援性能下降曲線法的測試工具,尤以IBM的報表功能最強。

  但性能下降曲線法隻是着重考察了由并發使用者數帶來的軟體性能缺陷,性能測試名額定義的不完全,而且對于定位代碼記憶體洩漏、代碼設計不合理等問題也收效甚微。

繼續閱讀