备库搭建
每个备库的observer需要用t-oceanbase-antman做初始化,详见安装文档。
添加主机(这里要注意NTP时间)
在OCP创建集群界面选择备集群
选择需要同步的主集群名称,以及Observer,集群选择方式手动分配
提醒:机器选择方式此处截图有误!
确认提交信息
观察任务完成进度
也可以从系统管理-任务界面查看进度
备集群创建成功,查看集群性能
性能压测
本次使用benchmarkSQL测试数据库在管理类系统下的性能。
下载地址:
https://sourceforge.net/projects/benchmarksql/
下载后放在tmp目录下,并进行解压
unzip benchmarksql-5.0.zip
这里测试的是Oracle租户
create user test identified by oracle;
grant dba to test;
OBServer内核
• root@sys
mysql -uroot@sys#test_cluster -P2883 -h192.168.9.146 -p -c -A Doceanbase
alter system set cpu_quota_concurrency=4;
alter system set enable_pg=true;
alter system set enable_early_lock_release=false tenant=all;
alter system set _max_trx_size=600M;
• 测试租户(Oracle)obclient -h192.168.9.148 -usys@tenant_oracle#test_cluster -p
set global ob_query_timeout=3600000000;
set global ob_trx_timeout=3600000000;
set global max_allowed_packet=67108864;
set global ob_sql_work_area_percentage=100;
set global parallel_max_servers=300;
set global parallel_servers_target=300;
set global ob_create_table_strict_mode=off;
• proxy参数obclient -h192.168.9.148 -P2883 -uroot@proxysys -p
alter proxyconfig set slow_proxy_process_time_threshold=5s;
alter proxyconfig set proxy_mem_limited=8G;
alter proxyconfig set enable_metadb_used=false;
alter proxyconfig set enable_strict_kernel_release=false;
alter proxyconfig set work_thread_num=64;
alter proxyconfig set automatic_match_work_thread=false;
alter proxyconfig set enable_compression_protocol=false;
alter proxyconfig set syslog_level=info;
alter proxyconfig set enable_async_log=true;
db=oracle
driver=com.alipay.oceanbase.obproxy.mysql.jdbc.Driver
// conn=jdbc:oceanbase://xxx.xxx.xxx.xxx:2883/icbc?useUnicode=true&characterEncoding=utf-8
conn=jdbc:oceanbase://xxx.xxx.xxx.xxx:2883/test?useUnicode=true&characterEncoding=utf-8
user=test@tenant_oracle#test_cluster
password=xxxxxx
warehouses=10
loadWorkers=20
//fileLocation=/data/temp/
terminals=10
//To run specified transactions per terminal- runMins must equal zero
runTxnsPerTerminal=0
//To run for specified minutes- runTxnsPerTerminal must equal zero
runMins=1
//Number of total transactions per minute
limitTxnsPerMin=0
//Set to true to run in 4.x compatible mode. Set to false to use the
//entire configured database evenly.
terminalWarehouseFixed=true
//The following five values must add up to 100
newOrderWeight=45
paymentWeight=43
orderStatusWeight=4
deliveryWeight=4
stockLevelWeight=4
// Directory name to create for collecting detailed result data.
// Comment this out to suppress.
resultDirectory=my_result_%tY-%tm-%td_%tH%tM%tS
osCollectorScript=./misc/os_collector_linux.py
osCollectorInterval=1
//osCollectorSSHAddr=user@dbhost
//osCollectorDevices=net_eth0 blk_sda
说明:
仓库数(warehouses )决定了数据量。正式的压测仓库数一般在10000以上。
Loadworkers 数决定了数据加载的性能。如果OceanBase租户资源很小(尤其是内存资源),那加载速度也不要太快;否则容易把租户内存打爆。
并发数(terminals )是后期做TPC-C测试的客户端并发数。这个每次测试都可以调整,以方便不同压力下的性能。
压测时间(runMin)是每次测试时间,越长测试结果越好且稳定。因为有时候数据访问有个预热过程,效果会体现内存命中率上。
注意:
建表语句中的分区数目可以根据实际情况调整,跟集群节点数有关。
如果集群是3台(1-1-1),建议是6个或者6的倍数;如果集群是6台(2-2-2),建议是12个或者12的倍数;如果集群是(3-3-3),建议是36或者36的倍数。这样是方便后期弹性伸缩测试的时候尽可能保证每个节点的分区均衡。
1)修改分区数
cd /tmp/benchmarksql-5.0/run/sql.common
cp tableCreates.sql tableCreates.sql.bak
vi tableCreates.sql
把里面的partitions 180改为partitions 6
2) 建表
Cd /tmp/benchmarksql-5.0/run
./runSQL.sh props.ob ./sql.common/tableCreates.sql
3)加载数据
./runLoader.sh props.ob
数据库性能
主机性能
建索引
./runSQL.sh props.ob ./sql.common/indexCreates.sql
验证数据
select select /*+ parallel(8) */ count(1) from ||table_name||; from user_tables;
select /*+ parallel(8) */ count(1) from BMSQL_CONFIG ;
select /*+ parallel(8) */ count(1) from BMSQL_WAREHOUSE ;
select /*+ parallel(8) */ count(1) from BMSQL_DISTRICT ;
select /*+ parallel(8) */ count(1) from BMSQL_CUSTOMER ;
select /*+ parallel(8) */ count(1) from BMSQL_HISTORY ;
select /*+ parallel(8) */ count(1) from BMSQL_NEW_ORDER ;
select /*+ parallel(8) */ count(1) from BMSQL_OORDER ;
select /*+ parallel(8) */ count(1) from BMSQL_ORDER_LINE;
select /*+ parallel(8) */ count(1) from BMSQL_ITEM ;
select /*+ parallel(8) */ count(1) from BMSQL_STOCK ;
./runBenchmark.sh props.ob
重点关注QPS/TPS、以及相应的RT、增量内存的增加和总量占比等。此外还能看出测试过程中还是有不少物理读IO。
登录test用户执行tableDrops.sql
cd /tmp/benchmarksql-5.0/run/sql.common
obclient -h192.168.9.148 -utest@tenant_oracle#test_cluster -p -P2883
source tableDrops.sql
更多精彩干货分享
点击下方名片关注
IT那活儿
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129820.html
摘要:年月日,迁移服务解决方案在城市峰会中正式发布。迁移服务向分布式架构升级的直接路径基于上述问题和挑战,同时经过蚂蚁十年数据库架构升级的先进经验,蚂蚁金服为客户打造了这款一站式数据迁移解决方案迁移服务,简称。 2019年1月4日,OceanBase迁移服务解决方案在ATEC城市峰会中正式发布。蚂蚁金服资深技术专家师文汇和技术专家韩谷悦共同分享了OceanBase迁移服务的重要特性和业务实践...
摘要:年月日,迁移服务解决方案在城市峰会中正式发布。迁移服务向分布式架构升级的直接路径基于上述问题和挑战,同时经过蚂蚁十年数据库架构升级的先进经验,蚂蚁金服为客户打造了这款一站式数据迁移解决方案迁移服务,简称。 2019年1月4日,OceanBase迁移服务解决方案在ATEC城市峰会中正式发布。蚂蚁金服资深技术专家师文汇和技术专家韩谷悦共同分享了OceanBase迁移服务的重要特性和业务实践...
摘要:技术成就划时代的分布式数据库通过核心业务的不断上线,蚂蚁金服帮助渡过了自研基础软件产品最艰难的应用关。年天猫双十一,支付宝创造了万笔每秒支付峰值的业界新纪录,这对于数据库来说,意味着每秒需要同时运行万条。 技术成就:划时代的分布式数据库 通过核心业务的不断上线,蚂蚁金服帮助OceanBase渡过了自研基础软件产品最艰难的应用关。OceanBase不只是被研发出来的,更是被用出来的,是在...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3597·2023-01-11 13:20