python测试电脑性能的代码_python学习笔记(locust性能测试模块)

locust是基于python的性能测试工具、支持python2.7及其以上的版本、相对于主流的LR与Jmeter工具使用的方式不一样、locust是通过编写python代码来完成性能测试的。

通过LR与Jmeter都是一个特定平台、我们只能在这个平台上使用、局限性很大。但是利用locust通过python可以进行性能测试的同时,也能掌握python语言的使用,且因为是开发语言,测试过程中可以编写自己需要的功能内容。

博主这里就简单的整理下如何使用locust模块,主要的三个类: HttpLocust, TaskSet, task

TaskSet是任务类、定义待测试的任务代码集如下的UserBehavior的类,task是子任务方法

#-*- coding: utf_8 -*-#文件名称:main_pt.py#locust基础性能测试模板#时间:2017-10-19

from locust importHttpLocust, TaskSet, taskimportsubprocessimportjson#性能测试任务类 TaskSet.

classUserBehavior(TaskSet):#开始

defon_start(self):pass

#任务

@task(1)defgetTagVals(self):

u"""request_url:请求路径

request_params:请求头参数

request_json:请求json参数"""request_url= "/xxx/tag/getTagVals" (待测试的路径)request_params={"nonce": "abcdefg","_type": None,"target": "CLNJ01","timestamp": 1507860000,"apiId": "EC","apiSign": "D41D8CD98F00B204E9800998ECF8427E"}

request_json={"tagKey": 25}

response=self.client.post(

url=request_url,

params=request_params,

json=request_json

)if response.status_code != 200:print u"返回异常"

print u"请求返回状态码:", response.status_codeelif response.status_code == 200:print u"返回正常"

#这里可以编写自己需要校验的返回内容

#content = json.loads(response.content)["content"]

#if content["tagKey"] == 25:

#print u"校验成功"

#print json.dumps(content, encoding="UTF-8", ensure_ascii=False)

#性能测试配置

classMobileUserLocust(HttpLocust):

u"""min_wait :用户执行任务之间等待时间的下界,单位:毫秒。

max_wait :用户执行任务之间等待时间的上界,单位:毫秒。"""

#weight = 3

task_set =UserBehavior

host= "http://xxx" (待测试的ip或者域名)min_wait= 3000max_wait= 6000

if __name__ == "__main__":

subprocess.Popen("locust -f main_pt.py", shell=True)

最后HttpLocust类是用来设置性能测试的配置、如待测试的host、待测试的任务集task_set

如何运行:首先打开到文件路径下、然后直接运行脚本 python main_pt.py

924044-20171019141831740-1349585615.png

运行成功后即可访问 locust的 web UI界面 :http://localhost:8089

924044-20171019142135256-1645136213.png

提示输入的内容是 模拟的用户总数 和 每秒钟并发的用户数量、点击开始按钮即可

924044-20171019142434771-958585571.png

可以查看测试任务的性能结果 上图圈出的 RPS是 每秒用户数、FAILUSERS是 失败率

可以 STOP 中止测试 也可以 Edit 重新编辑性能测试的场景、还可以查看后台的打印内容:

924044-20171019142719459-1113108075.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值