何东升 发表于 2024-9-18 14:32
  
感谢分享,有助于工资和学习!
九天独行侠 发表于 2024-9-19 11:16
  
感谢分享,有助于工资和学习!
何东升 发表于 2024-9-19 11:33
  
感谢分享,有助于工资和学习!
【HCI】数据库性能测试
  

九五二七 105605人觉得有帮助

{{ttag.title}}
本帖最后由 九五二七 于 2023-6-7 00:01 编辑

1.测试指标
TPC(Transaction Processing Performance Council)是一家非营利性公司,旨在确定交易处理和数据库基准,并向业界传播客观、可验证的TPC性能数据。
TPC包含多种测试基准,常见的有TPC-A、TPC-C和TPC-H等。由于TPC-C具有多种事务类型,更复杂的数据库和总体执行结构,TPC-C与TPC-A不同且更为复杂。
事务
事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时。
TPS
Transaction Per Second,数据库每秒执行的事务数,以commit成功次数为准。
TPM
Transactions Per Minute,即服务器每分钟处理的事务数,被广泛用于衡量计算机系统的事务处理能力。这个数值是TPS*60。
QPS
Query Per Second,数据库每秒执行的SQL数,包含insert、select、 update、delete等。
2.测试模型设计
1.计算压力型
推荐32vCPU 128G以上规格的数据库虚拟机测试。可选用Oracle单机、RAC架构的数据库进行测试。采用SwingBench初始化10G数据,约占用30GB数据空间,耗时10分钟左右。事务间隔 0ms ,每次测试需持续10分钟以上,记录TPS、TPM值。
业务比例:
用户注册(Customer Register):1
更新用户信息(Update Customer):1
浏览商品(Browse Products):85
订购商品(Order Products):5
处理订单(Process Orders):3
浏览订单(Browse Orders):5
2.磁盘I/O压力型
推荐32vCPU 128G以上规格的数据库虚拟机测试。可选用Oracle单机、RAC架构的数据库进行测试。采用SwingBench初始化100G数据,约占用320GB数据空间,耗时2小时左右。事务间隔 0ms ,每次测试需持续10分钟以上,记录TPS、TPM值。
业务比例:
用户注册(Customer Register):10
更新用户信息(Update Customer):10
浏览商品(Browse Products):35
订购商品(Order Products):35
处理订单(Process Orders):5
浏览订单(Browse Orders):5
3.创建数据库
请参考【HCI】Oracle数据库测试帖子中有十分详细的步骤,此处不再赘述
4.测试步骤
4.1导入压测虚拟机
Oracle数据库性能测试是需导入虚拟机“CentOS7_RDS_Client_3.2.vma”,可以通过HCI导入成一个普通虚拟机,也可通过SCP导入镜像,再创建虚拟机(分配8c16G资源)。此虚拟机已内置Oracle客户端工具以及Swingbench压测工具。
需确保压测虚拟机和数据库处于二层网络,减少网络对压测的影响。
4.2打开压测虚拟机
将下载的客户端虚拟机“CentOS7_RDS_Client_3.2”导入到云平台,配置网络和IP,使其能够和Oracle数据库虚拟机正常通信。swingbench压测工具只有26M大小,也可自行部署操作系统,安装压测工具。登录到客户端虚拟机(用户名/密码:sangfor/sangfor)。
4.3执行创建表空间命令
通过sqlplus连接到数据库,创建SOE表空间,注意cts_orac.sql命令在sangfor家目录下。
4.4初始化测试数据
1.在客户端虚拟机,桌面右键选择“Open Terminal”新打开一个终端并输入oewizard,调用初始化程序。
2.Benchmark version选择推荐的2.0版本。
3.由于我们是第一次测试,所以创建Schema
4.根据提示填写信息
5.配置创建Schema的详细信息,这里保持默认即可
6.配置创建Schema时的数据库选项,按照下图的进行配置即可
7. 配置初始化的数据量,这里我们如果测试可以初始化1GB-100G的数据,根据测试模型进行创建
注意:初始化数据量越大,初始化所需的时间越长,初始化100G数据需用时约2小时
8.选择swingbench客户端的线程数:这里选择2倍的客户端的CPU线程数,最后直接点击“finish”,开始初始化数据
9.当temp表空间较小时,会弹出提示,选择“Yes”继续初始化
10.初始化的时间比较长,10G的数据需要10分钟左右,100G的数据需要2小时左右
11.以下为完成初始化数据的提示,点击“ok”,关闭oewizard进程
4.5开始测试
1.测试虚拟机中打开终端,执行swingbench命令调用测试程序。配置用户名、密码和连接字符串以及测试模型等信息。
Number of users:并发数,每个并发占用约10MB PGA内存。
Delay: 将每个交易的最小间隔时间改为0ms,最大间隔时间改为0ms
2.配置交易模型,具体内容请考测试模型章节
3.修改完毕后点击上边的开始测试按钮开始测试,开始按钮点击后由绿变灰,结束键是其右侧的红色方块。
注:tpm和tps曲线稳定后既是当前并发下准确的tpm、tps值,就可以结束当前并发下的压测,调整并发用户数后重新开始新一轮压测,如下图,1200并发下tpm是2065971,tps是35776。
4.测试完成后可以修改并发数或者数据库规格继续测试,步骤都是一样的此处不再赘述。

打赏鼓励作者,期待更多好文!

打赏
40人已打赏

发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
每日一问
干货满满
【 社区to talk】
新版本体验
技术笔记
功能体验
产品连连看
技术咨询
GIF动图学习
标准化排查
2023技术争霸赛专题
每周精选
通用技术
信服课堂视频
秒懂零信任
自助服务平台操作指引
安装部署配置
排障笔记本
答题自测
原创分享
升级&主动服务
社区新周刊
POC测试案例
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
技术晨报
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
高频问题集锦
全能先锋系列
云化安全能力

本版版主

189
299
979

发帖

粉丝

关注

217
288
151

发帖

粉丝

关注

25
13
5

发帖

粉丝

关注

7
11
24

发帖

粉丝

关注

5
7
7

发帖

粉丝

关注

31
34
45

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人