负载测试是性能测试基础手段之一,通过模拟用户负载验证系统表现;压测定极限聚焦测试关键目标,加压探寻系统性能上限;性能寻短板直指测试最终目的,定位系统性能缺陷与瓶颈。接下来我们就一起来看下loadrunner使用教程之如何做数据性能测试。
一、前期准备
环境配置:安装loadrunner2021,安装对应数据库客户端,配置ODBC数据源(控制面板→管理工具→ODBC数据源,添加系统DSN并测试连接。
权限与账号:确保数据账号有执行目标SQL、查看性能指标的权限;准备测试数据(如批量插入测试表)
明确指标:响应时间、吞吐量(TPS)、并发数、CPU/内存/IO、锁等待、慢查询等
二、脚本开发(核心步骤)
方式1:ODBC协议直连(精准压测数据库)
打开VuGen→新建脚本→选择Database→ODBC协议
编写脚本(关键函数)
参数化:对SQL中的变量(如用户ID)参数化,避免数据重复。步骤:选中变量→右键Replace with Parameter→创建参数文件(CSV)→设置取值方式(顺序/随机)
关联:若SQL结果作为后续输入,用lr_db_getvalue提取结果集中的数据
事务与检查点:用lr_start_transaction("查询用户")和lr_end_transaction("查询用户",LR_AUTO)标记事务,用lr_db_check验证结果准确性
方式2:JDBC协议(Java用户优先)
新建脚本→Database→JDBC协议,添加数据库驱动包(如mysql-cinnector-java.jar)daoclasspath
编写java脚本,通过JDBC API连接数据库并执行SQL,与ODBC逻辑类似。
方式3:应用层间接压测(模拟用户操作触发SQL)
选择对应协议,录制用户操作,脚本中会包含触发数据库的请求。
优化脚本:参数化、关联动态值(如sessionID)、添加事务没简介压测数据库
三、脚本增强与优化
单步运行脚本,检查连接是否成功、SQL是否执行正确、参数化是否生效
用lr_rendezvous设置集合点,模拟并发请求(如100用户同时执行查询)
添加思考时间lr_think_time(3),更真实模拟用户行为
禁用无关日志,提升脚本执行效率
四、场景设计与执行
打开Controller→新建场景→添加脚本→设置并发用户数、持续时间、加载模式(如阶梯式加压:10→50→100用户,每级停留5分钟
配置负载生成器:选择本地或远程负载生成器,确保网络畅通
监控配置
-数据库监控:添加Database Resource监控,选择数据库类型,输入连接信息,监控CPU、内存、磁盘IO、锁等指标
-系统监控:添加Windows/Linux Resource监控,监控服务器资源
执行场景:启动场景,实时观察吞吐量、响应时间等指标,出现异常及时停止
五、结果分析
场景结束后,打开Analysis→生成报告,重点分析
-事务摘要:通过率、平均响应时间、90%/95%/99%响应时间
-吞吐量:TPS趋势,判断系统瓶颈
-数据库指标:慢查询数量、锁等待时间、IO利用率、定位数据瓶颈
优化建议:针对慢查询优化SQL、田间索引、调整数据库参数
六、进阶技巧与避坑
批量执行:用lr_db_executeSQLStatement执行批量SQL,提升压测效率
连接池复用:在vuser_init中建立连接,vuser_end中释放,避免频繁创建/关闭连接
避坑点
-脚本中不要硬编码密码,用参数化或加密方式处理
-压测前备份数据库,避免测试数据污染生产环境
-监控数据库时,避免监控语句本身影响性能(如减少监控频率)
以上便是关于loadrunner使用教程之如何做数据性能测试的相关内容,想获取技术支持、loadrunner下载试用、租赁、购买等服务,欢迎随时与我们进行联系。
