python +locust (高并发服务器测试)

http://www.cnblogs.com/fnng/p/6081798.html

https://blog.csdn.net/gogoboi_jin/article/details/79229570

1.安装locust

1、安装Python:

官方:https://www.python.org/

Python3

2、安装Locuse

2.1, 通过pip命令安装 /> pip install locustio

2.2, 通过GitHub上克隆项目安装(Python3推荐):https://github.com/locustio/locust

3、安装 pyzmq

    If you intend to run Locust distributed across multiple processes/machines, we recommend you to also install pyzmq.

如果你打算运行Locust 分布在多个进程/机器,我们建议你也安装pyzmq.

通过pip命令安装。 /> pip install pyzmq

4、安装成功,CMD敲入命令验证。 /> locust --help

编写简单的性能测试脚本 创建py文件


import gevent

from geventimport monkey

gevent.monkey.patch_all()

import requests

from locustimport HttpLocust, TaskSet, task

# locust -f locust_test.py --host=https://httpbin.org

class UserBehavior(TaskSet):

@task(1)

def test_get(self):

params = {'show_envs':'1'}

self.client.get("/get",params=params)

# url = "https://httpbin.org/get"

# r = requests.get(url, params)

# print(r.json())

  @task(1)   #并发事件

def test_post(self):

json = {

"info": {"code":1, "sex":"男", "id":1900, "name":"乔巴"},

        "code":1,

        "name":"乔巴", "sex":"女",

        "id":1990

      }

self.client.post("/post",data=json)

class WebsiteUser(HttpLocust):

task_set = UserBehavior

min_wait =3000

  max_wait =6000

“”“”“”“”

创建UserBehavior()类继承TaskSet类,为用户行为。

  创建baidu() 方法表示一个行为,访问百度首页。用@task() 装饰该方法为一个任务。1表示一个Locust实例被挑选执行的权重,数值越大,执行频率越高。在当前UserBehavior()行为下只有一个baidu()任务,所以,这里的权重设置为几,并无影响。

WebsiteUser()类用于设置性能测试。

task_set:指向一个定义了的用户行为类。

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

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

运行性能测试


  打开浏览器访问:http://localhost:8089



你可能感兴趣的:(python +locust (高并发服务器测试))