Locust--如何写一个locust脚本

一、性能测试工具的比较:

Loadrunner主要缺点是只能在windows上使用,且并发效率低,单台压力机难以产生较高并发。

Jmeter也存在并发效率低的问题且很容易内存溢出,非GUI模式的数据统计不精确。

Locust采用Pure Python脚本描述,且http协议基于requests库,简洁且功能强大。除了HTTP(S)协议,locust也可以测试其它任意协议的系统。locust采用协程机制,协程和线程的区别在于,协程避免了系统级资源调度,由此大幅提高了性能。

二、Locust的使用:

1. 安装:pip install locustio

2. 先看一段代码(登录及查询报名信息)


脚本中包含两个类:getUserListBehavior(继承了Taskset)和UserList(继承了HttpLocust,HttpLocust又继承了Locust)。

Locust类:具有client属性,可以通过该属性使用python的requests库,执行GET/POST/HEAD/PUT/DELETE/PATCH等方法。

Locust类中还有以下几个属性(见UserList类的代码):

task_set:指向Taskset类(本例为getUserListBehavior)

max_wait/min_wait:每个用户执行两个任务的时间间隔。默认为1s。

host:被测系统的域名,设置时启动locust可以在终端不必输入—host参数

Taskset是个任务集合,对虚拟用户的所有行为(任务)进行组织和描述,并可以对不同任务的权重进行配置。

3.  web和no-web形式运行

web方式:

1)locust -H http://debugtalk.com -f demo.py  (脚本中指定了host后不用带-H 参数)

2)浏览器中打开http://localhost:8089,输入并发数和启动虚拟用户速率

no-web方式:

指定—no-web,例如locust -f ccc_getUserList.py  --no-web -r 2 -c3

4.脚本运行(no-web为例):

1)单台压测机(不指定slave)

locust -f ccc_getUserList.py  --no-web -r 2 -c3

2)分布式压测(master-slave)

Master:locust -f ccc_getUserList.py --master  --master-bind-port=5557 --no-web -r 100-c100  --expect-slaves=2

Slave:locust -f ccc_getUserList.py --no-web –slave

部分内容引自:

http://debugtalk.com/post/head-first-locust-user-guide/

http://debugtalk.com/post/head-first-locust-advanced-script/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,561评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,218评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,162评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,470评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,550评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,806评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,951评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,712评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,166评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,510评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,643评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,306评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,930评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,745评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,983评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,351评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,509评论 2 348

推荐阅读更多精彩内容

  • 简介 Locust是一个使用Python编写的可扩展、分布式的开源性能测试工具。 优点 相比于Jmeter、Loa...
    忆江南_1569阅读 2,597评论 1 6
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,827评论 0 5
  • Locust是什么? Locust 是一个开源负载测试工具。使用 Python 代码定义用户行为,也可以仿真百万个...
    zychen143阅读 7,131评论 1 2
  • 他 容颜布满皱纹 黑发白了头 不善言辞却固执如孩子 爱山间的露珠 和 夕阳下的锄头 门口的老黄狗和屋前昏昏欲睡的小...
    太阳没你明亮阅读 229评论 0 0
  • 离开豆瓣很久的时间,最近无意中又开始刷。不知道什么时候开始关注鼹鼠的土豆,又这么机缘巧合的看到鼹鼠的土豆开写作课有...
    Miss瘦瘦小姐阅读 254评论 0 0