它本身支援TPC-C模型,TPC(Transaction Processing Performance Council)是一系列交易處理和資料庫基準測試的規範。其中TPC-C是針對OLTP的基準測試模型,模擬零售商店下訂單的交易環境,是很熱門的基準測試模型
用HammerDB進行TPC-C測試是很簡單的,只要多試幾次就能上手喔,可參考以下說明
1.執行C:\Program Files\HammerDB-2.16\hammerdb.bat
2.滑鼠雙擊[SQL Server]
3.選[MSSQL Server]與[TPC-C],按下[OK]
4.在[SQL Server]下展開[TPC-C],展開[Schema Build],滑鼠雙擊[Options]
5.設定[SQL Server]的連線資訊,及設定[Number of Warehouses]與[Virtual Users to Build Schema],按下[OK],注意Virtual Users不得大於Warehouses喔,有防呆啦
6.滑鼠雙擊[Build]或上方那個小圖示來建立Schema,就會跳出[Create Schema]小視窗,按下[是]即可
7.開始建立相關Schema,執行時間依你建立的Warehouse數目而不同,愈多愈花時間
8.Schema建立完成會秀[TPCC SCHEMA COMPLETE],下方[Status]也會顯示綠色的勾勾,然後按下紅燈的[Destory Virtual Users],就藍色圈選處那個按鈕
這時左邊的那些子項目才可以選
Schema建立完成後,可回到SSMS介面下看到相關的Scehma,下圖就是模擬零售商店的交易環境,有客戶、新訂單、庫存、產品及歷史紀錄的資料,這是建立1個WAREHOUSE的情況
9.展開[Driver Script],滑鼠雙擊[Options],就會跳出[TPC-C Driver Otpions]視窗
注意[TPC-C Driver Script]有兩個選項,[Standard Driver Script]與[Timed Test Driver Script]可選,選哪個下面可以設定的地方也有所不同,產出的結果也會有差異,都可以試試,設定完後按下[OK]
10.展開[Virtual User],滑鼠雙擊[Options]就會跳出[Virtual User Otions]視窗,可以設定[Virtual Users]數量等的設定,建議只設定[Virtual Users]與[Iterations]即可,其他用預設的,然後[Show Output]與[Log Output to Temp]記得都打勾,就會把測試結果保存到Temp目錄下喔,設定完成按下[OK]
11.然後不要忘記耍雙擊下方的[Create Virtual Users],就那兩個人頭的那個,下方就會出現Virtual User,此時就可以按上面那個綠色箭頭的[Run Virtual Users]開始測試
12.測試過程會顯示[RUNNING - TPC-C]
13.測試完成時,下方Virtual User狀態會顯示綠色勾勾
Virtual User Output會產出測試結果
14.開始測試時,隨時可以按下紅燈那個終止測試,要不就等測試完成看結果
下圖是有勾選[Log Output to Temp],測試完成後在Temp下保存的結果,注意最後一行的兩個數字TPM(the number of Microsoft SQL Server Transactions per minute)與NOPM(the number of New Orders per minute),需注意的是這邊的TPM與官方TPC-C下的tpmC是不太一樣的喔,還有一點這TPM與NOPM是只有選[Timed Test Driver Script]才會產出的結果喔
16.在12開始測試到13完成測試之間,可以開啟Transaction Counter來看tpm計數器,就下圖那個鉛筆的按鈕
稍微等一下就可以看到執行過程tpm的變化
或是開啟Activity Monitir看相關的計數器囉
最後相關操作說明文件可參考Documentation,建議看hammerora_mssqlserver_oltp_v2.7與hammerdb_mssql_oltp_best_practice.pdf喔
您好,很謝謝你的教學幫助我許多
回覆刪除但有點小問題想請教
我發現在跑 600 user 的時候大概花了 150 個小時
你在跑 MSQL TPC-C 的時候花大約多久時間呢?
謝謝
已經沒什印象了
刪除不知是不是你warehouse建太多了?
建議先從小量開始測,慢慢再加user再觀察看看