一次编译服务器性能,服务端的性能测试(三)

原标题:服务端的性能测试(三)

点击

“搜狗测试”

可关注我们!

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

Locust的安装过程:

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

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

pip install locustio

安装完成如下显示

73828418a14a6c294aab6d3f9cd475cd.png

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

locust -h

9c7bf70fc1b2062401450fdc610b410b.png

以上就是安装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/

0e439ca6f1b4f4ca4b4070d33b371c9e.png

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

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

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

运行结果:

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

10195484680134bf2081b1cbae8ab03a.png

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

Failures是运行中报错的请求

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

关于方案评估,如存在疑问、建议 ,欢迎各位扫码加群或下方留邮箱、留言哦~~

责任编辑:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值