一键压测工具改造(locust)

本文内容来自“天外归云”大神,原文链接http://www.cnblogs.com/LanTianYou/p/5987741.html,目前只对启动脚本做了一些改造,应该说是,不适用powershell脚本,而使用bat批处理文件执行。之所以这么做,是考虑到powershell脚本运行权限默认没有开启,再者,开启了之后存在一定的风险。故做了这个简单的改造。

结构目录如下:

原来使用的是start.sp1启动脚本,用来调用start_locust.py,而后再由start_locust.py启动locust并载入用例locust_test.py

原powershell脚本如下:

现在要做的是,使用bat批处理文件实现相同功能。其实查看代码,比较简单,就是让用户传入两个参数,然后再将参数传给启动locust的脚本。知道怎么做了,就好办了,bat批处理文件脚本是通过set /p来传入参数的,那么稍微改下就好了。新建文本,重命名为start.bat。右键编辑。写入代码如下:

其实此时功能已经实现,但算不上完美,所有再加点提示,体验就更好了。

比如输入为空提示,为窗口加上标题、时间,

@echo off
:menu
echo 使用说明:
echo 先输入需要压测的网站host,在输入路由,即会自动打开页面、进行压力测试
:start1
title 这是一个一键压测工具,现在时间是:%time%
echo 第一步,请先输入压测网站host(例如:http://www.cnblogs.com)
set /p a=:
if "%a%" == "" goto sorry1
echo 您输入的压测host是:%a%

:start2
title 这是一个一键压测工具,现在时间是:%time%
echo 第二步,然后再输入压测网站host后的路由(例如:/mikasama)
set /p b=:
if "%b%" == "" goto sorry2
echo 您输入的压测路由是:%b%

python .\start_locust.py %a% %b%
pause
goto end

:sorry1
echo Warnning!!!Please enter the host!(eg:http://www.cnblogs.com)
goto start1

:sorry2
echo Warnning!!!Please enter the rout!(eg:/mikasama)
goto start2

:end
echo 不要瞎点,已经开始测试了

 效果如下:

好了,现在可以愉快的玩耍了。注意,目前这个工具只针对单个页面进行压力测试,下一篇再讲如何将locust作为生产力工具,实现关联测试,各种场景如多用户每个用户只执行一次、多用户使用不用参数进行测试等等。

=====================================locust第一部分已完结================================

 

有个想法,也不知道可不可行,用django搭建一个性能测试平台,将locust整合进去。只要点点点就可以进行压力测试,不过听起来有点像是在造轮子,毕竟接口测试的工具实在太多了,比如postman、jmeter等。试想一下,比如我想测试一个接口,先不考虑验签等问题,它需要传5个参数,其中有个参数需要传大量不同数据,现在我只需要将固定的参数填上,而那个需要大量数据的参数,它的value我点击下上传按钮,将已经准备好的csv、excel或者json,都好,上传完毕,选择压力测试运行模式(施压模式,如所有虚拟用户循环使用数据、每个用户只能使用一个等等),点击start按钮,开始压测,并自动跳转到对应监控页面。虽然只是想想,但感觉好激动啊,一旦实现了,那做起性能测试来,太方便啦。而且还可以设计一个接口出来,用来修改脚本,定时器什么的肯定要的,只要有脑洞,都可以做上去吧。

灵感来自于公司运维同学正在做的自动化运维平台,整个运维过程,只要点点点,这种思想其实应该算是来自jenkin吧。当我发现他们正在做这个的时候,特别兴奋,也许,性能测试也可以这么整,于是有了上面的“胡思乱想”。无论如何,试试吧。记在这里,不要忘了此想法,尽快实现。

有个疑问,locust是基于flask的,那么搭这平台用django还是flask呢?打住打住,不要想了,请先动手,谢谢。

 时间:20180127

转载于:https://www.cnblogs.com/mikasama/p/8360759.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Locust是一款用于进行负载和压力测试的开源工具,可以用于测试各种类型的应用程序和协议,包括gRPC。gRPC是一款高性能、跨语言、开源的远程过程调用(RPC)框架,可以用于构建可靠和高效的分布式系统。 要使用Locust进行gRPC压测,需要先安装Locust,并根据测试需求编写相应的脚本。在脚本中,需要定义gRPC的请求和响应,以及压力测试的行为和逻辑。 首先,需要导入必要的库和模块,如grpc、locust等。然后,定义一个gRPC客户端类,用于发送gRPC请求和处理响应。在该类中,可以编写请求和响应的具体逻辑,包括请求参数、协议格式等。 接下来,定义一个Locust的用户类,用于模拟并发访问gRPC服务。该类需要继承Locust的User类,并实现相关的方法,如on_start、on_stop等。在on_start方法中,可以初始化gRPC客户端并建立连接;在on_stop方法中,可以关闭连接和清理资源。 最后,编写一个Locust测试类,用于配置并运行压测任务。在该类中,需要定义并配置相关的性能参数,如并发用户数、每秒请求数等。然后,启动Locust进行测试,可以通过Web界面监控测试的进程和结果。 总结来说,通过使用Locust进行gRPC压测,可以方便地模拟并发访问gRPC服务,验证其性能和稳定性。通过编写相应的脚本和配置相关参数,可以实现多样化的压测场景和测试需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值