当前位置: 首页 > news >正文

使用wrk对api接口进行性能测试

安装

yum install -y openssl git
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
cp wrk /usr/local/bin/

测试

测试服务:fastapi(pip3 install fastapi uvicorn -i https://mirrors.aliyun.com/pypi/simple

from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():return {"Hello": "world"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):return {"item_id": item_id, "q": q}

启动:

uvicorn hello:app --host 192.168.0.10 --port 8000 --reload

测试:

wrk -t8 -c400 -d30s http://192.168.0.10:8000
# t:线程数。关于线程数,并不是设置的越大,压测效果越好,线程设置过大,反而会导致线程切换过于频繁,效果降低,一般来说,推荐设置成压测机器 CPU 核心数的 2 倍到 4 倍就行了。
# c:模拟400个并发请求
# d:持续时间

分析测试结果

Running 30s test @ http://192.168.0.10:80008 threads and 400 connectionsThread Stats   Avg      Stdev     Max   +/- StdevLatency   628.72ms   47.76ms 811.86ms   67.54%Req/Sec   107.60     88.35   440.00     70.42%18898 requests in 30.10s, 2.56MB read
Requests/sec:    627.89
Transfer/sec:     87.14KB
  • 列:
    • Avg:平均值
    • Stdev:标准差
    • Max:最大值
    • +/- Stdev:正负一个标准差所占比例
  • 行:
    • Latency:延迟
    • Req/Sec:每秒请求数
  • 其它:
    • Requests/sec:即QPS,平均每秒处理请求数
    • Transfer/sec:平均每秒流量
http://www.dtcms.com/a/286876.html

相关文章:

  • 机器视觉基础(直播回放)
  • git从本地仓库添加到远程仓库
  • 人工智能day9——模块化编程概念(模块、包、导入)及常见系统模块总结和第三方模块管理
  • MinIO 分布式文件系统
  • 阿里云ubuntu建一个简单网页+公网访问+域名访问
  • android14截屏
  • 短视频矩阵系统:从源头到开发的全面解析
  • 电源PCB设计的热管理攻坚战:从散热瓶颈到高功率密度突破
  • 3.0 - 指针-序列化
  • 傅里叶积分法求解偏微分方程
  • 第七章 愿景09 海波龙的坑
  • 【Python练习】048. 编写一个函数,实现简单的命令行接口,接受用户输入并响应
  • springCloud -- 微服务01
  • MoveIt
  • GaussDB join 连接的用法
  • 已经安装numpy,但是报错ModuleNotFoundError: No module named ‘numpy‘
  • 船舶终端数据采集与监管平台解决方案
  • EasyGBS算法算力云平台:算法仓百种算法,全形态算力协同
  • Python 之地址编码识别
  • 判断数据类型的方法
  • 分享|技师院校人工智能技术应用专业—数字人教学辅助平台有哪些特点
  • java常见的jvm内存分析工具
  • hive的sql优化思路-明白底层运行逻辑
  • 机械材料计算软件,快速核算重量
  • MySQL 插入时间 更新时间
  • android版本编译问题之Hvac 应用体积优化问题处理记录
  • 大模型微调流程解读:基于Qwen2.5-3B-Instruct的LoRA高效微调全流程解析
  • 讯方·智汇云校 | 课程和优势介绍
  • Glary Utilities (PC维护百宝箱) v6.24.0.28 便携版
  • Composer 可以通过指定 PHP 版本运行