[發明專利]一種數據庫性能的測試方法和系統有效
| 申請號: | 201710402874.3 | 申請日: | 2017-06-01 |
| 公開(公告)號: | CN108984374B | 公開(公告)日: | 2021-05-07 |
| 發明(設計)人: | 丁鐸;楊陽;黃聞欣 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F11/34 | 分類號: | G06F11/34;G06F16/21 |
| 代理公司: | 深圳翼盛智成知識產權事務所(普通合伙) 44300 | 代理人: | 黃威 |
| 地址: | 518000 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 性能 測試 方法 系統 | ||
1.一種數據庫性能的測試方法,其特征在于,包括:
監測應用程序在運行過程中的數據庫訪問事件;
當監測到數據庫訪問事件時,獲取所述數據庫訪問事件對應的數據庫操作信息,所述數據庫操作信息包括結構化查詢語言SQL語句、所述SQL語句的執行計劃、應用程序在執行所述SQL語句時磁盤的寫入量和讀取量、以及應用程序執行所述SQL語句的線程信息;
根據預定的分析規則對所述數據庫操作信息進行分析,以通過分析所述數據庫操作信息所涉及到的SQL語句的性能來確定數據庫的性能;
其中,根據預定的分析規則對所述數據庫操作信息進行分析包括:對所述SQL語句的文本內容進行解析;根據解析結果判斷所述SQL語句中是否存在除查詢參數不同之外其他文本內容均相同的操作語句;若存在,則判斷數據庫不滿足性能指標;若不存在,則判斷數據庫滿足預定的性能指標。
2.根據權利要求1所述的測試方法,其特征在于,所述根據預定的分析規則對所述數據庫操作信息進行分析,包括:
判斷所述SQL語句是否使用了索引;
若未使用索引,則判斷數據庫不滿足性能指標;
若使用索引,則判斷數據庫滿足性能指標。
3.根據權利要求2所述的測試方法,其特征在于,
所述判斷所述SQL語句是否使用了索引,包括:
判斷所述執行計劃中是否存在全表掃描標記;
若存在,則判斷所述SQL語句未使用索引;
若不存在,則判斷所述SQL語句使用了索引。
4.根據權利要求1所述的測試方法,其特征在于,所述根據預定的分析規則對所述數據庫操作信息進行分析,包括:
判斷所述SQL語句中是否存在事務標識;
若不存在,則判斷數據庫不滿足性能指標;
若存在,則判斷數據庫滿足性能指標。
5.根據權利要求4所述的測試方法,其特征在于,所述判斷所述SQL語句中是否存在事務標識之前,還包括:
分別判斷所述磁盤的寫入量和讀取量是否大于閾值,若所述寫入量和讀取量中的至少一個大于閾值,則執行判斷所述SQL語句中是否存在事務標識的步驟。
6.根據權利要求1所述的測試方法,其特征在于,所述根據預定的分析規則對所述數據庫操作信息進行分析,包括:
根據所述線程信息判斷應用程序執行所述SQL語句的線程是否為主線程;
若為主線程,則判斷數據庫不滿足性能指標;
若不是主線程,則判斷數據庫滿足性能指標。
7.根據權利要求6所述的測試方法,其特征在于,所述線程信息包括應用程序執行所述SQL語句的進程信息、以及執行所述SQL語句的線程的名稱;
所述根據所述線程信息判斷執行所述SQL語句的線程是否為主線程,包括:
根據所述進程信息判斷執行所述SQL語句的進程是否為前臺進程;
當執行所述SQL語句的進程為前臺進程時,判斷所述線程的名稱是否為主線程名稱;
當執行所述SQL語句的進程不是前臺進程,則判斷執行所述SQL語句的線程不是主線程;
當所述線程的名稱為主線程名稱,則判斷執行所述SQL語句的線程為主線程;
當所述線程的名稱不是主線程名稱,則判斷執行所述SQL語句的線程不是主線程。
8.根據權利要求1-7任一項所述的測試方法,其特征在于,所述根據預定的分析規則對所述數據庫操作信息進行分析之后,還包括:
根據分析結果輸出數據庫性能測試報告。
9.根據權利要求1所述的測試方法,其特征在于,所述根據預定的分析規則對所述數據庫操作信息進行分析,包括:
將所述數據庫操作信息發送給服務器,以使所述服務器根據預定的分析規則對所述數據庫操作信息進行分析。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710402874.3/1.html,轉載請聲明來源鉆瓜專利網。





