freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于tpc_c基準數(shù)據(jù)庫系統(tǒng)性能測試的實現(xiàn)畢業(yè)論文-資料下載頁

2025-06-27 18:55本頁面
  

【正文】 選取一個發(fā)貨包,更新被處理的用戶的賬戶余額,并把該訂單從新訂單中刪除。這個事務的執(zhí)行頻率不高,對事物的響應時間也沒有嚴格的限制。一、數(shù)據(jù)輸入要求W_ID 是用戶輸入,其值只能為 1 或 2O_CARRIER_ID 是 1 到 10 的一個隨機數(shù)OL_DELIVERY_D 是當前系統(tǒng)的時間二、事務執(zhí)行具體步驟: 在 NEW_ORDER 表里找到 NO_W_ID= W_ID 并且 NO_D_ID=D_ID的最小的 NO_O_ID,這代表的是未發(fā)貨的最老的歷史記錄(默認 NO_OID 最小的項) ,接著將 NEW_ORDER 表里對應的這一行刪除。在 ORDER_T 表里找到匹配的 O_W_ID=W_ID, O_D_ID=D_ID, O_ID=NO_O_ID 的行,返回 O_C_ID,并將對應的顧客號的 O_CARRIER_ID進行更新。在 ORDER_LINE 里找到所有 OL_W_ID=W_ID, OL_D_ID=D_ID, 24OL_O_ID=C_OD ,并將 OL_DELIVERY_D 改為當前的系統(tǒng)時間,并將OL_AMOUNT 數(shù)更新。CUSTOMER 表里找到符合 C_W_ID=W_ID, C_D_ID=D_ID, C_ID=O_C_ID 的行并將 C_BALANCE 增加 ORDER_LINE 里的 OL_AMOUNT數(shù) STOCK LEVEL(庫存狀況查詢)事務實現(xiàn)該事務模擬的是用戶從固定的倉庫和地區(qū)中選取最后 20 條記錄,檢查訂單中所有貨物的庫存,計算并且把所有庫存數(shù)低于用戶指定域的商品數(shù)量。這個事務是只讀事務,執(zhí)行的頻率較低,對系統(tǒng)的響應時間不做嚴格限制和要求。一、 數(shù)據(jù)輸入要求地區(qū)編號 D_ID 和用戶查詢的商品域值下限 THRESHOLD。二、 事務具體實現(xiàn)步驟:在 DISTRICT 表中選擇與(D_W_ID,D_ID)相匹配的行,得到 D_NEXT_O_ID 的值。在 ORDER_LINE 表中選擇與條件 (OL_W_ID=W_ID, OL_D_ID=D_ID, OL_O_IDD_NEXT_O_ID, OL_O_IDD_NEXT_O_ID20)相匹配的所有的行。在 STOCK 表中選擇與條件(S_I_ID=OL_I_ID, S_W_ID=W_ID)相匹配的行,累加(S_QUANTITYthreshold)的行數(shù)。 ORDER STATUS(訂單狀況查詢)事務的實現(xiàn)該事務查詢客戶上一次訂單的狀態(tài),是一個只讀事務,執(zhí)行頻率低,對系統(tǒng)的響應時間要求不是很嚴格。數(shù)據(jù)的輸入要求輸入倉庫編號 W_ID.地區(qū)編號 D_ID 是 1 到 10 的一個隨機數(shù)。25事務具體執(zhí)行步驟:情況一(60%):用戶是采用 C_LAST,則在 CUSTOMER 表中選擇與(C_W_ID,C_D_ID,C_LAST)相匹配的所有行。令 N 為所選擇的行數(shù),則得到其中第 N/2 行的 C_BALANCE, C_FIRST, C_MIDDLE, C_ID 的值。情況二(40%):用戶選擇的是 C_ID 查詢,則在 CUSTOMER 表中選擇與(C_W_ID,C_D_ID,C_ID )相匹配的所有行。得到 C_BALANCE, C_FIRST, C_MIDDLE, C_LAST 的值。在 ORDER_T 表中選擇與條件(O_W_ID=C_W_ID, O_D_ID=C_D_ID, O_C_ID=O_ID)相匹配的且 O_ID 最大的記錄,這也是該客戶最近的一條訂單,得到對應的 O_ID, O_ENTRY_D, O_CARRIER_ID 的值。在 ORDER_LINE 表中選擇與條件(OL_W_ID=O_W_ID, OL_D_ID=O_D_ID, OL_O_ID=O_ID)相匹配的項,得到對應的OL_ID_ID,OL_QUANTITY, OL_AMOUNT,OL_OL_DELIVERY_D 的值。26 測試方案在本項目的測試過程中,一個完成執(zhí)行的事務可以被定義為成功提交的事務。比如說 NEW ORDER 新訂單、PAYMENT 支付、ORDER STATUS 訂單查詢、STOCK LEVEL 庫存查詢等事務在終端顯示,也可是 DELIVERY 發(fā)貨事務成功在相應的文件中添加了正確的內容。在未錄入 LoadRunner 腳本之前,這五個事務構成一個完整的系統(tǒng),各事務的選擇采用 CASE 語句實現(xiàn),Payment:1,Neworder:2,Delivery :3, Order Status :4,Stock Level :5,用戶可以通過 1 到 5 選擇需要執(zhí)行的事務,當然每個事務執(zhí)行完畢用戶也可通過 Y/N 進行選擇是否需要繼續(xù)進行別的事務。其執(zhí)行過程可以用下圖進行說明:選擇事務1 、 支付2 、 新訂單3 、 發(fā)貨4 、 訂單狀態(tài)查詢5 、 庫存狀態(tài)查詢執(zhí)行所選事務輸入是否重新執(zhí)行事務 ( Y / N )Y退出程序N 選擇事務類型 ,等待用戶輸入 輸出事務結果 ,等待用戶輸入圖 41 事務執(zhí)行流程27但是考慮到將整個系統(tǒng)同時錄入,因為 LoadRunner 錄入過程只錄入程序執(zhí)行的過程,而這五個事務全部一起錄入會導致在 LoadRunner 里自編代碼的工作量很大,所以在腳本錄入過程中便采用各個事務分別錄入的方法,這樣可以減少代碼的修改量。LoadRunner 工具支持很多的腳本協(xié)議,比如“Java Vuser”、 “Javascript Vuser”、“Microsoft .NET”、 “VB Vuser”、 “VB Script Vuser”我們可以根據(jù)不同的應用進行選擇,因為本測試程序是 C編寫的應用程序,故而選擇 協(xié)議 [4]。 圖 42 腳本協(xié)議選擇接著就是選擇需要錄入的文件所在位置,比如說錄入 NEW ORDER 事務:28圖 43 錄制選擇在腳本錄入過程中,一般 vuser_init 一般都是錄入數(shù)據(jù)庫連接等的初始化,而 vuser_end 則一般錄入事務處理的結束部分,如數(shù)據(jù)庫的關閉等,但是為了方便起見,本測試是將所有的部分都錄入到 action 部分,這樣并不會對程序的執(zhí)行產(chǎn)生任何影響。圖 44 腳本錄入過程點擊停止,程序開始加載到 LoadRunner 里,另外在腳本的錄入過程中,為了使腳本錄入的代碼盡可能少,對于一些 for 語句,在 Visual Studio 編程中將其改為單行執(zhí)行,這樣在 LoadRunner 里就只會錄入一次,而對于程序的循環(huán)就在 action 函數(shù)里進行改寫。依次將五個事務都錄入,并且每個事務都是一個獨立體,都有 START TRANSACTION 和 END TRANSACTION,這樣可以保證事務的執(zhí)行完整性。比如 Payment 事務圖 45 事務開始在事務結束時采用 try ,catch 語句,29圖 46 事務結束LoadRunner 不支持 Random 隨機函數(shù),其隨機數(shù)的生成有其特有的機制,其是把某一個值替代為隨機數(shù),方法是選中需要替代的變量值,選擇用變量來替代:圖 47 隨機變量修改(a)類型選擇為 Random Number:(b)對隨機數(shù)的屬性進行編輯,確定好每一個變量的值范圍和類型。如:(c )接著對錄入的程序的一些值創(chuàng)建關聯(lián),替代掉所有其對應的值,并將未錄入的程序代碼在 LoadRunner 里補充完整,運行程序,不斷改正程序里的BUG,直至正確運行。在本系統(tǒng)的測試中,測試步驟主要為:30加載數(shù)據(jù) 載入腳本程序測試分析結果數(shù)據(jù)庫備份恢復數(shù)據(jù)與基準是否相符不相符輸出測試結果相符圖 48 測試步驟具體為: 執(zhí)行 Dataload 源程序,項 TPC_CWarehouse 加載初始數(shù)據(jù),因為這個數(shù)據(jù)量比較大,每次加載都需要 1 個多小時才能完成,為了程序執(zhí)行的方便,同時也使得測試具有橫向比較性,將數(shù)據(jù)做一個備份,以備后用。 向 LoadRunner 里加載腳本并修改,執(zhí)行該腳本。 LoadRunner 里創(chuàng)建場景,對虛擬用戶進行相應的設置,開始程序的測試。 分析測試的結果,若測試結果與標準的不相符合,恢復數(shù)據(jù),再次進行測試。 多次測試,將測試結果形成測試報告。31 測試場景設置性能測試過程中,結果的正確與否,場景設置占有很大的比例關系。場景設置一般有兩類:一種是基于用戶實際使用情況的場景測試;另一種是為了特殊項目測試而設計的場景。第一種是為了驗證目的而進行,為了滿足顧客的基本需求;第二種是為了測試系統(tǒng)的擴展性、穩(wěn)定性等。對于本系統(tǒng)的場景設置,主要是為了驗證該系統(tǒng)是否能否滿足用戶的基本需求,屬于驗證性場景設置。本系統(tǒng)主要有五個獨立的事務,而對于每個事務的執(zhí)行平率,根據(jù) TPC_C 基準,其有嚴格的配比關系,表現(xiàn)為:表 41 測試事務配比要求事務類型 所占配比(%)Payment OrderStatus Delivery StockLevel NewOrder n/aNEW ORDER 事務沒有最低下限,其配比是所有是配比的剩余。TPC_C 基準的五個事務復雜程度有著很大的區(qū)別,如果不加入系統(tǒng)思考時間,則測試中就會出現(xiàn)最復雜的事務響應時間最長,但這與事實不符,因為NEW ORDER 事務是最復雜的事務,但其響應時間短才能滿足在線用戶的需求,所以必須加入思考時間。在這個測試中,思考時間可以定義為系統(tǒng)等待用戶輸入的時間。而系統(tǒng)的響應時間則是系統(tǒng)等待用戶最后一條輸入完畢到系統(tǒng)執(zhí)行完畢后者兩者之間的時間差。具體各個事務的思考時間大小如下表所示:32表 41 事務思考時間Keying/think times(in seconds)Trans. nameMin. Average MaxNew order / / /Payment / / / Order status / / / Delivery / / / Stock level / / / 在測試中我們選用的是平均值。測試場景設置(方案一):采用百分配比的方法,通過實際設置各事務所占的配比:NEW ORDER %,PAYMENT %, DELIVERY %, STOCK LEVEL % , ORDER STATUS % 。虛擬用戶設置為 25 個,測試持續(xù)時長為 20min。測試 NEW ORDER 的配比大于 DELIVERY 十倍,是因為 DELIVERY 是批量執(zhí)行發(fā)貨操作,每次發(fā)貨平均是 10 個訂單,所以 NEW ORDER 的執(zhí)行頻率也應該是DELIVERY 的 10 倍,這樣才不會導致發(fā)貨操作過程中出現(xiàn)訂單不夠的情況。通過設置,方案一的運行概略為下圖所示。33圖 49 測試執(zhí)行過程這一方案可以通過觀察在線用戶為 25 時系統(tǒng)的 CPU 使用情況,進而考慮給系統(tǒng)是否做增壓處理,對該系統(tǒng)作負載、壓力、并發(fā)以及安全測試。增大系統(tǒng)的壓力,以測量系統(tǒng)在不同的壓力下的性能表現(xiàn)。通過設置系統(tǒng)的在線用戶為 40,持續(xù)時間仍為 20min 再次進行測試。測試場景(方案二):采用面向目標的場景設置,這個方案可以測試不同的對象目標。其目標類型包括每秒鐘事務數(shù)、在線用戶數(shù)以及系統(tǒng)響應時間等。因為在 TPC_C 基準測試中,被測系統(tǒng)的性能是由每分鐘所能處理的事務數(shù)來衡的,并且這里的事務數(shù)主要是指訂單的數(shù)量,即 New order 的事務數(shù)量。所以在這個測試方案中主要就是測量系統(tǒng)是否能夠達到基準的 Tmpc 目標,如果達不到,逐級減少目標事務數(shù),找出該系統(tǒng)的最大的 Tmpc。所以本方案設置的目標類型為Transactions per second. 定義 Goal 為 new order 達到 1 個,通過 25 到 50 個在34線用戶來實現(xiàn)這個目標,并且達到目標后繼續(xù)運行 10min。具體設置結果如下圖所示:圖 410 目標設置 測試結果分析測試時間 :2022 年 5 月 10 日 測試人員:吳汾操作系統(tǒng):Windows XP處理器:Inter(R) Pentium(R) 4 CPU 內存: 80G事務編寫環(huán)境:Visio Studio 2022數(shù)據(jù)庫:SQL Sever 2022編寫語言:C測試工具:LoadRunner方案一測試結果分析: 35通過觀察發(fā)現(xiàn)在整個測試工程中,初始化階段 CPU 使用率較高,但當用戶初始化完成后,系統(tǒng)的 CPU 占用率較低,保持在 20%以下,并且系統(tǒng)的在線用戶數(shù)長時間保持在 24 個,達到了系統(tǒng)設定的頂峰值,這說明這樣的壓力系統(tǒng)能夠很好地運行。測試結果:表 42 虛擬用戶數(shù)位 25 的測試結果Transaction Name Minimum Average Maximum Std. Deviation 90 Percent TPS(avg.)Pass Fail StopAction_Transaction 1,865 1 0Delivery 346 0 0New order 417 1 0Order status 104 0 0Payment 831 0 0Stock level 167 0 0vuser_end_Transaction 0 25 0 0vuser_init_
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1