PostgreSQL BenchmarkSQL使用
1、安裝PostgreSQL資料庫
2、下載解壓benchmark外掛
官網下載地址:https://sourceforge.net/projects/benchmarksql/files/latest/download
3、安裝ant外掛
yum install ant
使用ant對BenchmarkSQL原始碼進行編譯
4、修改benchmark配置檔案
/benchmarksql-5.0/run/props.pg
warehouses=1 //倉庫數量,每個warehouse大小大概是100MB
loadWorkers=4 //用於在資料庫中初始化資料的載入程式數量
terminals=1 //終端數,即併發客戶端數量
//To run specified transactions per terminal- runMins must equal zero
//每個終端(terminal)執行的固定事務數量,例如:如果該值設定為10,意味著每個terminal執行10個事務,如果有32個終端,那整體執行320個事務後,測試結束。該引數配置為非0值時,下面的runMins引數必須設定為0
runTxnsPerTerminal=10
//To run for specified minutes- runTxnsPerTerminal must equal zero
//要測試的整體時間,單位為分鐘,如果runMins設定為60,那麼測試持續1小時候結束。該值設定為非0值時,runTxnsPerTerminal引數必須設定為0。這兩個引數不能同時設定為正整數,如果設定其中一個,另一個必須為0,主要區別是runMins定義時間長度來控制測試時間;runTxnsPerTerminal定義事務總數來控制時間。
runMins=0
//Number of total transactions per minute
測試吞吐量時,需要將此值設定極大(無限大),這樣就能夠保證不會出現某個終端sleep現象。
//每分鐘事務總數限制,該引數主要控制每分鐘處理的事務數,事務數受terminals引數的影響,如果terminals數量大於limitTxnsPerMin值,意味著併發數大於每分鐘事務總數,該引數會失效,想想也是如此,如果有1000個併發同時發起,那每分鐘事務數設定為300就沒意義了,上來就是1000個併發,所以要讓該引數有效,可以設定數量大於併發數,或者讓其失效,測試過程中目前採用的是預設300。
limitTxnsPerMin=300
//終端和倉庫的繫結模式,設定為true時可以執行4.x相容模式,意思為每個終端都有一個固定的倉庫。設定為false時可以均勻的使用資料庫整體配置。TPCC規定每個終端都必須有一個繫結的倉庫,所以一般使用預設值true。
terminalWarehouseFixed=true
//下面五個值的總和必須等於100,預設值為:45, 43, 4, 4 & 4 ,與TPC-C測試定義的比例一致,實際操作過程中,可以調整比重來適應各種場景。
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4
//測試資料生成目錄,預設無需修改,預設生成在run目錄下面,名字形如my_result_xxxx的資料夾。
resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS
//作業系統效能收集指令碼,預設無需修改,需要作業系統具備有python環境
osCollectorScript=./misc/os_collector_linux.py
//作業系統收集操作間隔,預設為1秒
osCollectorInterval=1
//作業系統收集所對應的主機,如果對本機資料庫進行測試,該引數保持登出即可,如果要對遠端伺服器進行測試,請填寫使用者名稱和主機名。
osCollectorSSHAddr=user@dbhost
//作業系統中被收集伺服器的網路卡名稱和磁碟名稱,例如:使用ifconfig檢視作業系統網路卡名稱,ens33,那麼下面網路卡名設定為net_ens33(net_字首固定);使用df -h或者fdisk -l 檢視磁碟掛在目錄,我DIsk是/dev/sda,那麼下面磁碟名設定為blk_sda(blk_字首固定)
osCollectorDevices=net_eth0 blk_sda
5、建立表和約束
./runDatabaseBuild.sh props.pg
查詢庫大小
select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database;
使用了1倉資料
6、跑測試,並生成結果
./runBenchmark.sh props.pg
7、刪除表
./runDatabaseDestroy.sh props.pg
資料量比較大建議刪除data目錄
相關文章
- PostgreSQL DBA(87) - benchmarksql簡介SQL
- mysql benchmarksql 壓測MySql
- benchmarksql 5.0壓測MySQLMySql
- 【TEST】Oracle19c使用benchmarksql進行效能測試OracleSQL
- Benchmarksql的props配置檔案解析SQL
- postgreSql 使用筆記SQL筆記
- Postgresql容器使用SQL
- 使用 bitnami/postgresql-repmgr 映象快速設定 PostgreSQL HASQL
- PostgreSQL JSONB 使用入門SQLJSON
- PostgreSQL:使用者角色管理SQL
- postgresql使用者安全配置SQL
- PostgreSQL 9.4 中使用 jsonbSQLJSON
- 安裝benchmarksql報java:143: error: unmappable character for encoding ASCIISQLJavaErrorAPPEncodingASCII
- 3 種使用 PostgreSQL 命令的方式SQL
- Postgresql外部表使用 postgres_fdwSQL
- PostgreSQL唯一約束如何使用?SQL
- PostgreSQL的單使用者模式SQL模式
- PostgreSQL使用MySQL外表(mysql_fdw)MySql
- Mac 使用 brew 方式安裝 postgresqlMacSQL
- 使用Docker自動設定PostgreSQLDockerSQL
- GaussDB T 1.0.2單機環境TPC-C之BenchmarkSQL效能測試SQL
- 使用 Mux, Go, PostgreSQL, GORM 構建 APIUXGoSQLORMAPI
- postgresql使用pgagent來實現job功能SQL
- PostgreSQL 陣列型別使用詳解SQL陣列型別
- Postgresql 使用Vscode開發指南SQLVSCode
- PostgreSQL影像搜尋外掛使用篇SQL
- Mac 下 PostgreSQL 的安裝與使用MacSQL
- PostgreSQL9.5連線redis及其使用SQLRedis
- 使用pgpool搭建高可用PostgreSQL叢集SQL
- 淺談PostgreSQL使用者許可權SQL
- PostgreSQL 視窗函式 ( Window Functions ) 如何使用?SQL函式Function
- 使用PostgreSQL作為資料倉儲 - narratorSQL
- PostgreSQL_FDW_安裝和簡單使用SQL
- 我應該使用 MongoDB 還是 PostgreSQL? - AmritMongoDBSQL
- Spring Boot中使用PostgreSQL資料庫Spring BootSQL資料庫
- 使用pgpool-ii建立PostgreSQL連結池SQL
- PostgreSQL在Linux下安裝與使用SQLLinux
- 使用postgresql作為 bootstrap tree view 後端SQLbootView後端