记录数据库性能测试--polardb

数据库性能测试指标

内存利用   

会话统计

SQL执行情况

 

测试环境

 

·测试机

·192.168.56.185 : Unix (64 Bit)

·压力机

·192.168.56.183 : Unix (64 Bit)

·数据库

·polardb

软件安装

压缩包上传183,版本benchmarksql-5.0

安装:直接解压,假设解压路径 /root/benchmarksql-5.0

安装jdk

[注]:检查已有jdk1.8

 

如无jdk先安装jdk

yum install jdk-7u79-linux-x64.rpm

安装Apache ant

用于编译benchmarkSQL, 5.0版本是需要编译的。

压缩包上传183,版本apache-ant-1.9.1-bin

安装:直接解压apache-ant-1.9.1-bin.tar.gz包即可。编译benchmarksql时在环境变量PATH中添加上解压包的bin路径即可。

编译benchmarksql5.0

# cd benchmarksql5.0

# ant

 

benchmarksql5.0测试步骤

(1)在185上创建benchmarksql的测试用户和数据库

#add polardb user(已完成)

groupadd polardb

useradd -g polardb polardb

huge_pages = on

chown -R polardb /u01/polar1100

cd /u01/polar1100

 

#init database(已完成)

su polardb

cd /u01/polar1100

/u01/polar1100/bin/initdb -D ./data

 

#start database

###database conf,在data/pg_hba.conf下面增加

host    all             all             0.0.0.0/0            trust

###database conf,在data/postgresql.conf下面增加以下配置参数

listen_addresses = '*'

max_connections = 2000

shared_buffers = 10240MB

###start instance

/u01/polar1100/bin/pg_ctl -D /u01/polar1100/data -l /u01/polar1100/logfile start

 

#create test db

/u01/polar1100/bin/psql -h localhost -p 5444

create user benchmarksql with encrypted password 'benchmark';

create database benchmarksql owner benchmarksql;

 

(2)回到测试机的benchmarksql目录,修改配置文件prop.pg(可以先备份配置文件)

#load data(在压力机器上执行)

cd /root/polardb/benchmarksql-5.0/run

cp props.pg props.polar

###修改props.polar

conn=jdbc:postgresql://192.168.56.185:5444/benchmarksql

user=benchmarksql

password=benchmark

warehouses=200

loadWorkers=16

###装载数据

./runDatabaseBuild.sh props.polar

 

(3)建立测试库,并加载数据

 ./runDatabaseBuild.sh props.polar

(4)修改性能测试配置参数(测试机)

/u01/polar1100/bin/psql -h localhost -p 5444 benchmarksql -c 'select now;drop index bmsql_oorder_idx1;select now;'

/u01/polar1100/bin/psql -h localhost -p 5444 benchmarksql -c 'select now;create index bmsql_oorder_idx2 on bmsql_oorder (o

_w_id, o_d_id, o_c_id);select now;'

/u01/polar1100/bin/psql -h localhost -p 5444 benchmarksql -c 'select now;vacuum analyze;select now;'

/u01/polar1100/bin/psql -h localhost -p 5444 benchmarksql -c 'checkpoint;'

###database conf,在data/postgresql.conf下面增加以下配置参数

huge_page = on

maintenance_work_mem = 2GB

synchronous_commit=off

full_page_writes=off

wal_buffers = 512MB

max_wal_senders = 0

wal_level = minimal

wal_compression = on

max_wal_size = 50GB

min_wal_size = 40GB

wal_writer_delay = 200ms                # 1-10000 milliseconds

wal_writer_flush_after = 2MB            # measured in pages, 0 disables

commit_delay = 20

commit_siblings = 5

bgwriter_delay = 20ms

bgwriter_lru_maxpages = 2000

bgwriter_lru_multiplier = 10.0

bgwriter_flush_after = 1024kB

checkpoint_timeout = 240min

checkpoint_completion_target = 0.9

autovacuum = on

autovacuum_naptime = 10min

autovacuum_vacuum_scale_factor = 0.2

autovacuum_analyze_scale_factor = 0.6

autovacuum_freeze_max_age = 1200000000

autovacuum_multixact_freeze_max_age = 1400000000

(5)备份数据目录

(这样以后测试时就不需要删除表再重新加载数据了)

/u01/polar1100/bin/pg_ctl -D /u01/polar1100/data stop -m smart

cd /u01/polar1100/

tar -czf data.tar.gz ./data

(6)测试机记录系统磁盘使用情况,并截图

测试机执行

df-h

 

(7)跑测试,并生成结果,并截图

time ./runBenchmark.sh props.polar

(8) 多次测试

多次测试时,为了测试的准确性,最好删除当前数据目录,然后从4)中备份的数据目录中拷贝一份用于新的测试。或者执行以下步骤,清空数据库,再重建数据库(这样比较耗时间,200个warehouses的库可能需要1个小时以上,因此不推荐)。

 

###########清除上次测试数据############

 ./runDatabaseDestroy.sh props.pg

 

###########还原数据库建库数据############

/u01/polar1100/bin/pg_ctl -D /u01/polar1100/data stop -m immediate

cd /u01/polar1100/

rm -rf /u01/polar1100/data

tar -xzf /u01/polar1100/data.tar.gz

 

#######针对不同连接数设置参数(在压力机上测试)#########

#修改props.polardb

terminals=100/300/500/1000/1500   #100/300/..并发terminal测试

runTxnsPerTerminal=0

runMins=60

limitTxnsPerMin=3000000

 

##执行测试##

cd /root/benchmarksql-5.0/run

Time ./runBechmark.sh props.polar 2>&1 | tee mylog.log

 

 

测试时间以及截图汇总

1.使用nmon16监视并记录数据库服务器资源情况,记录频率为每分钟采集一次,共采集60次,命令:

./nmon -s60 -c60 -f -m /root/a

 

 

2.测试完成后记录TpmC数据结果值,取得nmon工作记录的结果文件。

terminals=100:

 

posted @ 2020-05-14 11:20  渔人张  阅读(696)  评论(0)    收藏  举报