服务端的性能测试(三)

本文章转载于搜狗测试

上一篇我们讲了性能测试的测试工具,当时对大家推荐了性能测试工具Locust,上期评论时候大家反响都很热烈希望看到Locust的使用过程,这期带给大家的就是Locust的使用方法~

Locust的安装过程:

Locust是一个依赖python所以使用Locust的时候必须要有个python的环境,需要注意的是python2.6以下的版本是不知Locust的,而且python3.0及其以上的是暂时不支持Locust的。个人推荐使用的python版本为2.7

当我们有了python环境我们安装Locust就很轻松了,安装一个pip,然后执行下面的命令:

pip install locustio

安装完成如下显示

我们可以执行一下命令来确定安装是否正常

locust -h

以上就是安装Locust的全过程。

Locust安装我们介绍完了,说一下locust的使用过程::

脚本编写:

编写Locust脚本是使用Locust的第一步,也是最关键的一步。

示例:

先来看一个最简单的例子:

from locust import HttpLocust, TaskSet, task

class WebsiteTasks(TaskSet):

@task

def index(self):

self.client.get("/index")

@task

def about(self):

self.client.post("/about")

class WebsiteUser(HttpLocust):

task_set = WebsiteTasks

min_wait = 1000

max_wait = 3000

示例的解释:

从上面的例子可以看出来脚本中主要包含了两个类:WebsiteTasks和WebsiteUser,其中WebsiteTasks 是继承了TaskSet 而WebsiteUser是继承了HttpLocust。事实上我们利用Locust脚本测试的时候,所有的场景都是依赖这两个基类来进行描述的。

那么我们来分析下上述的脚本是什么意思呢。WebsiteTasks类中定义的是指我们测试任务中的具体业务操作,上面的脚本的意思就是访问一个url路径下/index请求和/about请求,其中index的路径是get请求而about路径下是post的请求,其中两个请求最小间隔1000ms最大的间隔为3000ms,两个请求比例为1比1。

运行示例:

当我们写完这个脚本的时候将它保存在一个路径下,打开CMD进入这个路径下执行命令:

locust -H http://www.baidu.com -f locustfile.py

会得到以下的反馈:

这时候locust已经是启动成功,我们打开浏览器输入 http://127.0.0.1:8089/

Number of users to simulate的意思是我们需要多少的并发用户。

Hatch rate (users spawned/second)每秒发送多少请求。

接下来点击Start swarming就可以开始测试啦。

运行结果:

运行的结果直接在网页上就可以查看:

·   其中Statistics是用来查看总体的运行报告

Failures是运行中报错的请求

这样就是使用Locust进行一次压测的全过程, 在locust的运行界面,可以下载当前的运行结果到本地,但是这两份csv中的测试结果不够详细,不利于分析系统的瓶颈,也是locust的不足之处。正常的单机用Locust达到千级的并发数量,所以需要高并发的同学可以抓紧研究下啦~下期大家期望讲点什么的话可以在底下留言评论~

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

推荐阅读更多精彩内容

  • Locust文件就是一般的Python文件。唯一的需求就是它至少需要一个继承于Locust的类. Locust类 ...
    Yuan_Jie阅读 3,981评论 0 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,544评论 25 707
  • Locust是什么? Locust 是一个开源负载测试工具。使用 Python 代码定义用户行为,也可以仿真百万个...
    zychen143阅读 7,000评论 1 2
  • 今天在微信上碰到一个人,因为不认识吗,聊了几句之后,我就问他你是做什么的。他说你问这个干嘛,不说。然后我就以为是冒...
    f9d3b6cba36a阅读 209评论 0 0