GaussDB T 1.0.2分佈式集羣TPC-C之BenchmarkSQL性能測試

墨天輪原文鏈接:https://www.modb.pro/db/22557?ywm

本文介紹TPC-C之BenchmarkSQL對GaussDB T分佈式集羣數據庫進行性能壓測。由於在分佈式下創建表必須要指定分片鍵的,而默認的腳本是不指定的,因此需要對Benchmark工具做修改適配。

1.說明

本篇文章主要介紹在GaussDB T 1.0.2分佈式集羣下,如何用Benchmark工具進行壓測。由於在分佈式下創建表必須要指定分片鍵的,而默認的腳本是不指定的,因此需要對Benchmark工具做修改適配。

關於benchmark部署問題,這裏不詳述,之前有寫過關於GaussDB T單機的benchmark壓測,具體參考:GaussDB T 1.0.2單機環境TPC-C之BenchmarkSQL性能測試

2. 創建benchmark配置文件

在benchmarksql的run目錄下,編輯測試的配置文件props.gs。
如圖,紅框內修改爲正確的cn連接串,可以配置多個CN,從而實現負載均衡。
image.png

3.修改benchmark用例SQL腳本

在benchmarksql的run/sql.common目錄下,修改測試用例所用的sql腳本,主要修改建表SQL,改成分佈式create語法,分佈式下建表需要分片。
如圖:
image.png
這裏注意,表上有主鍵唯一約束時,分片鍵要麼加到主鍵列裏,要麼修改所有CN和主DN的數據庫參數alter system set SHARD_CHECK_UNIQUE=false;

4. 初始化測試數據

進入benchmarksql的run目錄下,運行./runDatabaseBuild.sh props.gs腳本,初始化測試數據,初始化加載數據時,分佈式不支持外鍵和alter sequence,因此會報錯,不影響。

5. 修改runBenchmark.sh腳本

進入benchmarksql的run目錄下,修改runBenchmark.sh腳本。

# vi runBenchmark.sh #!/usr/bin/env bash ...... ...... source funcs.sh $1 
-修改爲絕對路徑,如:source /software/benchmark/benchmarksql-5.0/run/funcs.sh $1 ......

 

6. 運行結果

# sh runBenchmark.sh props.gs 10:54:46,584 [main] INFO jTPCC : Term-00, 10:54:46,609 [main] INFO jTPCC : Term-00, +-------------------------------------------------------------+ 10:54:46,609 [main] INFO jTPCC : Term-00, BenchmarkSQL v5.0 10:54:46,609 [main] INFO jTPCC : Term-00, +-------------------------------------------------------------+ 10:54:46,609 [main] INFO jTPCC : Term-00, (c) 2003, Raul Barbosa 10:54:46,610 [main] INFO jTPCC : Term-00, (c) 2004-2016, Denis Lussier 10:54:46,613 [main] INFO jTPCC : Term-00, (c) 2016, Jan Wieck 10:54:46,613 [main] INFO jTPCC : Term-00, +-------------------------------------------------------------+ 10:54:46,613 [main] INFO jTPCC : Term-00, 10:54:46,613 [main] INFO jTPCC : Term-00, db=oracle 10:54:46,614 [main] INFO jTPCC : Term-00, driver=com.huawei.gauss.jdbc.ZenithDriver 10:54:46,614 [main] INFO jTPCC : Term-00, conn=jdbc:zenith:db:@192.168.179.126:8000,192.168.179.127:8000,192.168.179.128:8000,192.168.179.129:8000 10:54:46,614 [main] INFO jTPCC : Term-00, user=aps3 10:54:46,614 [main] INFO jTPCC : Term-00, 10:54:46,614 [main] INFO jTPCC : Term-00, warehouses=20 10:54:46,615 [main] INFO jTPCC : Term-00, terminals=10 10:54:46,617 [main] INFO jTPCC : Term-00, runMins=5 10:54:46,617 [main] INFO jTPCC : Term-00, limitTxnsPerMin=0 10:54:46,618 [main] INFO jTPCC : Term-00, terminalWarehouseFixed=true 10:54:46,618 [main] INFO jTPCC : Term-00, 10:54:46,618 [main] INFO jTPCC : Term-00, newOrderWeight=45 10:54:46,618 [main] INFO jTPCC : Term-00, paymentWeight=43 10:54:46,618 [main] INFO jTPCC : Term-00, orderStatusWeight=4 10:54:46,618 [main] INFO jTPCC : Term-00, deliveryWeight=4 10:54:46,618 [main] INFO jTPCC : Term-00, stockLevelWeight=4 10:54:46,619 [main] INFO jTPCC : Term-00, 10:54:46,619 [main] INFO jTPCC : Term-00, resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS 10:54:46,619 [main] INFO jTPCC : Term-00, osCollectorScript=null 10:54:46,619 [main] INFO jTPCC : Term-00, 10:54:46,729 [main] INFO jTPCC : Term-00, copied props.gs to my_result_2020-03-13_105446/run.properties 10:54:46,730 [main] INFO jTPCC : Term-00, created my_result_2020-03-13_105446/data/runInfo.csv for runID 185 10:54:46,730 [main] INFO jTPCC : Term-00, writing per transaction results to my_result_2020-03-13_105446/data/result.csv 10:54:46,730 [main] INFO jTPCC : Term-00, 10:54:47,674 [main] INFO jTPCC : Term-00, C value for C_LAST during load: 209 10:54:47,675 [main] INFO jTPCC : Term-00, C value for C_LAST this run: 109 10:54:47,675 [main] INFO jTPCC : Term-00, Term-00, Running Average tpmTOTAL: 23408.76 Current tpmTOTAL: 778056 Memory Usage: 20MB / 202MB 10:59:48,129 [Thread-5] INFO jTPCC : Term-00, 10:59:48,147 [Thread-5] INFO jTPCC : Term-00, 10:59:48,148 [Thread-5] INFO jTPCC : Term-00, Measured tpmC (NewOrders) = 10486.78 10:59:48,148 [Thread-5] INFO jTPCC : Term-00, Measured tpmTOTAL = 23401.5 10:59:48,148 [Thread-5] INFO jTPCC : Term-00, Session Start = 2020-03-13 10:54:47 10:59:48,148 [Thread-5] INFO jTPCC : Term-00, Session End = 2020-03-13 10:59:48 10:59:48,148 [Thread-5] INFO jTPCC : Term-00, Transaction Count = 117058

 

7. 總結

實際在測試時,需要根據資源配置,調整GTS、CN、DN的參數,以及temp、undo、redolog等,來滿足壓測標準,這裏不詳述。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章