GaussDB T 1.0.2分散式叢集TPC-C之BenchmarkSQL效能測試
原文連結:
1.說明
本篇文章主要介紹在GaussDB T 1.0.2分散式叢集下,如何用Benchmark工具進行壓測。由於在分散式下建立表必須要指定分片鍵的,而預設的指令碼是不指定的,因此需要對Benchmark工具做修改適配。
關於benchmark部署問題,這裡不詳述,之前有寫過關於GaussDB T單機的benchmark壓測,具體參考:
2. 建立benchmark配置檔案
在benchmarksql的run目錄下,編輯測試的配置檔案props.gs。
如圖,紅框內修改為正確的cn連線串,可以配置多個CN,從而實現負載均衡。
3.修改benchmark用例SQL指令碼
在benchmarksql的run/sql.common目錄下,修改測試用例所用的sql指令碼,主要修改建表SQL,改成分散式create語法,分散式下建表需要分片。
如圖:
這裡注意,表上有主鍵唯一約束時,分片鍵要麼加到主鍵列裡,要麼修改所有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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GaussDB T 1.0.2單機環境TPC-C之BenchmarkSQL效能測試SQL
- Redis面試題及分散式叢集Redis面試題分散式
- Jmeter效能測試:高併發分散式效能測試JMeter分散式
- ElasticSearch 分散式叢集Elasticsearch分散式
- 叢集搭建完成簡要測試叢集(效能)頻寬與IOPS
- elasticsearch(三)---分散式叢集Elasticsearch分散式
- HA分散式叢集搭建分散式
- HDFS分散式叢集搭建分散式
- golang分散式與叢集Golang分散式
- hadoop分散式叢集搭建Hadoop分散式
- 分散式kv儲存系統之Etcd叢集分散式
- 在 Kubernetes 上快速測試 Citus 分散式 PostgreSQL 叢集(分散式表,共置,引用表,列儲存)分散式SQL
- 【TEST】Oracle19c使用benchmarksql進行效能測試OracleSQL
- Hadoop分散式叢集搭建_1Hadoop分散式
- 叢集和分散式區別分散式
- Hadoop完全分散式叢集配置Hadoop分散式
- Mongodb分散式叢集副本集+分片MongoDB分散式
- 基於TPC-C基準的Python ORM的效能測試PythonORM
- 分散式文件儲存資料庫之MongoDB分片叢集分散式資料庫MongoDB
- jmeter介面效能測試-高併發分散式部署JMeter分散式
- GaussDB 1.0.1升級到1.0.2及1.0.2相關新功能說明
- Citus 分散式 PostgreSQL 叢集 - SQL Reference(查詢分散式表 SQL)分散式SQL
- 分散式系統與叢集環境分散式
- Cassandra安裝及分散式叢集搭建分散式
- MongoDB中的分散式叢集架構MongoDB分散式架構
- 分散式、微服務、叢集,個人理解分散式微服務
- Citus 分散式 PostgreSQL 叢集 - SQL Reference(建立和修改分散式表 DDL)分散式SQL
- 叢集、分散式和微服務的概念理解分散式微服務
- 使用Docker Swarm搭建分散式爬蟲叢集DockerSwarm分散式爬蟲
- LNMP 分散式叢集(六):keepalived 高可用方案LNMP分散式
- LNMP 分散式叢集(五):ThinkPHP專案部署LNMP分散式PHP
- 帶你快速瞭解 MongoDB 分散式叢集MongoDB分散式
- 深入淺出Websocket(二)分散式Websocket叢集Web分散式
- hadoop叢集搭建——單節點(偽分散式)Hadoop分散式
- [Hadoop踩坑]叢集分散式環境配置Hadoop分散式
- 分散式協調服務☞zookeeper叢集搭建分散式
- 分散式 PostgreSQL 叢集(Citus)官方安裝指南分散式SQL
- 微服務測試之效能測試微服務