异步Python Web框架比较
2023-03-09 22:08:58 时间
这里测试的python异步框架几乎都与ASGI兼容(除了aiohttp)。
基准测试的目的不是测试部署(例如uvicorn与hypercorn等)或数据库(ORM,驱动程序),而是测试框架本身。基准检查检查请求解析(正文,标头,表单数据,查询),路由,响应。
接受请求并返回带有自定义动态标头的HTML响应解析上传的文件,将其存储在磁盘上并返回文本响应解析路径参数,查询字符串,JSON正文并返回JSON响应的综合统计。
测试硬件
该基准使用Github Action运行。根据github文档 ,运行的硬件规格为:
- 2核vCPU(Intel®Xeon®Platinum 8272CL(Cascade Lake),Intel®Xeon®8171M 2.1GHz(Skylake))
- 7 GB的RAM内存
- 14 GB的SSD磁盘空间
- 操作系统Ubuntu 20.04
使用gunicorn / uvicorn命令从docker运行ASGI应用程序:
- gunicorn -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8080 app:app
应用程序的源代码可以在此处找到 。
https://github.com/klen/py-frameworks-bench/tree/develop/frameworks
通过WRK实用程序收到结果:
- wrk -d15s -t4 -c64 [URL]
基准测试包含三种测试:
- “简单”测试:接受请求并返回带有自定义动态标头的HTML响应。该测试仅模拟单个HTML响应。
- “上传”测试:接受上传的文件并将其存储在磁盘上。该测试模拟多部分表单数据处理并处理文件。
- “ API”测试:检查标头,解析路径参数,查询字符串,JSON正文并返回JSON响应。该测试模拟JSON REST API。
接受请求并返回带有自定义动态标头的HTML响应
该测试仅模拟单个HTML响应。按最大请求数/秒排序
解析上传的文件,将其存储在磁盘上并返回文本响应
该测试模拟多部分表单数据处理并处理文件。按最大请求数/秒排序
解析路径参数,查询字符串,JSON正文并返回JSON响应
该测试模拟一个简单的JSON REST API端点。按最大要求/秒排序
综合统计
综合基准测试结果
按已完成的请求排序
相关文章
- 双十一云服务器续费
- web前端技能方法总结(css、js、jquery、html)(28)
- 2023年科技行业的九大预测,核心技术变得越来越 " 实 "
- 《流浪地球2》的冷思考:如何消除信息孤岛
- 为什么众多创新企业钟情于.cloud域名?
- Gin 框架:添加 Prometheus 监控
- 1分钟解读什么是实时渲染
- 创新企业凭借.cloud域名抢占先机
- 不背锅运维:耗时1周整理:分享K8S Pod知识点,带你一文打尽
- Typora免费版本-支持图床的使用
- 区块链终端以35万元收购域名X.xyz
- 优思学院|六西格玛团队缺乏方向感怎么办?根本原因是...
- 2021双11云服务器优惠对比
- 西部数码虚拟主机怎么查ip
- ONLYOFFICE 文档 v7.3 现已发布:新增字段填写接收人角色、SmartArt、全新安全性设置、查看窗口等功能
- 这几个 GitHub 开源项目真带劲
- CATIA等设计类软件实时渲染流化解决方案
- 首个千亿模型压缩算法 SparseGPT 来了,降低算力成本的同时保持高精度
- “后红海”时代,大数据体系到底是什么?-上篇
- 「解决方案架构」解决方案架构生命周期