站长网 资讯 异步Python Web框架较量

异步Python Web框架较量

这里测试的python异步框架几乎都与ASGI兼容(除了aiohttp)。 基准测试的目的不是测试部署(例如uvicorn与hypercorn等)或数据库(ORM,驱动程序),而是测试框架本身。基准检查检查请求解析(正文,标头,表单数据,查询),路由,响应。 接受请求并返回

这里测试的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端点。按最大要求/秒排序

综合统计

综合基准测试结果

本文来自网络,不代表站长网立场,转载请注明出处:https://www.zwzz.com.cn/html/biancheng/zx/2021/0524/5156.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部