没有合适的资源?快使用搜索试试~ 我知道了~
python 写一个性能测试工具(一)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 38 浏览量
2020-12-16
21:08:24
上传
评论
收藏 59KB PDF 举报
温馨提示
试读
2页
国庆重新学习了一下go的gin高性能测试框架。 用JMeter来测试gin与flask接口的性能,差别很大。 为什么我自己不尝试写一个性能工具,性能工具的核心就是 并发 和 请求。 请求可以选择Python的requests库。 并发可以通过python的 进程、线程、协程模拟。 这么一想,也不是很难了,上手撸一个。 依赖库 requests==2.22.0 gevent==20.9.0 numpy==1.19.2 requests 大家并不陌生,HTTP请求库。 gevent是python协程库,通过协程模拟并发更节省资源,在同样配置下能模拟更多的并发。 numpy 是python的数据计
资源详情
资源评论
资源推荐
python 写一个性能测试工具(一)写一个性能测试工具(一)
国庆重新学习了一下go的gin高性能测试框架。
用JMeter来测试gin与flask接口的性能,差别很大。
为什么我自己不尝试写一个性能工具,性能工具的核心就是 并发 和 请求。
请求可以选择Python的requests库。
并发可以通过python的 进程、线程、协程模拟。
这么一想,也不是很难了,上手撸一个。
依赖库依赖库
requests==2.22.0
gevent==20.9.0
numpy==1.19.2
requests 大家并不陌生,HTTP请求库。
gevent是python协程库,通过协程模拟并发更节省资源,在同样配置下能模拟更多的并发。
numpy 是python的数据计算库,提供大量组数和矩阵运算,这里用它求列表的平均值。
实现脚本实现脚本
好了,接下来开始上手写代码了。
from __future__ import print_function
import time
import gevent
from gevent import monkey
monkey.patch_all()
import requests
from numpy import mean
users = 10 # 用户数
numbers = 100 # 请求次数
req_url = "http://127.0.0.1:8080/user/tom" # 请求URL
print("请求URL: {url}".format(url=req_url))
print("用户数:{},循环次数: {}".format(users, numbers))
print("============== Running ===================")
pass_number = 0
fail_number = 0
run_time_list = []
def running(url):
global fail_number
global pass_number
for _ in range(numbers):
start_time = time.time()
r = requests.get(url)
if r.status_code == 200:
pass_number = pass_number + 1
print(".", end="")
else:
fail_number = fail_number + 1
print("F", end="")
end_time = time.time()
run_time = round(end_time - start_time, 4)
run_time_list.append(run_time)
weixin_38592455
- 粉丝: 7
- 资源: 897
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1