[發明專利]基于業務模型進行數據庫性能測試的方法有效
| 申請號: | 201210447972.6 | 申請日: | 2012-11-09 |
| 公開(公告)號: | CN103810196B | 公開(公告)日: | 2017-09-22 |
| 發明(設計)人: | 劉謀俊;樓方鑫 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;G06F11/36 |
| 代理公司: | 北京國昊天誠知識產權代理有限公司11315 | 代理人: | 許志勇 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 業務 模型 進行 數據庫 性能 測試 方法 | ||
技術領域
本申請涉及數據庫測試,尤其涉及一種基于業務模型進行數據庫性能測試的方法。
背景技術
隨著數據業務的不斷發展,數據庫性能在很大程度上成了一個企業效率的體現。而對數據庫性能的了解,我們只能通過一些測試軟件來完成。
目前數據庫性能測試的軟件存在著兩個方面的問題,一是、不能根據特定的業務進行量身的定制。二是、不能全面復雜的測試數據的性能。現有的技術中一種是只有固定的事務模型進行測試的軟件,它可以測試一些特定的業務功能,例如訂單下發,而像一些比較特別的業務就不能很好的進行測試。而另外有一種就只能簡單的數據庫查詢、添加等測試,并不能達到好的效果。
比如我們經常使用通用的測試工具如tpcc,sysbench,業務模型相對比較簡單。tpcc模擬的是銀行用戶轉賬模型,而我們的應用系統模型跟tpcc用戶轉賬模型相差較大,如果采用tpcc來測試我們的數據庫,由于本身的模型的差別較大,測試的結果精確度不夠,可信度不高。而sysbench本身的結果更加簡單,只能配置簡單的sql進行測試,數據庫各個表和字段無法按照真實的業務進行模擬,表和表之間的關系也沒有辦法表示,測試的結果相差也是很大。
目前能夠真實模擬業務的方式就是在線運行真實的應用,通過真實應用測試數據的壓力,而完全從業務角度進行測試,需要使用大量的應用服務器進行測試,線上數據庫和應用服務器的比例是1:50左右,想模擬真實的業務測試具體數據庫的瓶頸需要使用大量的測試資源,靈活性也受到限制,并不能測試到最后數據庫的瓶頸。
發明內容
針對上述缺陷,本申請提供一種數據庫性能測試的方法,解決在滿足業務要求的情況下優化當前數據庫性能測試的問題。
本申請的基于業務模型進行數據庫性能測試的方法,包括:基于業務建立所述業務的業務模型;根據所述業務模型配置與所述業務模型對應的測試信息,將配置好的測試信息保存在文件中形成測試文件;依據所述業務模型和對所述測試文件進行讀取所獲得的所述配置信息,測試與目標業務相關聯的數據庫的性能;以及將所述數據庫的性能的結果作為測試結果輸出。
根據本申請的實施例,在該方法中,所述配置與所述業務模型對應的測試信息還包括:配置連接數據庫信息,配置創建表和定義字段信息,以及配置建立業務模型信息。
根據本申請的實施例,在該方法中,所述配置連接數據庫信息還包括:配置連接不同類型的數據庫,通過變更數據庫的類型信息,在不同類型的數據庫之間切換。
根據本申請的實施例,在該方法中,所述配置創建表和定義字段信息,還包括:根據被測試數據庫中的表創建業務表;配置創建的業務表的表名和字段;定義所述字段,包括定義字段名稱、字段類型、字段描述,并且,采用“;”區分字段;所述字段名稱與數據庫中表的字段名稱一致;以及各個創建的業務表中的字段類型為隨機生成的不同的數據類型,字段的數值則根據業務規則來隨機生成。
根據本申請的實施例,在該方法中,所述業務模型建立還包括:把業務模型中所使用到的關系數據抽象成一個公用的集合,所述業務表中的數據從這個公用集合中取得,保證表和表之間的關系。
根據本申請的實施例,在該方法中,所述配置創建表和定義字段信息,還包括:對創建的業務表和字段的順序進行定制,創建的業務表中的信息跟目標業務的信息保持一致,并對各個業務表的字段長度、取值范圍進行配置。
根據本申請的實施例,在該方法中,所述配置建立業務模型信息,還包括:根據目標業務復雜度和/或目標業務執行邏輯,來配置所建立的業務模型的執行的方式。
根據本申請的實施例,在該方法中,所述配置建立業務模型信息,還包括:在配置好的測試文件中添加事務模型。
根據本申請的實施例,在該方法中,所述配置測試文件,還包括:測試文件中設定有不同的標簽;以及對測試文件中不同的標簽進行配置,定義每個標簽中的信息,從而能對不同的信息加以標識,以便測試數據庫性能時對測試文件的讀取。
根據本申請的實施例,在該方法中,所述測試文件進行讀取,還包括:根據讀取的測試文件中標簽的標識,解析出用于測試所述與目標業務相關聯的數據庫的性能的指令,模擬所述實際業務的流程以執行處理。
根據本申請的實施例,在該方法中,所述模擬所述實際業務的流程執行處理,還包括:讀取出的所述業務模型中的各個事務的信息,并使用結構體鏈表保存;以及依據各個事務的信息,執行解析出的指令。
根據本申請的實施例,在該方法中,所述業務模型建立之前,還包括:對各種數據庫進行抽象,對數據庫表中字段類型及字段長度進行統一。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210447972.6/2.html,轉載請聲明來源鉆瓜專利網。





