基于 Python 的性能测试工具 locust (与 LR 的简单对比)

目录

前言:

背景

基础

测试需求

服务器端

LR 中的测试脚本

locust 中的测试脚本

LR 中的测试过程和结果

Locust 中的测试过程和结果

结果比较

总结


前言:

Locust 是一种开源的性能测试工具,可以帮助我们快速地进行网站、应用程序等的性能测试和压力测试。

背景

最近自己开发了一个小的接口,功能测完了,突然想测下性能,原来做性能测试,我一直用的是 HP 的 LoadRunner,前一段时间正好看过 locust,想想就用这个来测测性能吧。
由于对 LR 比较熟,正好做个对比,这样更利于对新东西的理解。

基础

locust 的官网:Locust - A modern load testing framework

目前 locust 还只支持 Python 2 版本。

测试需求

验证在相同的服务器端的情况下,使用 LR 和 locust 分别进行性能测试,在相同并发用户的情况下,验证平均响应时间,TPS 值等性能测试指标的差异。
为了方便,使用 http 协议,一个 get 请求,一个 post 请求,交易比例为 1:1。

服务器端

为了简单易理解,用 Python 的 bottle 框架写了一个服务器端,2 个交易,一个 get,一个 post 请求,交易中加了 2 个不同的 sleep。
代码如下:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

__author__ = 'among,lifeng29@163.com'

from bottle import *
from time import sleep

app = Bottle()


@app.route('/transaction_1', method='GET')
def tr1():
    sleep(0.2)
    resp = dict()
    resp['status'] = 0
    resp['value'] = 'xxx'
    return resp


@app.route('/transaction_2', method='POST')
def tr2():
    parm1 = request.forms.get('parm1')
    parm2 = request.forms.get('parm2')
    sleep(0.5)
    resp = dict()
    resp['status'] = 0
    resp['value'] = 'yyy'
    return resp


run(app=app, server='cherrypy', host='0.0.0.0', port=7070, reloader=False, debug=False)

服务器端部署在一个单独的 Windows 的机器中,基于 Python 3,启动后,监听 7070 端口。

LR 中的测试脚本

在另外的一个

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值