[發明專利]壓力測試方法及裝置在審
| 申請號: | 201910082016.4 | 申請日: | 2019-01-28 |
| 公開(公告)號: | CN109857626A | 公開(公告)日: | 2019-06-07 |
| 發明(設計)人: | 尹傳文;吳峰;郭偉 | 申請(專利權)人: | 上海易點時空網絡有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34 |
| 代理公司: | 北京卓唐知識產權代理有限公司 11541 | 代理人: | 唐海力 |
| 地址: | 200125 上海市浦東*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 壓力測試 申請 測試報告 測試邏輯 計算資源 業務功能 線程 并發 直觀 占用 創建 展示 進程 | ||
本申請公開了一種壓力測試方法及裝置。該方法包括在同一進程中創建多個協程;以及根據所述多個協程執行測試邏輯,以使在所述多個協程的業務功能中實現壓力并發請求。本申請解決了壓力測試占用大量計算資源的技術問題。通過本申請實現了提高CPU利用率同時使得線程更加輕量級。此外,本申請還能夠將測試報告進行直觀展示。
技術領域
本申請涉及壓力測試工具領域,具體而言,涉及一種壓力測試方法及裝置。
背景技術
壓力測試工具,是用于壓力測試、流量測試以及其他高并發網絡測試情形使用的測試工具。
發明人發現,目前大多數的壓力測試工具,是使用多線程或者多進程的方式來創建多任務的,對于模擬萬級以上規模的并發請求,會耗費巨大的計算機資源,單機基本無法實現。
針對相關技術中壓力測試占用大量計算資源的問題,目前尚未提出有效的解決方案。
發明內容
本申請的主要目的在于提供一種壓力測試方法及裝置,以解決壓力測試占用大量計算資源的問題。可用于壓力測試、流量測試以及其他高并發網絡測試情形。
為了實現上述目的,根據本申請的一個方面,提供了一種壓力測試方法。
根據本申請的壓力測試方法包括:在同一進程中創建多個協程;以及根據所述多個協程執行測試邏輯,以使在所述多個協程的業務功能中實現壓力并發請求。
進一步地,在同一進程中創建多個協程包括:將每個所述協程配置為調用相同的業務功能;將用于構構造壓力并發請求的參數傳入測試腳本后執行測試邏輯。
進一步地根據所述多個協程執行測試邏輯,以使在所述多個協程的業務功能中實現壓力并發請求之后還包括:根據所述在同一進程中創建多個協程中的所述協程的數量N創建容量為N的管道;將每個協程測試過程的相關數據壓入所述管道中。
進一步地,將每個協程測試過程的相關數據壓入所述管道中之后還包括:創建另一協程用于從將每個協程測試過程的相關數據壓入所述管道中取出數據,并解析成報告格式存儲在數據庫中。
進一步地,解析成報告格式存儲在數據庫中之后還包括:讀取所述數據庫中產生的報告數據;通過圖表的形式進行數據展示。
為了實現上述目的,根據本申請的另一方面,提供了一種壓力測試裝置。
根據本申請的壓力測試裝置包括:協程創建模塊,用于在同一進程中創建多個協程;以及測試模塊,用于根據所述多個協程執行測試邏輯,以使在所述多個協程的業務功能中實現壓力并發請求。
進一步地,所述協程創建模塊包括:配置單元,用于將每個所述協程配置為調用相同的業務功能;傳參單元,用于將用于構構造壓力并發請求的參數傳入測試腳本后執行測試邏輯。
進一步地,所述測試模塊包括:創建單元,用于根據所述在同一進程中創建多個協程中的所述協程的數量N創建容量為N的管道;記錄單元,用于將每個協程測試過程的相關數據壓入所述管道中。
進一步地,所述測試模塊還包括:輸出單元,用于創建另一協程用于從將每個協程測試過程的相關數據壓入所述管道中取出數據,并解析成報告格式存儲在數據庫中。
進一步地,讀取所述數據庫中產生的報告數據;可視化單元,用于通過圖表的形式進行數據展示
在本申請實施例中,采用在同一進程中創建多個協程的方式,通過根據所述多個協程執行測試邏輯,以使在所述多個協程的業務功能中實現壓力并發請求,達到了單線程內模擬大規模并發請求的壓力測試目的,從而實現了提高CPU利用率同時更加輕量級的技術效果,進而解決了壓力測試占用大量計算資源的技術問題。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海易點時空網絡有限公司,未經上海易點時空網絡有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910082016.4/2.html,轉載請聲明來源鉆瓜專利網。





