簡談性能測試

 

性能測試(Performance Test)

經過測試工具和測試手段,監測和收集測試過程當中的軟件系統運行數據,度量系統與預約義目標的差距。而預約義目標就是經過性能需求來表示。服務器

監測和收集:併發

1. 收集,根據項目歷史數據,或者根據經驗工具

2. 分析,好比業務人員不少,底層到中層、再到高層。性能

可能存在的問題:測試

  • 性能問題還存在能夠細分一下是場景遺漏、仍是數據遺漏。場景遺漏經常因爲需求傳遞變味致使。
  • 處理方法。 作好策略和設計,若是針對如今的問題:能夠作一個checklist不斷優化你的策略設計能力。
  • 分析歷史數據、競品、業務。業務須要分析業務常見、業務高峯(大的時間和小的時間段)

負載測試(Load Test)

負載測試是一種性能測試,指數據在超負荷環境中運行,程序是否可以承擔。經過逐步增長系統負載,肯定在知足性能指標的狀況下,系統所能承受的最大負載量。優化

壓力測試(Stress Test)

壓力測試是一種高負載下的負載測試,也就是說被系統處於一個負載的狀況,再繼續對他進行加壓,造成雙重負載,直到系統崩潰,並關注崩潰後系統的恢復能力,之前再加壓的一個過程,看看系統究竟是否已經被完全破壞掉了。spa

持續壓力:有個很形象的說法就是:你可以承擔100千克的重量,並且也能走,可是你可否承擔100千克的重量行走1個月。設計

外部的負載叫壓力,內部的壓力叫負載。負載注重關注內部的以及系統自身一些狀況;而壓力更關注系統外部的表象.orm

性能測試模型

性能測試的執行過程是由輕到重,逐漸對系統施壓。一般用戶最關心的性能指標包括:響應時間、吞吐量、資源利用率和最大用戶數。咱們能夠將這張圖分紅3個區域,即:輕負載區域、重負載區域和負載失效區域。資源

  • 輕負載區域
    在這個區域您能夠看到隨着虛擬用戶數量的增長,系統資源利用率和吞吐量也隨之增長,而響應時間沒有特別明顯的變化;

  • 重負載區域
    在這個區域您能夠發現隨着虛擬用戶數量的增長,系統資源利用率隨之緩慢增長,吞吐量開始也緩慢增長,隨着虛擬用戶數量的增加,資源利用率保持相對的穩定(知足系統資源利用率指標),吞吐量也基本保持平穩,後續則略有下降,但幅度不大,響應時間會有相對較大幅度的增加;

  • 負載失效區域
    在這個區域系統資源利用率隨之增長並達到飽和,如CPU利用率達到95%甚至100%,並長時間保持該狀態,而吞吐量急劇降低和響應時間大幅度增加(即:出現拐點)。

  • 兩個交界點
    在輕負載區域和重負載區域交界處的用戶數,咱們稱爲"最佳用戶數"。而重負載區域和負載失效區域交界處的用戶數則稱爲"最大用戶數"。

總結:

  • 當系統的負載等於最佳用戶數時,系統的總體效率最高,系統資源利用率適中,用戶請求可以獲得快速響應;
  • 當系統負載處於最佳用戶數和最大用戶數之間時,系統能夠繼續工做,可是響應時間開始變長,系統資源利用率較高,並持續保持該狀態,若是負載一直持續,將最終會致使少許用戶沒法忍受而放棄;
  • 而當系統負載大於最大用戶數時,將會致使較多用戶因沒法忍受超長的等待而放棄使用系統,有時甚至會出現系統崩潰,而沒法響應用戶請求的狀況發生。

併發

相對併發

 即在線用戶數,在一個時間段內,與服務器進行了交互、對服務器產生了壓力的用戶的數量。這個時間段,能夠是一天,也能夠是一個小時。

併發與並行是相關的概念,可是也有不少細節上的差別。併發意味着兩個或更多的任務正在取得進展,即便它們不是同時執行的。例如,能夠用時間片的方式實現這一點,每一個任務在時間片內執行一小部分,並與其它任務的切片混合執行。如併發收集器。並行的出現使任務實現了真正的同時執行。

絕對併發

 主要是針對某一個操做進行測試,即多個用戶同一時刻發起相同請求

相關文章
相關標籤/搜索