码迷,mamicode.com
首页 > 其他好文 > 详细

性能压测工具之 Locust

时间:2020-08-11 17:33:41      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:his   http   ber   open   ==   taskset   read   erb   post   

Locust 是一款基于python语言开发的一款新的性能压测工具,它是以协程(比线程还小)的方式运行。

先看一张 locust 运行图:
技术图片

源码如下:

#!/usr/bin/env python
#-- coding: utf-8 --

from locust import HttpLocust, TaskSet, task
import subprocess
import json
import time
import random
import hashlib
import os

class UserBer(TaskSet):
def on_start(self):
pass

@task
def pubsend(self):
    url = "/pub/send"
    f = open("F:/python/data.json", ‘r‘)
    data = f.read()
    data = json.loads(data)
    data["from"]["time"] = int(time.time())
    data["from"]["nonce"] = random.randint(100000, 999999)

    pubToken = [data["from"]["no"], data["from"]["pub"], data["from"]["pubtoken"]
    pubToken.sort()
    pubToken = "".join(pubToken)
    sha1 = hashlib.sha1(pubToken.encode(‘utf-8‘))
    sha1 = sha1.hexdigest()
    data["from"]["pubtoken"] = sha1
    dataCop = json.dumps(data)
    head = {"Content-Type": "application/json"}

    req = self.client.post(url=url,data=dataCop,headers=head)

    if req.status_code == 200 and req.[‘success‘]==True:
        print("响应正常!")          
    else:
        print("服务端返回异常!")

class MobileUserLocust(HttpLocust):
task_set = UserBer
host = "http://hlep.his.com"
min_wait = 1000
max_wait = 3000

if name == "main":

os.system("locust -f locust-script.py")

说明:wins 下 pip install locustio ;运行脚本后 在浏览器中输入: localhost:8089

性能压测工具之 Locust

标签:his   http   ber   open   ==   taskset   read   erb   post   

原文地址:https://blog.51cto.com/14103476/2518915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!