PanWeidb-使用BenchmarkSQL对磐维数据库进行压测

news/2025/1/16 0:24:32/

本文提供PanweiDb使用BenchmarkSQL进行性能测试的方法和测试数据报告。

BenchmarkSQL,一个JDBC基准测试工具,内嵌了TPC-C测试脚本,支持很多数据库,如PostgreSQL、Oracle和Mysql等。

TPC-C是专门针对联机交易处理系统(OLTP系统)的规范,一般情况下我们也把这类系统称为业务处理系统。几乎所有在OLTP市场提供软硬平台的国外主流厂商都发布了相应的TPC-C测试结果,随着计算机技术的不断发展,这些测试结果也在不断刷新。

*一、TPC-C 标准测试概述*

*1.模拟 5 种事务处理*

****1)新订单(New-Order)****事务内容:对于任意一个客户端,从固定的仓库随机选取 5-15 件商品,创建新订单.其中 1%的订单要由假想的用户操作失败而回滚。(主要特点:中量级、读写频繁、要求响应快)

*2)支付操作(Payment*****)****事务内容:对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用户,采用随机的金额支付一笔订单,并作相应历史纪录。(主要特点:轻量级,读写频繁,要求响应快)

*3)订单状态查询**(**Order-Status*****)****事务内容:对于任意一个客户端,从固定的仓库随机选取一个辖区及其内用户,读取其最后一条订单,显示订单内每件商品的状态。(主要特点:中量级,只读频率低,要求响应快)

*4)发货**(**Delivery*****)****事务内容:对于任意一个客户端,随机选取一个发货包,更新被处理订单的用户余额,并把该订单从新订单中删除。(主要特点:1-10 个批量,读写频率低,较宽松的响应时间)

*5)库存状态查询**(**Stock-Level*****)****事务内容:对于任意一个客户端,从固定的仓库和辖区随机选取最后 20 条订单,查看订单中所有的货物的库存,计算并显示所有库存低于随机生成域值的商品数量。(主要特点:重量级,只读频率低,较宽松的响应时间)

*每个Warehouse数据量约为:76823.04KB。*

TPC-C 测试指标

TPC-C测试的结果主要有两个指标,即****流量指标(Throughput,简称tpmC)和性价比(Price/Performance,简称Price/tpmC)****。

*1)流量指标(Throughput,简称tpmC):* 按照TPC组织的定义,流量指标描述了系统在执行支付操作、订单状态查询、发货和库存状态查询这4种交易的同时,每分钟可以处理多少个新订单交易。所有交易的响应时间必须满 足TPC-C测试规范的要求,且各种交易数量所占的比例也应该满足TPC-C测试规范的要求。在这种情况下,流量指标值越大说明系统的联机事务处理能力越高。

****2)性价比(Price/Performance,简称Price/tpmc):****即测试系统的整体价格与流量指标的比值,在获得相同的tpmC值的情况下,价格越低越好。

*做TPC-C测试的目的主要有两点:*

1)贴近生产环境进行实际操作(TPC-C可以提供类似这样的环境)。

2)通过TPC-C测试结果可以清晰的了解数据库的性能等信息

测试时覆盖了如下场景:

序号类别评价指标指标类型
148核x86服务器下数据库性能一主二备场景性能Tpcc 1000仓指标

硬件环境

序号设备名称数量配置设备用途及说明
1数据库服务器1CPU:2* Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz、48C、x86_64 内存:250GB*, 2*400* MT/s, DDR4, DIMN,Samsung **网卡:210GbE、21GbE 硬盘(系统盘):446.1G HDD **硬盘(数据盘)5T HDD、**硬盘(备份盘)5T HDD、*硬盘(归档盘)1T HDD、数据库节点
2执行服务器1CPU:4 * Intel® Xeon® CPU E7-4820 v3 @ 1.90GHz、80C、x86_64 内存:503G*, 2666 MT/s, DDR4, DIMN,Micron** *网卡:210GbE、2*1GbE 硬盘(系统盘):446.1G HDD 硬盘(数据盘)2.6T HDD、2 1.5T SSD测试压力机

软件环境

序号软件名称版本号软件用途及简介
1BigCloud Enterprise LinuxBigCloud Enterprise Linux For Euler release 21.10 (LTS-SP2)操作系统软件版本
2PanWeiDBPanWeiDB_V2.0-S2.0.3_B01数据库版本
3Benchmarksql5.0TPCC测试工具

参数调优(是否调整,请根据实际情况选择)

调优方法
在性能测试过程中会对数据库、OS的各项参数进行调优,来达到最优的性能水平。
3.1操作系统调优
1.irq balance 关闭 2.关闭透明大页3. 数据库分盘 
环境有两块以上SSD 盘,可将pg_xlog 与其他数据分盘存储。 
pg_xlog 存储在 sdb 盘,即/data1,数据库 data 目录存储在 sdc 盘。 
再在/data 目录创建 pg_xlog 的软连接 
ln -svf /data1/XXX/pg_xlog /data2/XXX/data/
4、网络中断调优5、关闭防火墙6、调节 limit 资源限制
修改/etc/security/limits.conf 文件并重连 session 生效 3.2数据库参数调优
max_connections = 4096
allow_concurrent_tuple_update = true
audit_enabled = off
cstore_buffers = 16MB
enable_alarm = off
enable_codegen = false
enable_data_replicate = off
full_page_writes = off
max_files_per_process = 100000
max_prepared_transactions = 2048
shared_buffers = 350GB
use_workload_manager = off
wal_buffers = 1GB
work_mem = 1MB
transaction_isolation = 'read committed'
default_transaction_isolation = 'read committed'
synchronous_commit = on
fsync = on
maintenance_work_mem = 2GB
vacuum_cost_limit = 10000
autovacuum = on
autovacuum_mode = vacuum
autovacuum_max_workers = 20
autovacuum_naptime = 5s
autovacuum_vacuum_cost_delay = 10
update_lockwait_timeout = 20min
enable_mergejoin = off
enable_nestloop = off
enable_hashjoin = off
enable_material = off
wal_log_hints = off
log_duration = off
checkpoint_timeout = 15min
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_scale_factor = 0.02
enable_save_datachanged_timestamp = false
enable_double_write = on
enable_incremental_checkpoint = on
enable_opfusion = on
advance_xlog_file_num = 100
track_activities = off
enable_instr_track_wait = off
enable_instr_rt_percentile = off
track_counts = on
track_sql_count = off
enable_instr_cpu_timer = off
plog_merge_age = 0
session_timeout = 0
enable_instance_metric_persistent = off
enable_logical_io_statistics = off
enable_page_lsn_check = off
enable_user_metric_persistent = off
enable_xlog_prune = off
enable_resource_track = off
instr_unique_sql_count=0
remote_read_mode=non_authentication
wal_level = archive
hot_standby = off
hot_standby_feedback = off
client_min_messages = ERROR
log_min_messages = FATAL
enable_asp = off
enable_bbox_dump = off
bgwriter_flush_after = 32
wal_keep_segments = 1025
enable_bitmapscan = off
enable_seqscan = off
enable_beta_opfusion=on
checkpoint_segments=8000
enable_stmt_track=false
bgwriter_delay = 5s
incremental_checkpoint_timeout = 5min
xloginsert_locks = 16
wal_file_init_num = 20
pagewriter_sleep = 10ms
注意:上面的参数可以直接复制到数据库配置文件的末尾,数据库重新启动时,配置参数有重复时,只会加载最后参数值。

marksql安装依赖软件包

1、安装benchmarksql 依赖
yum install gcc glibc-headers gcc-c++ gcc-gfortran readline-devel  libXt-devel pcre-devel libcurl libcurl-devel -y
yum install ncurses ncurses-devel autoconf automake zlib zlib-devel bzip2 bzip2-devel xz-devel -yyum install gcc -y
yum install glibc-headers -y
yum install gcc-c++ -y
yum install gcc-gfortran -y
yum install readline-devel -yyum install libXt-devel -y
yum install pcre-devel -y
yum install libcurl -y
yum install libcurl-devel -yyum install ncurses -y
yum install ncurses-devel -y
yum install autoconf -y
yum install automake -y
yum install zlib -y
yum install zlib-devel -y
yum install bzip2 -y
yum install bzip2-devel -y
yum install xz-devel -yyum -y install java-1.8.0-openjdk-devel.x86_64
yum install ant -y2、安装R语言 依赖yum install pango-devel -y
yum install pango -y
yum install libpng-devel -y
yum install cairo -y
yum install cairo-devel -y

安装R语言

tar -zxf R-3.6.3.tar.gz
cd R-3.6.3
./configure && make && make install## 如果需要重新安装,请参考以下步骤 ##
make uninstall
./configure
make
make install

编译安装htop

xz -d htop-3.3.0.tar.xz
tar xvf htop-3.3.0.tar
cd htop-3.0.5
./autogen.sh && ./configure && make && make install

检查安装情况

[root@localhost ~]# ant -version
Apache Ant(TM) version 1.9.4 compiled on November 5 2018[root@localhost ~]# java -version
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (build 25.402-b06, mixed mode)[root@localhost ~]# htop --version
htop 3.3.0[root@localhost ~]# R --version
R version 3.6.0 (2019-04-26) -- "Planting of a Tree"
Copyright (C) 2019 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)如遇
[prome@spdbxt-

http://www.ppmy.cn/news/1563460.html

相关文章

《拉依达的嵌入式\驱动面试宝典》—操作系统篇(一)

《拉依达的嵌入式\驱动面试宝典》—操作系统篇(一) 你好,我是拉依达。 感谢所有阅读关注我的同学支持,目前博客累计阅读 27w,关注1.5w人。其中博客《最全Linux驱动开发全流程详细解析(持续更新)-CSDN博客》已经是 Linu…

【大数据】机器学习-----线性模型

一、线性模型基本形式 线性模型旨在通过线性组合输入特征来预测输出。其一般形式为: 其中: x ( x 1 , x 2 , ⋯ , x d ) \mathbf{x}(x_1,x_2,\cdots,x_d) x(x1​,x2​,⋯,xd​) 是输入特征向量,包含 d d d 个特征。 w ( w 1 , w 2 , ⋯ ,…

2501,wtl显示html

原文 在MFC程序中有专门封装的CHTMLView来显示超文本文件,如果在对话框中显示网页可用CDHTMLDialog,甚至可实现多页超文本向导风格的对话框,但是在WTL中却没有单独封装超文本的对应控件,这是因为COM组件的使用和编写本来就是ATL的强项,WTL扩展的是ATL欠缺的桌面应用的功能部分…

Kafka消费者如何优雅下线

一、背景 我们在Kafka消费程序中,可能会调用dubbo接口,也可能会使用线程池,连接池等,但是在服务下线的时候,kafka的消费总是会报错。比如dubbo接口就会抛出异常RpcException: The channel is closed. 这说明kafka还在…

uniapp火车票样式

<template><view class"train-ticket"><view class"header"><view class"header-left"><text class"logo">铁路</text><text class"ticket-type">电子客票</text></vie…

C#中颜色的秘密

颜色的秘密: 颜色Color是一个调色板, 所有颜色都是由透明度Alpha,红Red,绿Green,蓝Blue按不同比例调色混合而成,如果不考虑透明度Alpha,颜色共有256*256*25616777216种 ColorARGB A,R,G,B都为byte型[8位],因此可以用整体的32个整数[Int32]来表示一种颜色 Color 所属命名空…

Spring bean的生命周期和扩展

接AnnotationConfigApplicationContext流程看实例化的beanPostProcessor-CSDN博客&#xff0c;以具体实例看bean生命周期的一些执行阶段 bean生命周期流程 生命周期扩展处理说明实例化:createBeanInstance 构造方法&#xff0c; 如Autowired的构造方法注入依赖bean 如UserSer…

利用 NATIVE SQL 实现不区分供应商名字大小写进行模糊查询

公司有个需求 &#xff0c;当按用英文名字来进行查询时&#xff0c;可以实现不区分供应商名字大小写进行模糊查询。 例如&#xff1a;如果用户输入‘br’ 那么可以查出名字含有 ‘BR’、‘bR’、‘Br’ 、‘br’ 的供应商来。利用SAP 常规的 Open SQL 是实现不了的。 只能利用…