日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測

發(fā)布時(shí)間:2025/3/12 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

TPC-C 模擬的情境

TPC-C 模擬的情境是一個(gè)大型的商品批發(fā)商,擁有若干個(gè)倉(cāng)庫(kù),每個(gè)倉(cāng)庫(kù)擁有 100000 件商品庫(kù)存、負(fù)責(zé)為 10 個(gè)地區(qū)供貨,每個(gè)地區(qū)服務(wù) 3000 名客戶,每名客戶平均一筆訂單有 10 項(xiàng)商品,所有訂單中約 1% 在其直屬的倉(cāng)庫(kù)中沒有貨,需要從其他倉(cāng)庫(kù)來(lái)調(diào)貨。

在模擬的情境之中,TPC-C 會(huì)測(cè)試 5 種典型的 OLTP 交易:

New-Order:User 新增一筆訂單

Payment:User 支付貨款,更新 User 的帳戶餘額。

Order-Status:User 查詢訂單最新的狀態(tài)

Delivery:出貨

Stock-Level:查詢庫(kù)存

安裝及開啟 HammerDB

HammerDB 我們可以在這裡下載到,選擇欲安裝的版本下載安裝之後,我們切換到安裝目錄底下 。

雙擊 hammerdb.bat 就可以開啟 HammerDB

確認(rèn) C:\Temp 資料夾存在

執(zhí)行負(fù)載測(cè)試的過程中需要產(chǎn)生 Output Log,HammerDB 預(yù)設(shè)儲(chǔ)存 Output Log 的目錄就是 C:\Temp,如果 C:\Temp 不存在則會(huì)放在 C:\ 底下,但是這就麻煩了,因?yàn)橐?C:\ 建立檔案是需要給予系統(tǒng)管理員權(quán)限,所以我們還是確保 C:\Temp 存在比較容易一點(diǎn)。

選擇 SQL Server Benchmark

雙擊 SQL Server 節(jié)點(diǎn)

選擇 MSSQL Server、TPC-C。

Schema Build - 建立資料庫(kù)

雙擊 Schema Build/Options

輸入 Build Options

畫面上特別要關(guān)注三個(gè)參數(shù):

SQL Server Database,資料庫(kù)存不存在無(wú)所謂,不存在會(huì)自動(dòng)建,但是必須是空的。

Number of Warehouses,官方的 SQL Server Quick Start 建議我們可以先設(shè) 10 個(gè)倉(cāng)庫(kù),我乖乖聽話設(shè)為 10 個(gè)後,它 build 好久,所以我們先設(shè) 3 個(gè)倉(cāng)庫(kù)就好了。

Virtual Users to Build Schema 可以設(shè)成與負(fù)責(zé)執(zhí)行負(fù)載測(cè)試工作的機(jī)器核心數(shù)一樣的數(shù)字,比如說(shuō),我是在我的 Notebook 執(zhí)行負(fù)載測(cè)試工作,我的 Notebook 核心數(shù)是 8,則 Virtual Users to Build Schema 可以設(shè)為 8,但是不能大於 Number of Warehouses,不過建議一開始不要設(shè)太多,會(huì)跑很久,我們先設(shè)個(gè) 2 就好了。

設(shè)定完後就雙擊 Build,畫面的右方就可以看到正在 Build Schema。

要等個(gè)好幾分鐘,完成後畫面上會(huì)出現(xiàn) TPCC SCHEMA COMPLETE 的訊息,中間區(qū)塊的 Status 也都會(huì)是綠色勾勾,接著按下紅色警示燈號(hào)按鈕停止工作。

Driver Script - 產(chǎn)生負(fù)載測(cè)試的腳本

雙擊 Driver Script/Options

輸入 Driver Options

這裡有三個(gè)參數(shù)比較特別:

TPC-C Driver Script,如果我們選擇預(yù)設(shè)值 Standard Driver Script 那 HammerDB 會(huì)把每筆 Transaction 鉅細(xì)靡遺地記錄下來(lái),訊息非常得多,我們初學(xué)是比較難去解讀這樣子的訊息,因此這邊我們選擇 Timed Test Driver Script,它會(huì)搭配下面兩個(gè)參數(shù)去產(chǎn)生測(cè)試結(jié)果。

Minutes of Rampup Time,這個(gè)時(shí)間是等待讓負(fù)載測(cè)試初始化的時(shí)間,預(yù)設(shè)值是 2 分鐘,這邊我們調(diào)整為 1 分鐘。

Minutes for Test Duration,這個(gè)時(shí)間是負(fù)載測(cè)試的取樣時(shí)間,預(yù)設(shè)值是 5 分鐘,這邊我們調(diào)整為 2 分鐘。

這三個(gè)參數(shù)值搭配起來(lái)用的意思就是說(shuō),先讓負(fù)載測(cè)試跑個(gè) 1 分鐘之後,HammerDB 會(huì)監(jiān)測(cè)接下來(lái) 2 分鐘的負(fù)載測(cè)試執(zhí)行過程,以取得到的成果去計(jì)算平均值,有點(diǎn)類似驗(yàn)?zāi)蛉≈卸蔚母拍睢?/p>

所以整個(gè)負(fù)載測(cè)試的行程會(huì)在 3 分鐘之後結(jié)束,也因?yàn)檫@樣,我們必須確保我們的負(fù)載測(cè)試會(huì)執(zhí)行超過 3 分鐘,這樣取樣的成果才會(huì)準(zhǔn)確。

設(shè)定完後,雙擊 Load 產(chǎn)生負(fù)載測(cè)試的腳本。

Virtual User - 設(shè)定虛擬使用者

雙擊 Virtual User/Options

我們就照著下面畫面設(shè)定

這裡其實(shí)我想要設(shè)定的 Virtual Users 個(gè)數(shù)其實(shí)是 2,那為何設(shè)定值是 3 呢?那是因?yàn)槲覀冞x擇 Timed Test Driver Script 之後,會(huì)需要多一個(gè) Virtual User 來(lái)監(jiān)測(cè)負(fù)載測(cè)試的過程,所以設(shè)定值會(huì)是 N+1。

最後雙擊 Run 就會(huì)開始執(zhí)行負(fù)載測(cè)試,畫面的右方會(huì)顯示執(zhí)行進(jìn)度。

查看負(fù)載測(cè)試結(jié)果

我們到 C:\Temp 底下,找到 hammerdb*.log 的檔案,打開來(lái)看它會(huì)長(zhǎng)得像下面這個(gè)樣子。

上面這個(gè) TEST RESULT 是在說(shuō)「系統(tǒng)完成 13890 NOPM(New Orders Per Minute)的同時(shí), SQL Server TPM 達(dá)到了 63568 個(gè)。」,TPM 這個(gè)數(shù)據(jù)跟 tpmC 是不一樣的,它無(wú)法拿來(lái)當(dāng)做不同資料庫(kù)之間的效能比較依據(jù),但是 NOPM 可以,因此我們應(yīng)該關(guān)注的是 NOPM 這個(gè)數(shù)據(jù)。

HammerDB 不只有可以對(duì) SQL Server 做效能測(cè)量,還可以對(duì)?MySQL、Oracle、PostgreSQL、Redis...etc,如果手邊沒有比較好的資料庫(kù)效能量測(cè)工具的朋友,Open Source 的 HammerDB 可以考慮一下。

參考資源

總結(jié)

以上是生活随笔為你收集整理的mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。