1.0. 前言
? 在性能測驗中,牽扯到了許多比較雜的知識點,這里將給大家說一下,loadrunner性能測驗前需要做的一些準備,本節中我們將先從性能測驗的一些術語入手,再到HTTP的一些知識,最后導我們loadrunner12.55的環境配置,
1.1 性能測驗術語介紹
1.1.1 回應時間(Response time)
? 回應時間就是用戶感受軟體系統為其服務所耗費的時間

1.1.2 并發用戶數
? 用來度量服務器并發容量和同步協調能力,在客戶端指一批用戶同時執行一個操作
\[C= {nL \over T} \]\[^\hat C ≈ C + 3\sqrt C \]C是平均并發用戶數;n是login session的數量;L是login session的平均長度;T指考察的時間段長度;
\[^\hat C \]是并發用戶數;
(實際上,這個公式我們基本上不用)
舉個例子:一架電梯同時能夠搭載的乘客數就可以看作是他的用戶并發數

1.1.3 吞吐量(Throughput)
? 吞吐量是指單位時間內系統能夠完成的作業量,它衡量的是軟體系統服務器的處理能力,就是在一秒中統計所完成的作業量,是指在一次性能測驗程序中網路上傳輸的資料量的總和,、
? 通常是不需要用吞吐量這個概念的,因為它在不同人的腦子里會存在一些誤解,
? 用吞吐量來衡量一個系統的輸出能力是極其不準確的,用個最簡單的例子說明,一個水龍頭開一天一夜,流出 10 噸水;10 個水龍頭開 1 秒鐘,流出 0.1 噸水,當然是一個水龍頭的吞吐量大,你能說 1 個水龍頭的出水能力是 10 個水龍頭的強?所以,我們要加單位時間,看誰 1 秒鐘的出水量大,這就是吞吐率,
? 比如說,有些人說吞吐量就是在說TPS,有些人說吞吐量是說的每秒位元組數,所以不建議用這個概念來承載性能指標,「有TPS就夠了」,

1.1.4 吞吐率(Throughout)
? 指一個業務系統在單位時間內提供的產量(或服務量),
1.1.5 TPS(Transaction Per Second)
? 那么我們就來看看TPS
? TPS是指每秒事務處理量,每秒鐘系統能夠處理的交易或事務的數量,它是衡量系統處理能力的重要指標
? TPS = 并發數/平均回應時間
TPS是由并發數和平均回應時間計算得到,是否可以認為TPS是通過并發數和平均回應時間計算得到的一秒所處理的事務數,而吞吐量就是一秒內完成的事務數量,
舉個例子:博爾特1秒跑10米,就計算得一小時能跑:10*3600=36000m,其實博爾特就跑了10s,而36000m這個數的大小,是我們計算出認為如果博爾特跑3600s可以跑36000m,
但是實際上讓博爾特真的跑上一個小時,可能就跑了20000s(吞吐量),因為他全程不一定都是保持1秒10米,后面就累了,可能1s也就跑7m,
也就是TPS強調時刻,但是吞吐量強調時間,

1.1.6 QPS(Query Per Second)
? 每秒查詢數,即控制服務器每秒處理的指定請求的數量,
1.1.7 點擊率(Hit Per Second)
? 指每秒發送的HTTP請求的數量,點擊率越大對server造成的壓力就越大,
? 點擊率可以看做是 TPS 的一種特定情況,點擊率更能體現用戶端對服務器的壓力,TPS 更能體現服務器對客戶請求的處理能力,
? 每秒鐘用戶向 web 服務器提交的 HTTP 請求數,這個指標是 web 應用特有的一個指標;web 應用是 “請求 - 回應” 模式,用戶發一個申請,服務器就要處理一次,所以點擊是 web 應用能夠處理的交易的最小單位,如果把每次點擊定義為一個交易,點擊率和 TPS 就是一個概念,容易看出,點擊率越大,對服務器的壓力也越大,點擊率只是一個性能參考指標,重要的是分析點擊時產生的影響,
? 需要注意的是,這里的點擊不是指滑鼠的一次 “單擊” 操作,因為一次 “單擊” 操作中,客戶端可能向服務器發現多個 HTTP 請求,

1.1.8 性能計數器(Counter)
? 描述服務器或作業系統性能的一些資料指標
1.1.9 思考時間(Think Time)
? 也稱“休眠時間”,指用戶在操作時,每個請求之間的時間間隔,
\[R = {T \over T _S} \]R是請求數;T是時間;Ts是思考時間;

1.1.10 資源利用率
? 指服務器系統中不同硬體資源被使用的程度,資源利用率=資源實際使用量/總的可用資源量
常見資源指標
? CPU使用率:不高于75%-85%
? 記憶體大小使用率:不高于80%
? 磁盤IO(速率):不高于90%
? 網路(速率):不高于80%
1.1.11 事務
? 前面我們提到了事務,那么這里就給大家也順帶講下事務
? 用戶自定義的一個標識,用來度量服務器回應時間的任務或操作集,事務時間反映的是一個操作程序的回應時間,
? 事務的處理程序可以理解為:發送請求-->網路傳輸-->收到回應

? 關注某個業務的回應時間,可以將該業務定義為事務
1.1.12 集合點
? 模擬系統上較重用戶負載時,配置多個用戶同時執行操作,當用戶到達集合點時將進行等待,直到指定數量的虛擬用戶到達后再進行用戶并發操作,
? 見文知意,集合點就是集合的地方,比如我們需要對登錄進行壓力測驗,那么我們就需要用戶在集合點集合,再同時進行登錄操作

? 模擬多個用戶同一時間發出請求,可以在腳本中設定集合點,
1.1.13 檢查點
? 一般與事務相配合使用,作用為在編譯錄制腳本、replay腳本的時候用來檢查腳本執行情況,檢查特定的文本字串或圖片,

1.1.14 平均回應時間
? 處理一個事務所需要的時間,平均回應時間越小、回應時間平均值越小,說明處理速度越快,軟體的效率就越好,
1.2 性能測驗分類
1.2.1 性能測驗
? 性能測驗是通過自動化測驗工具模擬多種正常、峰值以及例外負載條件來對系統的各項性能指標進行測驗,
1.2.2 負載測驗(Load Testing)
? 指的是最常見的驗證一般性需求進行的性能測驗,考察軟體系統在既定負載下的性能表現
1.2.3 壓力測驗(Stress Testing)
? 考察系統在極端條件下的表現,極端條件可以是超負荷的交易量和并發用戶數
1.2.4 配置測驗(Configuration Testing)
? 指通過對被測系統軟硬體環境的調整,了解各種不同環境對系統性能影響的程度,從而找到系統各項資源的最優分配原則,
1.2.5 并發測驗(Concurrency Testing)
? 指當測驗多用戶并發訪問同一個應用、模塊、資料時是否產生隱藏的并發問題,如記憶體泄漏、執行緒鎖、資源爭用問題,幾乎所有的性能測驗都會涉及并發測驗,
1.2.6 可靠性測驗(Reliability Testing)
? 為了評估產品在規定的壽命期間內,在預期的使用、運輸或儲存等所有環境下,保持功能可靠性而進行的活動,
1.2.7 容量測驗(Volume Testing)
? 通過測驗預先分析出反映軟體系統應用特征的某項指標的極限值,系統在其極限狀態下沒有出現任何軟體故障或還能保持主要功能正常運行,
1.2.8 基準測驗
? 指通過設計科學的測驗方法、測驗工具和測驗系統,實作對一類測驗物件的某項性能指標進行定量的和可對比的測驗,
1.2.9 穩定性測驗
? 測驗系統在一定負載下運行長時間后是否會發生問題
1.2.10 可恢復測驗
? 主要檢查系統的容錯能力,當系統出錯時,能否在指定時間間隔內修正錯誤并重新啟動系統,
1.3 HTTP我們需要知道的
1.1.1 客戶端向服務器請求的HTTP方法
GET
? 獲取資源

POST
? 傳輸物體主體

PUT
? 傳輸檔案

HEAD
? 獲得報文首部

DELETE:
? 洗掉檔案

OPTIONS
? 詢問支持的方法,客戶端用來詢問服務器端支持哪一些方法

1.1.2 HTTP回應狀態碼
| 狀態碼 | 含義 |
|---|---|
| 100 | 請求者應當繼續提出請求,服務器回傳此代碼表示已收到請求的第一部分,正在等待其余部分 |
| 200 | 服務器已成功處理了請求 |
| 302 | 重寫向,會自動將請求者轉到不同的位置 |
| 400 | 服務器不理解請求的語法, |
| 401 | 請求要求身份驗證,對于登錄后請求的網頁,服務器可能回傳此回應, |
| 404 | 服務器找不到網頁 |
| 500 | 服務器內部錯誤 |
| 502 | 網關錯誤 |
| 504 | 網關超時 |
1.4 Loadrunner 12.55安裝
1.4.1 安裝教程
安裝包:
下載鏈接: https://pan.baidu.com/s/10BdYFXLPYdW6N7Q67D8mjQ
提取碼: a3pi
安裝注意事項:
- 安裝前,把所有的殺毒軟體和防火墻關閉;
- 若以前安裝過LoadRunner,需將其卸載;
- 安裝路徑不要帶中文字符;
- LoadRunner 12已經不再支持XP系統,瀏覽器建議使用IE10以上版本,;同時win 11的小朋友們請注意,Loadrunner需要有IE支持
啟動安裝包

滑鼠右鍵點擊HPE LoadRunner 12.55 Community Edition.exe安裝程式,選擇“以管理員身份運行”,彈出視窗,選擇檔案存放地址,可選擇默認路徑,點擊“Install”,

若安裝程序中被電腦安裝的殺毒軟體攔截時,均選擇允許操作,
安裝向導會驗證電腦是否含有軟體安裝運行的必備組件,缺少組件時,會彈出視窗顯示需安裝的組件,點擊“確定”按鈕將自動安裝所需組件,必須先安裝這些必備程式才能安裝HPE LoadRunner,

必備組件安裝完成后,會彈出HPE LoadRunner安裝向導視窗,選擇要安裝的產品,這里選擇LoadRunner,點擊“下一步”,

最終用戶許可協議,勾選“我接受許可協議中的條款”,點擊“下一步”,

目標檔案夾,選擇安裝路徑,安裝路徑不能含有中文字符,點擊“下一步”,

已準備好安裝HPE LoadRunner,點擊“安裝”將進行程式的安裝,

正在安裝HPE LoadRunner,

LoadRunner安裝完成,點擊“完成”,關閉安裝彈窗,

安裝完成,我們桌面上會出現三個軟體,我們一一介紹一下:

使用順序:Virtual User Generator -> Controller -> Analysis
1.4.2 Virtual User Generator介紹
? Virtual User Generator(用戶腳本)錄制與撰寫腳本的地方,就是通過錄制或撰寫腳本來模擬用戶的行為,同時會列印出日志資訊,方便除錯腳本;VuGen也是一個集成開發除錯環境,在這里完成腳本開發并除錯通過后就可以放到Controller中創建場景,
? 簡單說,就是我們將會用VuGen對我們需要測驗的流程進行錄制,然后對錄制下來的流程進行一些配置除錯,
1.4.3 Loadrunner中最核心模塊——Controller介紹
? 場景(Scenario)是一種用來模擬大量用戶操作的技術手段,通過配置和執行場景向服務器產生負載,驗證系統各項性能指標是否達到用戶要求,而Controller可以幫助我們對場景進行設計、執行以及監控進行管理,
從性能角度來說,場景一般可以分為兩種型別即可:
- 單一場景:在一個場景中,只有一個腳本(業務)
- 理論基石:在任何系統中,如果單一業務單獨執行,性能能夠通過,則意味著每個業務本身其實是能夠達到性能需求的,
- 混合場景:在一個場景中,一次執行多個腳本(業務)
目的:是為了測驗不同業務之間是否存在并發(廣義的并發,即在線即并發)沖突的現象
注意:
- 負載用戶的數量:和一次執行N個腳本沒有關系,應該就是最大負載用戶數(在線用戶數),
- 負載用戶分配比例:通過統計資料(業務量占比)來進行虛擬用戶的分配,
LoadRunner中是通過Controller組件來進行場景的設計和執行的,Controller中的場景分為兩種:目標場景(基本不適用)、手工場景,
1.4.4 Analysis介紹
? 是收集測驗資料后生成圖表報告的地方,幫助我們分析資料并產生圖片,方便對負載生成后的相關資料進行整理分析,
以上就是這節的全部內容,如有錯誤,還請各位指正!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/523190.html
標籤:其他
上一篇:云原生之旅 - 5)Kubernetes時代的包管理工具 Helm
下一篇:ensp 鏈路聚合
