性能测试初探---接口性能测试

本文深入探讨接口性能测试,包括性能指标如TPS、RT和VU,利用LoadRunner进行脚本编写、测试运行及结果分析,并介绍了PTS与开源工具Gatling、nGrinder的使用和特性。
摘要由CSDN通过智能技术生成

(一).性能指标

PV: PageView, 页面浏览量或点击量,用户每次刷新即被计算一次;用户的一次刷新,给服务器造成了一次请求。

UV: UniqueVisitor, 访问你网站的一台计算机客户端为一个访客,0:00 - 24:00 内相同的客户端仅记一次。

TPS: Transaction Per Second 每秒系统处理的交易或事物的数量,衡量系统处理能力的重要指标。

RT: 响应时间,从客户端发送一个请求开始,到客户端接收到从服务器返回的响应结果结束所经历的时间,包括请求发送时间,网络传输时间和服务器处理时间三部分。

VU: Virtual User, 模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤被记录在虚拟用户脚本中,通常使用并发实现。

TPS波动: 系统性能依赖于特定的硬件、软件代码、应用服务、网络资源等,所以在性能场景执行期间,TPS可能会表现为稳定,或者波动,抑或遵循一定的上升或下降趋势。用TPS波动系数来记录这个指标值。

CPU: CPU资源是指性能测试场景运行的这个时间段内,应用服务系统的CPU资源占用率。CPU资源是判断系统处理能力以及应用运行是否稳定的重要参数。

Load: 系统正在干活的多少的度量,队列长度。系统平均负载,被定义为在特定时间间隔(1m,5m,15m)内运行队列中的平均进程数。

I/O: I/O可分为磁盘IO和网卡IO。

JVM: 即java虚拟机,它拥有自己的处理器、堆栈、寄存器等,还有自己相应的指令系统。Java应用运行在JVM上面。

GC: GC是一种自动内存管理程序,它主要的职责是分配内存、保证被引用的对象始终在内存中、把不被应用的对象从内存中释放。FGC会引起JVM挂起。

网速: 网络中的数据传输速率,一般以Byte/s为单位。通过ping延时来反映网速.

流量: 性能测试中,一般指单位时间内流经网卡的总流量。分为inbound和outbound,一般以KB为单位。

VU(并发压测用户数) = TPS(每秒执行事务数) × RT(响应时间)

在寻找合适的并发用户数上,建议使用PTS(淘宝性能自动化:https://pts.aliyun.com/lite/index.htm?spm=0.0.0.0.8t95Nt)的“梯度模式”,逐渐增加并发用户数,这个时候压力也会越来越大,当TPS的增长率小于响应时间的增长率时,这就是性能的拐点,也就是最合理的并发用户数;当TPS不再增长或者下降时,这个时候的压力就是最大的压力,所使用的并发用户数就是最大的并发用户数。如果此时的TPS不满足你的要求,那么就需要寻找瓶颈来优化。
这里写图片描述

a点:性能期望值

b点:高于期望,系统安全

c点:高于期望,拐点

d点:超过负载,系统崩溃

(二).LoadRunner统计接口性能数据

LoadRunner分成3步:
1. Create/Edit Scripts;
2. Run Load Tests;
3. Analyze Test Results;

第一步:编写脚本(GET请求)

新建 New Scrips, 选择Web(HTTP/HTML)协议,因为不是对页面测试,无需记录操作,在“Start Recording”弹窗中,选择Cancel。
手动编写脚本:

Action()
{
    web_set_max_html_param_len("10240");

    // 关键词Text的value值为在请求返回的结果中搜寻的字符串
    // 关键词SaveCount的value值为在结果中找到Text文本内容的个数
    web_reg_find("Text={\"statuses\":",
             "SaveCount=Count",
              LAST);


    // 自定义事务unread_friends_timeline_reload,起始点
    lr_start_transaction("unread_friends_timeline_reload");
    // basic认证,在头信息添加Authorization值,变量authorization参数化
    web_add_header("Authorization","{authorization}"); 
    // http请求
    web_custom_request("web_custom_request",
        "URL=http://ip:port/2/statuses/unread_friends_timeline.json?source=******",
        "Method=GET",
        "RecContentType=application/json",
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值