python模块学习之locust性能测试
2018-01-09 23:26
501 查看
背景
locust是一个python的第三方库,用于做性能测试,可使用多台机器同时对一台服务器进行压测,使用其中一台机器作为主节点,进行分布式管理博主测试接口的时候一直是使用python脚本,后来有个需求需要做性能测试,我第一时间就想到了locust,不需要再对测试脚本进行编辑,而且对测试机的性能要求较低
安装
locust的安装很简单,可以直接使用pippip install locustio
测试代码
说明:下列代码中只有sms()函数是最终测试的函数 ,其实的都是博主测试过程中的加密算法的辅助函数#! /usr/bin/python # coding:utf-8 """ @author:Bingo.he @file: locust_practis.py @time: 2017/12/29 """ from locust import HttpLocust, TaskSet, task import hashlib class UserBehavior(TaskSet): @staticmethod def param_order(dic): """ 参数转换函数 :param dic: 字典类型参数 :return: key1=value1&key2=value2 """ l = [] if isinstance(dic, dict): for k, v in dic.items(): l.append(k + '=' + str(v)) l.sort() # print ('&'.join(l)) return '&'.join(l) else: return 'Not a dict' def get_signMsg(self, soure_para, bizKey): """ API密钥生成函数 :param soure_para : 传递的参数 :param bizKey: :return: str """ param = self.param_order(soure_para) return hashlib.md5((param + bizKey).encode('utf8')).hexdigest() def pack_param(self): soure_para = { 'bizNo': '0000001', 'mobiles': '18565100000,18565100001,18565100002,18565100003,18565100004,18565100005,18565100006,','content': u'{}', } sign_msg = self.get_signMsg(soure_para, 'GyCK9XC4qYbs') soure_para['signMsg'] = sign_msg # 添加签名信息 return soure_para @task(1) # 表示第一个执行,可以通过它组合指定场景 def sms(self): param = self.pack_param() self.client.post("/sms", param) class WebsiteUser(HttpLocust): task_set = UserBehavior min_wait = 300 # 不同请求间间隔时间 max_wait = 600
运行命令
locust -f ../locust_files/locust_practice.py --host=http://example.com
参数说明
-f 指定文件
--host 指定要压测的服务器
一般是监听在*:8089上,所以直接访问localhost:8089即可,图形页面如下
相关文章推荐
- python学习笔记(locust性能测试模块)
- python模块学习之locust性能测试
- Python模块学习之HTMLTestRunner生成测试报告
- 关于python struct模块的性能问题-----待学习
- 性能测试工具Locust基础安装教程与学习总结
- python自动化运维学习笔记1- psutil系统性能信息模块
- python模块学习之string造测试数据
- Python模块学习之hashlib-MD5在接口测试中的应用
- Python Locust性能测试框架实践
- Locust性能测试学习总结
- locust python 性能测试,简单好用
- Python测试模块学习笔记
- python locust接口性能测试HTTPS网站报错:Caused by SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certi
- python模块学习之string造测试数据
- Python 性能测试工具 locust 简介
- Python模块学习之HTMLTestRunner生成测试报告
- python模块介绍-locustio:性能测试工具locustio中文文档
- Python 3.6 性能测试框架Locust安装及使用方法(详解)
- Python学习笔记-系统性能信息模块psutil
- Python学习笔记-系统性能信息模块psutil