后端也要了解接口性能测试?

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 事情是这样的,公司有个项目上线之后,在Skywalking的接口监控面板,发现其中一个微服务的接口超时频率很高。

 

事情是这样的,公司有个项目上线之后,在Skywalking的接口监控面板,发现其中一个微服务的接口超时频率很高。

经过一番排查,发现是接口性能不好。

网络异常,图片无法展示
|
编辑

    • 👧 测试同学: 你最近开发的接口高峰期总是超时,5秒都还没返回结果,线上很多接口超时,你自己测试一下看看
    • 👦 后端同学:我排查一下

    一般而言,在交付给测试同学验证前,开发自测是必不可少了,而对于接口性能,因为不同责分工,后端同学往往是简单自测下接口性能,基本上不涉及压测,大部分压测工作都是测试同学在做

    遇到这种情况,其实我们可以对自己的接口进行一个简单的压力测试。

    🍐 压测,关注的点主要有:

      • ⏰ 接口响应时间
      • 👪 并发用户数
      • 🌊 吞吐量
      • ⌛️ TPS(每秒事务处理数)
      • 💻 资源利用率(CPU、内存等)

      压完之后我们再看下服务器的运行情况,下图是以prometheus+granfa作为监控演示

      网络异常,图片无法展示
      |
      编辑

      聊到这里你的测试同学可能会给你推荐Jmeter,那烟花缭乱的配置可以直接劝退你

      因为我们只是做个简单的压测,配置方面关注的点主要

        • 线程数
        • 循环次数
        • 间隔停顿:测试用例之间的间隔时间
        • 持续时间

        而最近在用Apifox做接口管理的时候,发现这个接口工具竟然也有接口性能测试这个功能!

        我只需要在Apifox简单的配置下性能测试参数后,我即可知晓接口性能测试情况

        网络异常,图片无法展示
        |
        编辑

        这里整理了一份教程,带你5分钟带你玩转接口压力测试

        上手

        打开Apifox,并选择左侧Tab面板的自动化测试,点击右侧面板的新建测试用例

        网络异常,图片无法展示
        |
        编辑

        测试用例创建成功之后,点击该测试用例进入详情页,并进行添加步骤,可选择

          • 从接口用例导入
          • 从接口导入

          网络异常,图片无法展示
          |
          编辑

          导入成功之后,数据就会自动填充到测试测试面板中,你可以对需要测试的接口进行选择,最后配置下右边区域的配置

          网络异常,图片无法展示
          |
          编辑

            • 配置循环次数(每个线程运行所有步骤的次数)
            • 配置线程数 (同时并发运行的线程数)
            • 配置间隔停顿 (一个测试用例运行完用,停顿一段时间,在运行下个用例)

            ⏰ 注意事项:只有设置线程数大于1才可实现性能测试。

            对测试用例配置完之后,我们运行后会得到下方的报告,包括总耗时,平均接口请求耗时,循环数等等,同时也可以将报告导出为pdf

            网络异常,图片无法展示
            |
            编辑

            网络异常,图片无法展示
            |
            编辑

             

            最后点击详情可以看到详细的接口测试结果

            网络异常,图片无法展示
            |
            网络异常,图片无法展示
            |

            进阶用法(CICD)

            如果你想在Jenkin或者Gitlab做CICD自动化测试,你可以使用Apifox推出的Apifox CLI

            点击测试用例详情中的持续集成按钮,并新建一个配置,对配置进行编辑后,点击保存就可以生成CLI 命令行,这样你就可以在服务器通过该CLI完成自动化测试

            网络异常,图片无法展示
            |
            编辑

             

            地址: www.apifox.cn

            相关实践学习
            通过性能测试PTS对云服务器ECS进行规格选择与性能压测
            本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
            相关文章
            |
            9天前
            |
            数据可视化 前端开发 测试技术
            接口测试新选择:Postman替代方案全解析
            在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
            |
            10天前
            |
            关系型数据库 MySQL 测试技术
            记录一次后端接口抖动的排查过程
            某天下午,测试新功能时发现页面接口偶尔变慢,平均十次调用中有三到四次出现3秒以上的延迟。排查了接口、数据库和服务器资源后未发现问题,最终锁定为K8s节点的负载均衡策略导致。测试环境仅有一个公网IP,SLB轮询四个Pod(其中三个为空),造成周期性延迟。移除空Pod后问题解决。
            29 5
            |
            9天前
            |
            存储 测试技术 数据库
            接口测试工具攻略:轻松掌握测试技巧
            在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
            |
            9天前
            |
            Web App开发 JSON 测试技术
            API测试工具集合:让接口测试更简单高效
            在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
            |
            1月前
            |
            监控 JavaScript 测试技术
            postman接口测试工具详解
            Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
            109 11
            |
            2月前
            |
            JSON Java 测试技术
            SpringCloud2023实战之接口服务测试工具SpringBootTest
            SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
            86 3
            |
            4月前
            |
            SQL JSON Java
            springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
            本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
            springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
            |
            3月前
            |
            JSON 算法 数据可视化
            测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
            这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
            100 0
            测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
            |
            4月前
            |
            移动开发 JSON Java
            Jmeter实现WebSocket协议的接口测试方法
            WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
            300 7
            Jmeter实现WebSocket协议的接口测试方法
            |
            4月前
            |
            JSON 移动开发 监控
            快速上手|HTTP 接口功能自动化测试
            HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
            312 3
            快速上手|HTTP 接口功能自动化测试