【正文】
在這個(gè)測試中,思考時(shí)間可以定義為系統(tǒng)等待用戶輸入的時(shí)間。 分析測試的結(jié)果,若測試結(jié)果與標(biāo)準(zhǔn)的不相符合,恢復(fù)數(shù)據(jù),再次進(jìn)行測試。 圖 42 腳本協(xié)議選擇接著就是選擇需要錄入的文件所在位置,比如說錄入 NEW ORDER 事務(wù):圖 43 錄制選擇在腳本錄入過程中,一般 vuser_init 一般都是錄入數(shù)據(jù)庫連接等的初始化,而 vuser_end 則一般錄入事務(wù)處理的結(jié)束部分,如數(shù)據(jù)庫的關(guān)閉等,但是為了方便起見,本測試是將所有的部分都錄入到 action 部分,這樣并不會對程序的執(zhí)行產(chǎn)生任何影響。得到 C_BALANCE, C_FIRST, C_MIDDLE, C_LAST 的值。二、 事務(wù)具體實(shí)現(xiàn)步驟:在 DISTRICT 表中選擇與(D_W_ID,D_ID)相匹配的行,得到 D_NEXT_O_ID 的值。 往 HISTORY 表中插入新項(xiàng) H_C_ID = C_ID, H_C_D_ID = C_D_ID, H_C_W_ID = C_W_ID, H_D_ID = D_ID, and H_W_ID = W_ID. DELIVERY(發(fā)貨)事務(wù)的實(shí)現(xiàn)該事務(wù)模擬的是對于任意一個(gè)客戶,隨機(jī)選取一個(gè)發(fā)貨包,更新被處理的用戶的賬戶余額,并把該訂單從新訂單中刪除。當(dāng) X85時(shí),C_D_ID 是 1 到 10 的一個(gè)隨機(jī)數(shù),C_W_ID 是當(dāng)前可用的倉庫中的一個(gè),并且滿足 C_W_ID 不等于 W_ID。 往 NEW_ORDER 和 ORDER 表中填入新項(xiàng)以表有新的訂單生成,同時(shí)O_CARRIER_ID 設(shè)置為 NULL。即 D_W_ID=W_ID.顧客編號 C_ID 是用 NURand(1023,1,3000)生成的但保證顧客所選的倉庫號與 Warehouse 的 W_ID 一致并且地區(qū)號與 District 的 D_ID 一致。這個(gè)環(huán)境的核心活動是 NEW ORDER 事務(wù),其他四個(gè)事務(wù)是在一個(gè)倉庫中進(jìn)行的 PAYMENT 支付操作、ORDER STATUS 訂單狀態(tài)查詢操作、DELIVERY 發(fā)貨操作和 STOCK LEVEL 庫存狀態(tài)查詢操作。隨機(jī)數(shù) 59 對應(yīng) C_LAST 的值為 ESEEING。random[x,y]表示從 x 到 y 的范圍中隨機(jī)選擇一個(gè)數(shù),一般平均數(shù)為(x+y)/2。并且,包含貨幣的數(shù)值域必須使用這樣的數(shù)據(jù)類型具有精確度為兩位小數(shù)的實(shí)型。2. Variable text. Size N 型。這個(gè)事務(wù)的執(zhí)行頻率不高,對事物的響應(yīng)時(shí)間也沒有嚴(yán)格的限制。結(jié)合 節(jié)提出的數(shù)據(jù)庫性能測試指標(biāo),包括吞吐量/處理能力、負(fù)載、響應(yīng)時(shí)間、同時(shí)在線用戶數(shù)量、TPS 等幾項(xiàng),TPC_C 基準(zhǔn)提供的五個(gè)事務(wù)模型各有其特點(diǎn):NEW ORDER 事務(wù)模仿在線用戶的訂單請求,用戶輸入一份完整的訂單,提交系統(tǒng)。幾乎所有在OLTP市場提供軟硬件平臺的廠商都發(fā)布了相應(yīng)的TPCC測試結(jié)果,隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,這些測試結(jié)果也在不斷刷新。TPC_C 模仿的是一個(gè)分布在多個(gè)地區(qū)都有銷售點(diǎn)的公司,隨著公司業(yè)務(wù)的增長,新的 Warehouse 和銷售地區(qū)都會隨之建立,一個(gè)倉庫管理 10 個(gè)地區(qū),每個(gè)地區(qū)為 3,000 名客服服務(wù),所有的倉庫管理公司的 100,000 條銷售,客戶可以提交訂單訂購商品,平均每個(gè)訂單包含 10 個(gè)訂單項(xiàng)。這主要是使用LoadRunner的Controller,通過不同的場景設(shè)置,可以組織起多用戶的測試方案,更好地對系統(tǒng)進(jìn)行全方位的測試。它能夠模擬上成千上萬個(gè)并發(fā)用戶,同時(shí)向服務(wù)器發(fā)送請求,并記錄和分析測試結(jié)果,最終幫助企業(yè)快速、有效的查找和發(fā)現(xiàn)問題,通過使用LoadRunner,企業(yè)能最大限度地縮短測試時(shí)間、優(yōu)化性能和加速應(yīng)用系統(tǒng)的發(fā)布周期。通常,吞吐量用請求數(shù)/秒或頁面數(shù)/秒來衡量。一般來說,壓力測試就是讓系統(tǒng)在極端的條件下工作,查看系統(tǒng)的表現(xiàn),并且這種極端條件是高于系統(tǒng)用戶的需求的。通常一次測試也是包括這幾種測試中的多種的。本文的實(shí)踐是基于數(shù)據(jù)庫性能測試標(biāo)準(zhǔn)和數(shù)據(jù)庫負(fù)載測試工具Loadrunner,詳細(xì)介紹了從腳本錄制修、測試場景設(shè)計(jì)到最后測試結(jié)果分析的整個(gè)過程,為以后對 Loadrunner 工具的使用提供參考。單元測試主要側(cè)重的是邏輯覆蓋,其可以通過語句覆蓋和走讀的方式完成。一、系統(tǒng)測試系統(tǒng)測試包括了不同的測試組成部分,其主要目的就是充分地運(yùn)行系統(tǒng),并進(jìn)一步驗(yàn)證系統(tǒng)各部件是否都能夠正常地完成所賦予的任務(wù),所以當(dāng)產(chǎn)品需求和系統(tǒng)設(shè)計(jì)的文檔完成以后,系統(tǒng)測試的小組成員就應(yīng)該提前開始制定出相應(yīng)的測試計(jì)劃和設(shè)計(jì)幾個(gè)不同的測試用例,不必等到“實(shí)現(xiàn)與測試”階段完成以后在進(jìn)行。但是為我們所熟知的 TPCC 基準(zhǔn)僅給出了數(shù)據(jù)模型、事務(wù)處理和測試指標(biāo)的定義,研究數(shù)據(jù)庫測試技術(shù)以及 TPCC 基準(zhǔn)在面向?qū)ο髷?shù)據(jù)庫中的使用也是大有裨益。在這篇論文中作者為了能夠反映出數(shù)據(jù)庫實(shí)際的運(yùn)行性能,其設(shè)計(jì)了一種可配置數(shù)據(jù)庫性能的測試基準(zhǔn),這種基準(zhǔn)能夠針對具體的應(yīng)用數(shù)據(jù)庫系統(tǒng),建立吸納供應(yīng)的控制模型。s performance determines the overall system performance. How to make an overall evaluation of the performance of the database? What evaluation indicators should be included? All these issues about the overall evaluation of the database must be made to answer. Accounting for the above issues, this paper describes the performance evaluation of database, test methods. Content to SQL database as the test object, this paper achieves the TPC_C (TPC BnechmarkTM C) benchmark tests based on transaction model and uses the popular database test software LoadRunner to make test on the system by script entry and different scene settings to identify system bottlenecks and further into the scheme of the improvement.Key Words: Database SQL Sever LoadRunner Performance Testing目 錄摘 要 ........................................................................................................................................................IABSTRACT.............................................................................................................................................II目 錄 .....................................................................................................................................................III1.緒 論 .....................................................................................................1 課題研究背景與意義 .......................................................................................1 國內(nèi)外數(shù)據(jù)庫性能測試的研究狀況 ...............................................................1 本文的主要工作 ...............................................................................................4 本文組織結(jié)構(gòu) ...................................................................................................42.?dāng)?shù)據(jù)庫性能測試 ....................................................................................5 數(shù)據(jù)庫性能測試方法及內(nèi)容 ...........................................................................5 性能測試分類 .........................................................................................5 性能測試指標(biāo) ..........................................................................................6 性能測試工具 LOADRUNNER 介紹 .................................................................7 LoadRunner 的特點(diǎn) ..................................................................................7 LoadRunner 功能描述 ...........................................................................8 LoadRunner 測試步驟 ...........................................................................83. 基于 TPC_C 基準(zhǔn)事務(wù)的實(shí)現(xiàn) ............................................................9 TPC_C 基準(zhǔn)總述 ...........................................................................................9 TPC_C 簡介 ..........................................................................................9 TPC_C 測試指標(biāo) .................................................................................10 基于 TPC_C 基準(zhǔn)數(shù)據(jù)庫設(shè)計(jì) .....................................................................12 SQL Server 2022 中表的設(shè)計(jì) ............................................................12 表的結(jié)構(gòu)關(guān)系 .....................................................................................14 TPC_C 基 準(zhǔn) 數(shù)據(jù)錄入 ........................................................................15 基于 TPC_C 基準(zhǔn)事務(wù)模型的實(shí)現(xiàn) .............................................................17 NEW ORDER(新訂單)事務(wù)的實(shí)現(xiàn) ................................................17 PAYMENT(支付)事務(wù)的實(shí)現(xiàn) ........................................................19 DELIVERY(發(fā)貨)事務(wù)的實(shí)現(xiàn) ........................................................21 STOCK LEVEL(庫存狀況查詢)事務(wù)實(shí)現(xiàn) .....................................22 ORDER STATUS(訂單狀況查詢)事務(wù)的實(shí)現(xiàn) ....................