1、性能測試分類web
一、負載測試:數據庫
經過逐步加壓的方法,達到既定的性能閾值的目標,閾值的設定應是小於某個值,如cpu使用率小於等於80%服務器
二、壓力測試:網絡
經過逐步加壓的方法,使得系統的某些資源達到飽和,甚至失效的狀態,簡單粗暴的解釋就是什麼條件能把系統壓崩潰架構
三、併發測試:併發
在同一時間內,多個虛擬用戶在同時訪問同一個模塊,同一個功能,一般的測試方法就是設置集合點負載均衡
四、容量測試:性能
一般是指數據庫層面的,目標是獲取數據庫的最佳容量能力。又稱爲容量預估。具體測試方法爲在必定的併發用戶,不一樣的技術數據量下,觀察數據庫的處理能力,即獲取數據庫的各項性能指標測試
五、可靠性測試:spa
又稱爲穩定性測試或疲勞測試。是指系統在高壓狀況下,長時間的運行是否穩定。
如cpu使用率在80%以上,7*24小時的運行,系統是否穩定
六、異常測試:
又稱爲失敗測試。是指系統架構方面的測試,如在負載均衡中,要測試宕機,節點掛掉等狀況的系統反映
2、性能指標的定義
一、事物
從客戶端發起的一個請求或多個請求(這些請求組成一個完成的操做),到客戶端收到服務器返回的響應
二、請求響應時間
客戶端發起的一個請求開始,到客戶端接收從服務器返回的響應,整個過程所耗費的時間
三、事物響應時間
事務多是一個或者多個請求組成的,事物響應時間主要針對於用戶的角度而言,如轉帳
四、併發
沒有嚴格意義上的併發。併發總有前後,不管差距是1毫秒仍是1微秒,總有一個時間差。因此併發講的是一個時間範圍內,好比1S內,
舉例:
一、多用戶在系統上進行同一操做,好比雙11,你們針對同一種商品進行秒殺
二、多用戶在系統上進行不一樣操做,好比雙11,你們針對不一樣商品進行秒殺,或者你們有進行其餘操做,好比商品瀏覽
五、併發用戶數
同一單位時間內,對系統發起請求的用戶數量
六、吞吐量
一次性能測試過程當中網絡上傳輸數據量的總和
七、吞吐率
單位時間內網絡上傳輸的數據量,公式(吞吐率=吞吐量/傳輸時間)
八、點擊率
每秒鐘用戶向服務器提交的請求數。這個指標是web應用程序特有的一個指標,能夠想象爲每秒鐘用戶總共在頁面進行了多少次點擊的動做,可是須要注意的是一次鼠標點擊操做後,客戶端有可能向服務器發送了屢次請求
九、資源使用率
對不一樣系統資源的使用狀況,如cpu,內存,io
3、性能測試的需求分析
一、明確測試指標
二、明確測試場景
4、服務器性能測試範圍
測試目的:
發現服務器性能瓶頸。配置的不一樣可以承載的最大任務數不一樣,可以承載的壓力不一樣
5、服務器性能測試範圍
一、CPU
二、內存
三、磁盤
四、網絡
五、版本
六、性能損耗的計算方式
怎麼計算性能損耗?(相同的指標,相同的場景,相同的用戶併發數進行屢次一樣的壓測)
6、進程與線程的區別
定義:
進程具備必定獨立功能的程序關於某個數據集合上的一次運行活動,是系統進行資源分配和調度的一個獨立單位(進程是能夠獨立運行的)
線程是進程的一個實體,是cpu調度和分派的基本單位,他是比進程更小的獨立運行的基本單位,線程基本上不擁有系統資源,只擁有一點在運行中比不可少的資源。一個線程能夠建立和撤銷另一個線程
區別:
一、一個線程只能屬於一個進程,一個進程能夠擁有多個線程
二、線程是進程工做的最小單位
三、一個進程會分配一個地址空間,進程與線程之間不共享地址空間。即不共享內存
四、同一個進程下的不一樣的多個線程,共享父進程的地址空間
五、線程在執行過程當中,須要協助同步。不一樣進程的線程間要利用消息通訊的辦法實現同步
六、線程做爲調度和分配的基本單位,進程做爲擁有資源的基本單位
進程-優勢:
一、每一個進程相互獨立,不影響主程序的穩定性,子進程崩潰不影響其餘進程
二、經過增長CPU,就能夠擴充性能
三、能夠儘可能減小線程加鎖與解鎖的影響,極大的提升了性能
進程-缺點:
一、邏輯控制複雜,須要和主程序交互
二、多進程調度開銷大
線程-優勢:
一、程序邏輯和控制方式簡單
二、全部線程能夠直接共享內存和變量等
三、線程方式的總資源比進程方式少
線程-缺點:
一、每一個線程與主進程共用地址空間(即共用內存),最大內存空間受限
二、線程之間的同步和加鎖不易控制
三、一個線程的崩潰可能影響到整個程序的穩定性