Ngrinder-python多接口按照比例进行压测,评估服务容量

lib文件夹下的配置文件和具体压测接口脚本

  1. 接口比例配置:config.py
  2. 接口脚本
# -*- coding: utf-8 -*-
 
 
#cookies = []
#userids = []
 
#infile = open("./resources/test_auth_1W.txt", 'rb')
#for line in infile.readlines():
#    userids.append(line.strip().split(",")[0])
#    cookies.append(line.strip().split(",")[1])
#infile.close()
 
# 混合接口:比例配置
dicts = {
    "api_01":10,"api_02":90
    }

主脚本mix.py

# -*- coding: utf-8 -*-
from net.grinder.script.Grinder import grinder
from java.util import Random
from config import dicts
 
#创建压测任务时选择的执行脚本,无需进行变更
scripts = []
total_percent = 0
excute_dicts = {}
for i in dicts:
    scripts.append(i)
    percent = dicts[i]
    excute_dicts[i] = [total_percent, total_percent + percent]
    total_percent += percent
 
for script in excute_dicts: exec("import %s" % script)
 
def createTestRunner(script):
    exec("x = %s.TestRunner()" % script)
    return x
 
class TestRunner:
 
    def __call__(self):
        random_num = Random().nextInt(total_percent)
        #print(total_percent)
        #print(random_num)
        for i in excute_dicts:
            if excute_dicts[i][0] <= random_num and  random_num < excute_dicts[i][1]:
                #print(i)
                self.testRunner = createTestRunner(i)
                self.testRunner()

如何设置不同接口的实例名称?

#实例名称不一样在压测平台才能看到多接口压测曲线:

  1. 接口1脚本内设置:test1 = Test(1, "casename1")
  2. 接口1脚本内设置:test2 = Test(2, "casename2")

如何在ngrinder上看到不同接口的请求折线图?

  1. 各个接口脚本对应的test实例名称不同
  2. 压测配置的高级配置中Connection reset on each test run=3

折线图效果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miss糖豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值