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安装教程与使用的更多相关文章

  1. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  2. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  3. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH

  4. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  5. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  6. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  7. mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)

    ♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...

  8. Smokeping安装教程

    Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978   环境 CentOS release 6.4 (F ...

  9. (二)ADS1.2的安装教程以及使用 调试 (不会 AXD 调试工具)

    安装教程: 参考百度 http://jingyan.baidu.com/article/cdddd41c7db85253cb00e1ae.html 具体使用看: 杨铸的那本书(嵌入式底层软件驱动开发) ...

随机推荐

  1. 《SpringBoot揭秘 快速构建微服务体系》读后感(三)

    SpringApplication:SpringBoot程序启动的一站式解决方案 深入探索SpringApplication执行流程 因为书上的版本是1.2的,比较老,这里参考http://blog. ...

  2. Codeforces 489A SwapSort (水题)

    A. SwapSort time limit per test 1 second memory limit per test 256 megabytes input standard input ou ...

  3. hdu 4123 Bob’s Race (dfs树上最远距离+RMQ)

    C - Bob’s Race Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Subm ...

  4. POJ 2311 Cutting Game (博弈)

    题意:给定一个长方形纸张,每次只能水平或者垂直切,如果切到1*1的方格就胜,问先手胜还是负. 析:根据Nim游戏可知,我们可以分别求出每个子游戏的和,就是答案,所以我们就枚举每一种切法,然后求出SG函 ...

  5. opengl1

    OpenGL Programming Guide Programming Guide > Chapter 1 Chapter 1 Introduction to OpenGL Chapter O ...

  6. vs2013代码模板设置

    模板设置是为了在“添加新项”时默认格式 1.打开文件:D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTempl ...

  7. 洛谷P2583 地铁间谍

    P2583 地铁间谍 题目描述 特工玛利亚被送到S市执行一个特别危险的任务.她需要利用地铁完成他的任务,S市的地铁只有一条线路运行,所以并不复杂. 玛利亚有一个任务,现在的时间为0,她要从第一个站出发 ...

  8. 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  9. js框架:vue

    vue是一套用于构建用户界面的渐进式框架,vue被设计为可以自底向上逐层应用,核心库只关注图层 待续.......

  10. Ubuntu16.04.2 LTS 64bit系统装机记录

    系统环境:Win10 + Ubuntu16.04.2 LTS 64bit(双系统)安装教程:Win10和Ubuntu16.04双系统安装详解(简书)以下为系统安装后所要进行的操作. 一.安装显卡驱动 ...