GaussDB T 1.0.2分散式叢集TPC-C之BenchmarkSQL效能測試

資料和雲發表於2020-03-25

原文連結:  


摘要:本文介紹TPC-C之BenchmarkSQL對GaussDB T分散式叢集資料庫進行效能壓測。由於在分散式下建立表必須要指定分片鍵的,而預設的指令碼是不指定的,因此需要對Benchmark工具做修改適配。

1.說明

本篇文章主要介紹在GaussDB T 1.0.2分散式叢集下,如何用Benchmark工具進行壓測。由於在分散式下建立表必須要指定分片鍵的,而預設的指令碼是不指定的,因此需要對Benchmark工具做修改適配。

關於benchmark部署問題,這裡不詳述,之前有寫過關於GaussDB T單機的benchmark壓測,具體參考:

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: 20910:54:47,675 [main] INFO   jTPCC : Term-00, C value for C_LAST this run:    10910: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.7810:59:48,148 [Thread-5] INFO   jTPCC : Term-00, Measured tpmTOTAL = 23401.510:59:48,148 [Thread-5] INFO   jTPCC : Term-00, Session Start     = 2020-03-13 10:54:4710:59:48,148 [Thread-5] INFO   jTPCC : Term-00, Session End       = 2020-03-13 10:59:4810:59:48,148 [Thread-5] INFO   jTPCC : Term-00, Transaction Count = 117058

7. 總結

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


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2682397/,如需轉載,請註明出處,否則將追究法律責任。

相關文章