本帖最后由 九五二七 于 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.创建数据库 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.测试完成后可以修改并发数或者数据库规格继续测试,步骤都是一样的此处不再赘述。 |