基于python的性能测试工具–locust

2017-08-14 分类:首页 阅读(399) 评论(0)

        现在有很多的性能测试工具,比如说我们熟悉的loadrunner、jmeter、ab、webbench等等,这些工具如果对一个没用过的朋友来说,学习起来比较不容易,但是如果你能看懂python代码,会写就更好了,就可用尝试一下今天的主角Locust,一款基于python的性能测试工具,它的优点是学习起来比较简单,功能完全自定制,使用比较灵活,支持分布式。

        所有的性能测试工具都至少包含这3块:

              1、压力产生器,也就是可以指定产生多大的压力,多少并发;

              2、数据统计,也就是结果的展示,要统计TPS是多少,响应时间多少等等,这些数据; 

              3、代理功能,代理功能呢说白了就一句话,分摊压力。比如说你压测的时候要用1000个并发,但是你的电脑(压力机)配置比较弱,只支持500并发,再大电脑就死掉了,完犊子,压测不了。那怎么办呢,就得分摊压力,再管你同事借一台电脑,俩电脑发压力,那就可以了,每个人的电脑上500个并发,人多好干活嘛,代理就是干这个的,把这个上面的压力分摊到别的电脑上。

      当然Locust这3个功能都是有的。

        Locust是python的一个第三方模块,安装很简单,直接pip install locust即可,或者自己下载安装包,手动安装。安装完成后,就有locust命令,在命令行里面输入 locust --help,有帮助信息就安装成功了。如下图:

     

locust的官网是 www.locust.io,上面也有怎么安装和例子。

怎么用呢,很简单,只需要几行代码就可以实现,并且有漂亮的web界面,可以设置并发数,和查看结果,首先我们写几行简单的代码,写一个打开BestTest首页的脚本。

                

代码写好了,下面运行一下,看看结果,但是运行的时候不是像一个普通的python脚本一样运行了, 得使用locust命令,在命令行里运行

这样就可以运行,运行完之后,就可以在浏览器里面打开locust的控制台了,locust的默认端口号是8089,运行完之后,访问的时候用ip:8090就可以访问了,如下图:

启动locust:

locust控制台页面:

开始测试后的页面:

tps图和响应时间图:

但是locust不像loadrunner和jmeter一样可以设置开始时间和结束时间,只能你自己点stop的时候停止测试,这一点比较烦,所以在使用过程中还是需要自己注意一下测试时间。

刚才上面写的例子是单个接口压测, 或者更说单场景的,如果想做混合场景的压测,比如说是一个业务流程,先登录、然后下单、购物这样的怎么办呢?

只需要写多个task就可以了,也就是在类里面写多个函数,想谁想执行,标上数字就行了,1,2,3,4代码如下:

关于Locust就说这么多,是不是很简单呢,快去试试吧,有问题的小伙伴可以留言哦~


您可能也喜欢:

爬虫学习笔记(二)http请求详解

上篇博客里面写了,爬虫就是发http请求(浏览器里面打开发送的都是http请求),然后获取到response,咱们再从response里面找到想要的数据,存储到本地。 咱们本章就来说一下什么是http请求,它里面都有哪些东西,我们在写爬虫的时候,怎么http请求里面哪些对我们的爬虫有影响。 http...

more

爬虫学习笔记(一)初识爬虫

什么是爬虫?   爬虫是什么呢,就是地上爬的小虫子,就是爬虫咯。呵呵,开个玩笑,一般说的爬虫都是网络爬虫。那什么是网络爬虫呢,百度百科的解释是这样子的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或...

more

Windows安装Scrapy

Scrapy是python开发的一个爬虫框架,如果你要学习它的话,可能第一步在安装的时候,就会遇到很多问题,因为Scrapy很多模块都是基于linux下的,可能你在mac上或者linux上面安装的时候,不会有什么问题,但是Windows上面安装的话,可能会有各种各样的问题。 这里我就把遇到的问题整理...

more

评论&留言
欢迎新朋友你的到来!
还没有人抢沙发呢~
昵称

登录

忘记密码 ?

切换登录

注册