【HCI】数据库性能测试
  

九五二七 46645人觉得有帮助

{{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人已打赏

新手148744 发表于 2023-6-9 15:30
  
【HCI】数据库性能测试
山东_朱文鑫 发表于 2023-6-9 21:43
  
有助于学习!!!!!!!!!!!
zjwshenxian 发表于 2023-6-10 09:14
  
感谢分享,构建全联接的未来
JM 发表于 2023-6-10 21:35
  
文章图文并茂,清晰易懂
刘江 发表于 2023-6-13 08:53
  
楼主分享的案例很实用,具有典型性,希望有更多这样的干货供我们学习参考,非常感谢!
嘀嘀柠柠 发表于 2023-6-13 10:14
  
感谢分享,构建全联接的未来
新手899116 发表于 2023-6-13 12:43
  
感谢分享,作者的内容非常的翔实
好懒 发表于 2023-6-13 14:25
  
楼主的文章图文并茂,清晰易懂,看完这波操作可以轻松上手了,如遇到问题再向楼主请教~
gqce 发表于 2023-6-14 17:01
  
感谢分享
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
功能体验
产品连连看
新版本体验
GIF动图学习
2023技术争霸赛专题
自助服务平台操作指引
标准化排查
运维工具
信服课堂视频
通用技术
秒懂零信任
技术晨报
用户认证
安装部署配置
安全攻防
SDP百科
设备维护
深信服技术支持平台
社区帮助指南
答题自测
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

217
274
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人