1、接口测试
写好接口需要测试接口通不通和是否正确
运行接口:
(1)sanic框架 ---- python3 sanic.py
pip install sanic
(2) fastapi 框架 ----- uvicorn --port 8888 --workers 1 接口代码文件名:app
pip install fastapi
pip install uvicorn
测试接口:
curl --location --request POST 'http://127.0.0.1:8888/接口名' --header 'Content-Type: application/json' --data-raw '{"id": 0}'
2、ab压测
- 安装ab包
apt-get install apache2-utils
- 压测命令:
ab -n 500 -c 10 -p data.json -T 'application/json' 'http://127.0.01:8888/接口名'
-c:并发, 一次执行的多个请求的数量。默认值为一次一个请求。
-n:请求数, 基准测试会话要执行的请求数。默认设置是仅执行一个请求, 这通常会导致非代表性的基准测试结果。
-p 包含了需要POST的数据的文件,数据格式以接口请求参数定义的格式为准,eg. xxx.json
- 压测结果:
参数:
Requests per second 吞吐量:#用户平均请求等待时间,计算公式:Time token for tests/(Complete requests/Concurrency Level)。处理完成所有请求数所花费的时间/(总请求数/并发用户数)
测试接口遇到的问题:
Error: connect ECONNREFUSED X.X.X.X:1212,fastapi的接口通不通
解决方法:启动的时候加上host
uvicorn --port 1212 --host 0.0.0.0 app_v1:app