Locust安装教程与使用
Locust安装教程与使用
官网地址:https://github.com/locustio/locust
如果是python3+以上的环境,需要下载locust项目源码进行安装
因Centos7.2环境已默认安装python2.7版本,所以需要升级python到版本python3
安装python3参考如下:
1)安装python3.6可能使用的依赖
yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
2)到python官网找到下载路径, 用wget下载
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz
3)解压tgz包
tar -zxvf Python-3.6.4.tgz
4)把python移到/usr/local下面
mv Python-3.6.4 /usr/local/
5)删除旧版本的python依赖
ll /usr/bin | grep python
rm -rf /usr/bin/python
6)进入python目录
cd /usr/local/Python-3.6.4/
7)配置
./configure
8)编译,安装
make && make install
9)删除旧的软链接,创建新的软链接到最新的python
#rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.6 /usr/bin/python
python -V
安装locust参考如下:
#进入安装包存放目录下
cd /usr/local/src
#下载locust
git clone https://github.com/locustio/locust.git
#将locust放到 /usr/local/ 目录下
cp -Rf locust/ /usr/local/
#进入locust目录开始安装
python setup.py install
locust压测步骤说明
1)编写压测脚本,为python脚本文件
2)启动locust服务,并设置启用压测的python脚本文件及hosts信息
3)设置locust访问本地网络及压测参数信息
压测脚本和启动脚本在同一目录
1-压测脚本: locust_test.py
from locust import HttpLocust,TaskSet,task
class UserBehavior(TaskSet):
@task()
def test(self):
self.client.get("/homepage/list_header.html")
class WebUserLocust(HttpLocust):
weight = 1
task_set = UserBehavior
min_wait = 300
max_wait = 700
2-启动脚本: start_locust.py
import os,re,sys,subprocess,webbrowser
def replace_url(url):
dir_path = os.path.dirname(os.path.abspath(__file__))
locust_file_path = os.path.join(dir_path,"locust_test.py")
with open(locust_file_path,"r") as locust_file:
content = locust_file.read()
searchObj = re.search( r'\"(.*)*\"', content, re.M|re.I)
content = content.replace(searchObj.group(),"\""+url+"\"")
open(locust_file_path,"w").write(content)
if __name__ == '__main__':
replace_url(sys.argv[2])
#启动压测时有界面
subprocess.Popen('locust -f .\locust_test.py --host='+sys.argv[1], shell=True)
webbrowser.open("http://localhost:8089/")
#启动压测时无界面
#subprocess.Popen('locust -f .\locust_test.py --host='+sys.argv[1]+' --no-web -c '+sys.argv[3]+' -r '+sys.argv[4]+' -n '+sys.argv[5], shell=True)
3-检测脚本: start.ps1
Write-Host "请输入压测网站host路径(例如:http://api.g.caipiao.163.com):"
$site = Read-Host
Write-Host "请输入压测网站url路径(例如:/homepage/list_header.html):"
$url = Read-Host
Write-Host "请输入模拟访问网站人数(例如:1000):"
$amount = Read-Host
Write-Host "请输入模拟每秒并发访问网站人数(不得小于模拟访问网站人数,例如:100):"
$conc = Read-Host
Write-Host "请输入模拟访问请求总数(例如:100000):"
$reqs = Read-Host
python .\start_locust_implicit.py $site $url $amount $conc $reqs
Read-Host
双击该脚本发起压测: start.ps1
Locust安装教程与使用的更多相关文章
- Linux+apache+mono+asp.net安装教程
Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...
- Greenplum 源码安装教程 —— 以 CentOS 平台为例
Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...
- git 安装教程
昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH
- Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程
此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...
- RHEL 6.3 详细安装教程
以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...
- Android Studio的下载和安装教程(从ADT到AS)
之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...
- mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)
♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...
- Smokeping安装教程
Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978 环境 CentOS release 6.4 (F ...
- (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)
安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...
随机推荐
- JAVA学习笔记——(四)
今日内容介绍 1.流程控制语句switch 2.数组 3.随机点名器案例 01switch语句解构 * A:switch语句解构 * a:switch只能针对某个表达式的值作出判断,从而决定程序执行哪 ...
- FZU - 2214 Knapsack problem 01背包逆思维
Knapsack problem Given a set of n items, each with a weight w[i] and a value v[i], determine a way t ...
- C# 写 LeetCode easy #9 Palindrome Number
9.Palindrome Number Determine whether an integer is a palindrome. An integer is a palindrome when it ...
- Shaderlab blend
http://www.cnblogs.com/daxiaxiaohao/p/4059310.html 1.不透明度 当我们要将两个半透的纹理贴图到一个材质球上的时候就遇到混合的问题,由于前面的知识我们 ...
- spring-eureka 源码解读----作为集群的eureka怎么样实现不做二次传播
在平时工作中,eureka作为一个集群时候,我们会配置多个peer ,假设当前有服务器eureka-A,eureka-B,eureka-C. 如果Eureka A的peer指向了B, B的peer指向 ...
- 【TIDB】4、业界使用情况
一.小米 1.背景 小米关系型存储数据库首选 MySQL,单机 2.6T 磁盘.由于小米手机销量的快速上升和 MIUI 负一屏用户量的快速增加,导致负一屏快递业务数据的数据量增长非常快, 每天的读写量 ...
- String,StringBuffer和StringBuilder
String,StringBuffer和StringBuilder分别应该在什么情况下使用? String 是Java的字符串类,其实质上也是用Char类型存储的,但是除了hash属性,其他的属性都声 ...
- 黑马Spring学习 bean
- shell编程 Shell script 的默认变量($0, $1...)
Shell script 的默认变量($0, $1...) 我们知道指令可以带有选项与参数,例如 ls -la 可以察看包含隐藏文件的所有属性与权限.那么 shell script 能不能在脚本文件名 ...
- vue中做出购物车的功能
效果展示: 一:html结构 <div id="buyButton" class="btn-buy"> <button onclick=&qu ...