以前的博客聊聊性能測試開始前的準備工做,聊了一些關於性能測試開始前要作的準備工做。這篇博客,來談談性能測試開始前的需求調研階段,咱們要作什麼,關注那些Point。。。html
1、基本信息web
信息類型 | 說明 |
項目名稱 | 項目歸屬的業務線,項目名稱 |
項目類型 | 新建、迭代、重構。。。 |
項目背景 | 由於什麼緣由,須要進行性能測試 |
測試目的 | 進行性能測試的目的:容量規劃、性能驗證或者其餘緣由 |
測試範圍 | 被測系統業務模塊,屬於什麼業務,有什麼特色 |
里程碑 | 設立這次性能測試的里程碑,即不一樣階段的達成以什麼爲結束標誌,好比:測試方案、環境準備、測試實施等 |
影響因素 | 要實施這次性能測試,有哪些潛在問題,影響因素 |
2、環境信息算法
信息類型 | 說明 |
系統架構圖/網絡拓撲圖 | 經過系統架構圖/網絡拓撲圖,能夠快速直觀的瞭解到系統的結構,數據流 |
部署方式/部署層級 | 集羣、分佈式、微服務/web、app、db層 |
性能測試環境 | PAT、UAT、SIT不一樣環境對測試結果的影響不一樣 |
被測系統環境的軟硬件配置 | 好比服務器是幾核幾G,有多少臺;數據庫是幾核幾G,有多少臺 |
關鍵參數 | 線程池、最大鏈接數、消費者數量、內存分配等 |
網絡 | 負載機和被測系統的網段、防火牆策略、帶寬、CDN等 |
特殊因素 | 是否存在某些特殊因素,會影響測試結果 |
3、應用信息數據庫
信息類型 | 說明 |
業務模型 | 好比支付類業務、批量審覈或提交、庫存業務、查詢業務等 |
業務場景 | 什麼時間什麼用戶作什麼操做 |
協議/接口 | HTTP、Socket、Dubbo。。。 |
鏈接方式 | 長鏈接、短鏈接 |
通訊策略 | 同步、異步 |
變動策略 | 參數的加解密、拼接、動態變化、依賴關係等 |
4、性能指標服務器
指標類型 | 說明 |
user | 包括註冊用戶數、在線用戶數、併發用戶數等 |
TPS | 每秒事務數,包括服務端和數據庫 |
RT | 包括ART、%RT、MaxRT、MinRT |
吞吐量 | 吞吐量在必定程度上能夠用來衡量系統的容量 |
交易量 | 日/月/某個時間段內的交易量,可更好的衡量系統的容量和存在的壓力 |
交易成功率 | 即事務成功率、請求成功率,根據具體需求設定閾值,通常要求99.99%甚至更細的粒度 |
資源使用率 | 包括CPU%、Memory%、I/O速率等 |
可擴展性 | 隨着併發數的上升,系統的性能表現是否會正比例線性增加 |
5、測試數據網絡
數據信息 | 說明 |
限制條件 | 用戶操做權限、數據引用次數、數據過時設定(次數、絕對時間) |
數據量 | 實際生產環境的數據量爲多少,在性能測試環境如何等量代換 |
數據類型 | 基礎數據、測試數據、特殊數據 |
數據特色 | 是否能夠複用、是否具備惟一性、自增、加密、拼接、轉義等 |
準備方式 | copy真實環境數據、預埋鋪底數據、腳本脫敏生成數據 |
隔離方案 | 如何避免測試數據的污染?分庫分表?環境隔離?標記區分? |
6、配置參數架構
參數類型 | 說明 |
測試環境 | 性能測試環境是否和生產環境保持一致的配置?如不能,如何解決或等量代換? |
操做系統 | 操做系統的版本、超時設置、內存空間等 |
軟硬件版本 | 儘量保證和生產環境一致的版本 |
中間件 | 好比JVM的內存分配/GC算法、Tomcat鏈接數/超時時間、MQ的消費者數量等 |
7、測試模型併發
模型~交易量 | 說明 |
交易佔比 | 測試交易筆數佔總業務量的比例(可忽略佔比不多的交易數據) |
選取思路 | ①、選取交易量最高的時間段;②、每種交易進行單獨的數據統計 |
異常選擇 | ①、若是各時段的交易比例相似,則可按照生產的配比進行轉化;②、如比例差距大,則獨立統計 |
交易配比 | 單交易統計後,基於各交易的RT,結合併發用戶數,使總交易數達到交易佔比數 |
ThinkTime | 根據各交易類型和具體場景,選擇ThinkTime是統一設定/隨機設定/按實際場景設定 |
以上即爲性能測試需求調研階段,咱們要作的事情和關注的Point,僅供參考。。。app