接口性能测试

性能测试的准备

一、压测的需求

需求来源
1.测试功能时发现接口的性能没法承受当前的用户量

2.开发评估到自己的代码存在性能上的问题

3.实际线上的用户使用时导致业务在性能上有问题

4.为了预防未来用户量增大的压力,提前做好性能测试

需求的具体说明
1.分析哪些场景涉及到性能

2.分析哪些接口的调用量过高

汇总以上的分析后,列出所有需要进行性能测试的接口

二、链路分析

接口的链路分析
1.为何要分析接口的链路?
答:目前,因为很多的项目都是微服务的架构,所以一个接口经常会通过很多的微服务项目,只有分析了接口的链路之后,才知道这个接口通过了哪些系统,哪些系统会对这个接口有所影响,才能找到性能的瓶颈

2.谁去分析接口的链路?
答:开发(测试想要去了解也是可以的)

3.执行:对接口进行基本的说明;列出链路中每个经过的系统的cpu、内存、pod数,以及数据库的连接数、cpu、内存,甚至还有服务器的弹性伸缩数量、cpu利用率、cpu核数估算

4.大家都做好物理实验,要做实验,就要记录数据,记录数据就要实验报告模版;
这里也一样:最好是把整个链路的说明都列出来,然后形成一个表格,同时也方便记录测试的数据

参考这个表格:https://docs.qq.com/sheet/DYW5RV2VjYm1tUnRU?tab=jgystm&_t=1612404896659
三、压测的准备

测试数据
1.需要测试的数据:课程、专栏、红包、优惠券等等,需要提前创建的,或者在脚本中需要使用到的,必须先准备好

测试脚本
1.对需要测试的接口编写好对应的接口的压测脚本

测试工具&资源
1.确认好压测的环境,是否是在运维系统上,还是说需要在其他的服务器上,或者在本地

2.确认好压测的工具,这个一般就是要跟着脚本来走的,具体的工具也必须要提前部署好在对应的压测环境上

3.和运维组提前沟通好,压测时需要的服务器资源

风险分析
1.评估压测的数据风险:压测后,是否会产生线上的脏数据,如果有,如何进行清除

2.尽可能的避免线上的脏数据的产生,可以尽可能的使用机器人号

3.压测后对线上环境产生的影响范围,需要评估好,然后列出需要回归的列表;假设不能评估很准确的影响范围,那就全平台进行回归

总结:确保压测后,线上环境恢复正常

注意
1.一定要先设计好压测时需要观察的数据,同时功能的正常使用是非常重要的

性能测试的工具(locust)

一、locust的基本介绍

1.locust,简单来说:是一个简单易用的分布式用户负载测试工具。它用于web站点(或其他系统)的负载测试,并计算一个系统可以处理多少并发用户
在这里插入图片描述

官方文档为标准:https://docs.locust.io/en/stable/
二、接口的压测脚本示例
#!/usr/bin/env python
# coding:utf-8

import time
from random import randint
from locust import HttpLocust, TaskSet, task
from collections import namedtuple
import jwt
import logging


# 虾哥的永不过期token
XaToken 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值