性能测试框架Locust初学笔记
Locust初探
Locust是一款类似于Jmeter
开源负载测试工具,所不同的是它是用python实现,并支持python脚本。 locust
提供web ui界面,能够方便用户实时监控脚本运行状态。
Locust安装
这个框架基于python,故而需要先安装python,这里不再赘述。
pip install -U pyzmq
pip install -U locustio
使用以上命令安装
实战
以公司的项目登录模块实战,直接上代码
from locust import HttpLocust, TaskSet, task
import json class UserBehavior(TaskSet): token = ''
userId = ''
headers = '' def login(self):
data = {
"email": "xxxxxxx",
"passwd": "xxxxxxx",
}
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json'}
response = self.client.post(
'xxxxxx/login',
data=json.dumps(data),
headers=headers)
content = json.loads(response.content)
self.token = {"token": content['data']['token']}
self.userId = content['data']['userId'] def logout(self):
with self.client.get('xxxxxx/logout', params=self.token, catch_response=True) as response:
if response.status_code != 200:
response.failure() def user_details(self):
data = {'userId': self.userId}
with self.client.get('xxxxxxxx/view', params=data, headers=self.headers, catch_response=True) as response:
if response.status_code != 200:
response.failure() @task(10)
def login_logout(self):
self.login()
self.user_details()
self.logout() class WebsiteUser(HttpLocust):
host = 'http://10.1.51.221:7600/'
task_set = UserBehavior
min_wait = 5000
max_wait = 9000
执行压力测试
重新打开cmd窗口进入脚本文件的目录之中,执行以下命令开启压力测试
locust -f locustfile.py
执行完上面命令后用浏览打开http://127.0.0.1:8089
,出现以下界面:
我这里尝试模拟100个虚拟用户,每秒发送30次请求,然后点击Start swarming开始进行压力测试
测试结果
在locust
的运行界面,可以下载当前的运行结果到本地,但是这两份csv中的测试结果不够详细,不利于分析系统的瓶颈,这也是locust
的不足之处。
性能测试框架Locust初学笔记的更多相关文章
- Python3.6 性能测试框架Locust的搭建与使用
背景 Python3.6 性能测试框架Locust的搭建与使用 基础 python版本:python3.6 方法一: pip install locustio 方法二: 开发工具:pycharm 使用 ...
- Python 3.6 性能测试框架Locust安装及使用
背景 Python3.6 性能测试框架Locust的搭建与使用 基础 python版本:python3.6 开发工具:pycharm Locust的安装与配置 点击“File”→“setting” 点 ...
- Python Locust性能测试框架实践
[本文出自天外归云的博客园] Locust的介绍 Locust是一个python的性能测试工具,你可以通过写python脚本的方式来对web接口进行负载测试. Locust的安装 首先你要安装pyth ...
- JMH 性能测试框架
参考 1 Java 并发编程笔记:JMH 性能测试框架 http://blog.dyngr.com/blog/2016/10/29/introduction-of-jmh/ 2 Code Samp ...
- laravel 5.6初学笔记
laravel 5.6初学笔记 http://note.youdao.com/noteshare?id=bf4b701b49dd035564e7145ba2d978b4 框架简介 laravel文档齐 ...
- 性能测试工具Locust
An open source load testing tool. 一个开源性能测试工具. define user behaviour with python code, and swarm your ...
- C++ STL初学笔记
C++ STL初学笔记 更系统的版本见徐本柱的PPT set 在这儿:http://www.cnblogs.com/pdev/p/4035020.html #include <vector&g ...
- chrome性能测试框架webpagereplay
今天学习了下chrome的性能测试框架,其实它可用于在稳定的环境下测试浏览器向服务器发起http请求至下载请求文档到本地的这个过程.好处在于,其原理在于先将第一次请求回来的文档下载在本地,然后在本地模 ...
- CI框架源代码阅读笔记5 基准測试 BenchMark.php
上一篇博客(CI框架源代码阅读笔记4 引导文件CodeIgniter.php)中.我们已经看到:CI中核心流程的核心功能都是由不同的组件来完毕的.这些组件类似于一个一个单独的模块,不同的模块完毕不同的 ...
随机推荐
- pdf 显示
昨天调用同事写好的显示pdf借口 他返回给我的byte 我这面进行接受流的时候 长度一直跟他的对应不上 最后用WebClient类进行解决 webclient类 第一种是将文件存储在文件系统上,用 ...
- C语言使用cmd命令并获取输出方法
转自http://blog.csdn.net/hxh129/article/details/8000205 C语言使用cmd命令并获取输出方法 在实践中,我们有时候需要用C语言来调用cmd的命令,并得 ...
- HDU 5360 (贪心)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5360 题意:告诉你n个区间[ l[i],r[i] ],然后让你排序,必须左区间不大于它前边的总区间个数 ...
- Activity 属性设置大全
activity属性设置大全 android:allowTaskReparenting=["true"|"false"] 是否允许activity更换从属的任务 ...
- leetcode52. N-Queens II
Follow up for N-Queens problem. Now, instead outputting board configurations, return the total numbe ...
- PAT (Basic Level) Practise:1014. 福尔摩斯的约会
[题目链接] 大侦探福尔摩斯接到一张奇怪的字条:“我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm”.大侦探很快 ...
- toad 9.6和toad 12.1工具使用比较
toad是我工作中使用最频繁的软件之一,阴错阳差的把2个版本都装到了电脑上,使用过程中逐渐发现2者的差异,特此做下记录,以便提示自己和其他有需要的人们.(随时更新中······)由于能力有限,难免会有 ...
- [20150513]Linux远程登陆管理以及Vim的学习
Linux远程登陆管理以及Vim的学习 实现Linux远程管理 所需工具Xshell,Xshell是一个用于MS Windows平台的强大的SSH,TELNET,和RLOGIN终端仿真软件.它使得用户 ...
- Oracle学习系列4
Oracle学习系列4 ************************************************************************************ 数据库 ...
- 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...