[發(fā)明專利]數(shù)據(jù)庫壓力測試方法、裝置及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202010725194.7 | 申請日: | 2020-07-24 |
| 公開(公告)號: | CN112000466A | 公開(公告)日: | 2020-11-27 |
| 發(fā)明(設(shè)計(jì))人: | 不公告發(fā)明人 | 申請(專利權(quán))人: | 周志燕 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/48 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100104 北京市順義*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù)庫 壓力 測試 方法 裝置 系統(tǒng) | ||
1.一種數(shù)據(jù)庫壓力測試方法,其特征在于,包括:
接收壓力測試參數(shù)并判斷所述壓力測試參數(shù)是否滿足設(shè)定條件;
若所述壓力測試參數(shù)滿足設(shè)定條件,啟動(dòng)主線程并判斷主線程資源是否充足;
若主線程資源充足,則啟動(dòng)計(jì)時(shí)器計(jì)時(shí)并在設(shè)定個(gè)線程的設(shè)定個(gè)管道中創(chuàng)建多個(gè)子任務(wù);
在計(jì)時(shí)器計(jì)時(shí)的設(shè)定計(jì)時(shí)內(nèi),基于所述設(shè)定個(gè)線程的設(shè)定個(gè)管道中創(chuàng)建的多個(gè)子任務(wù)讀取數(shù)據(jù)庫結(jié)構(gòu)化查詢語言SQL文本,基于所述結(jié)構(gòu)化查詢語言文本請求數(shù)據(jù)庫,并計(jì)算回寫數(shù)據(jù);
在設(shè)定時(shí)間內(nèi)基于所述回寫數(shù)據(jù)統(tǒng)計(jì)分析壓測數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在如果主線程資源充足,則啟動(dòng)計(jì)時(shí)器并在設(shè)定個(gè)線程的設(shè)定個(gè)管道中創(chuàng)建多個(gè)子任務(wù)包括:
以協(xié)程的方式創(chuàng)建子任務(wù)進(jìn)程;
更新工作狀態(tài)為真值到子任務(wù)工作狀態(tài)的單向鏈表的數(shù)據(jù)結(jié)構(gòu)中,然后進(jìn)入無限循環(huán)體中,對所述SQL文本進(jìn)行無限輪訓(xùn)訪問,用于獲取所述SQL語句進(jìn)行壓力測試;
如果訪問數(shù)據(jù)庫成功則將訪問數(shù)據(jù)庫的響應(yīng)時(shí)間和訪問次數(shù)更新在壓測結(jié)果的單向鏈表中,下次訪問數(shù)據(jù)庫如果還是成功直接追加更新消耗時(shí)間和每秒向服務(wù)發(fā)送的請求數(shù)量峰值QPS值,使其子任務(wù)的單向鏈表數(shù)據(jù)結(jié)構(gòu)始終維持在設(shè)定的內(nèi)存空間中;
如果連接數(shù)據(jù)庫、執(zhí)行數(shù)據(jù)庫超時(shí)原因?qū)е率。尤蝿?wù)追加更新錯(cuò)誤計(jì)數(shù)器的值ErrCount,直到子任務(wù)被父進(jìn)程停止。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述啟動(dòng)計(jì)時(shí)器并在設(shè)定個(gè)線程的設(shè)定個(gè)管道中創(chuàng)建多個(gè)子任務(wù)還包括:
計(jì)時(shí)器基于觸發(fā)時(shí)間來超時(shí)進(jìn)行響應(yīng);
串型、高并發(fā)模型開始工作前,上游并行器基于高并發(fā)數(shù)量進(jìn)行分配子任務(wù)壓測結(jié)果使用的內(nèi)存空間以及子任務(wù)工作狀態(tài)使用內(nèi)存空間,并將子任務(wù)序號、內(nèi)存空間地址作為數(shù)據(jù)結(jié)構(gòu)有序?qū)懭氩煌膯蜗蜴湵砗螅_始初始化子任務(wù)并傳遞壓測結(jié)果鏈表、工作狀態(tài)鏈表給子任務(wù),隨即異步啟動(dòng)子任務(wù);
子任務(wù)啟動(dòng)后,領(lǐng)取壓測結(jié)果鏈表、工作狀態(tài)鏈表進(jìn)行更新狀態(tài)更新、數(shù)據(jù)更新;
異步執(zhí)行子任務(wù)后,立即喚醒計(jì)時(shí)器,并將壓測結(jié)果鏈表傳遞給計(jì)時(shí)器;計(jì)時(shí)器加鎖阻塞主邏輯讓子任務(wù)處于工作狀態(tài),然后計(jì)時(shí)器以自旋的方式輪訓(xùn)監(jiān)聽當(dāng)前任務(wù)運(yùn)行時(shí)間,若當(dāng)前任務(wù)運(yùn)行時(shí)長大于計(jì)時(shí)器的閾值時(shí),計(jì)時(shí)器釋放鎖資源,進(jìn)入下一個(gè)任務(wù)流程。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,包括:
單向鏈表的結(jié)構(gòu)體如下:
子任務(wù)已經(jīng)將壓測指標(biāo)計(jì)算完畢后,遍歷壓測結(jié)果鏈表將子任務(wù)的壓測結(jié)果進(jìn)行匯總統(tǒng)計(jì)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括:
在計(jì)時(shí)器到期前,所述多個(gè)線程中創(chuàng)建多個(gè)子任務(wù)執(zhí)行完畢,進(jìn)行壓力測試數(shù)據(jù)分析;
所述壓力測試數(shù)據(jù)包括:
數(shù)據(jù)庫成功的請求量:所有子任務(wù)QPS的和;
數(shù)據(jù)庫失敗的請求量:所有子任務(wù)錯(cuò)誤計(jì)數(shù)ErrCount的和;
數(shù)據(jù)庫總請求量:數(shù)據(jù)庫成功的請求量+數(shù)據(jù)庫失敗的請求量;
數(shù)據(jù)庫總消耗時(shí)間:所有子任務(wù)消耗時(shí)間的總和;
平均數(shù)據(jù)庫響應(yīng)時(shí)間:數(shù)據(jù)庫總消耗時(shí)間/數(shù)據(jù)庫成功的請求量;
最大數(shù)據(jù)庫響應(yīng)時(shí)間:取所有任務(wù)中單次執(zhí)行最慢的消耗時(shí)間;
最小數(shù)據(jù)庫響應(yīng)時(shí)間:取所有任務(wù)中單次執(zhí)行最快的消耗時(shí)間。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,
接收壓力測試參數(shù)并判斷所述壓力測試參數(shù)是否滿足設(shè)定條件之前,還包括:用戶能設(shè)定不同壓力測試參數(shù)以模擬不同的業(yè)務(wù)場景,其中,其中,所述壓力測試參數(shù)包括:并發(fā)數(shù)量、數(shù)據(jù)庫超時(shí)時(shí)間、執(zhí)行總時(shí)間、設(shè)定數(shù)據(jù)庫壓測類型;
和\或
接收壓力測試參數(shù)并判斷所述壓力測試參數(shù)是否滿足設(shè)定條件,包括:
根據(jù)所述用戶設(shè)定的不同的壓力測試判斷當(dāng)前數(shù)據(jù)庫是否能滿足壓力設(shè)定條件;
若當(dāng)前壓力測試工具的狀態(tài)滿足所述壓力測試參數(shù)所需要設(shè)定條件,則啟動(dòng)壓力測試的主線程;若當(dāng)前壓力測試工具的狀態(tài)不滿足壓力測試參數(shù)所需要設(shè)定條件,則反饋給用戶壓力測試失敗。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于周志燕,未經(jīng)周志燕許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010725194.7/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





