django vs flask 负载性能测试对比,谁更快(一)GET简单json

读数据库性能在这里

先上结果:

  • 完整的django初始框架,开发服务器:390 rps
  • 单文件django,开发服务器: 406 rps
  • 单文件flask,开发服务器:423 rps
  • 完整的django初始框架,gunicorn: 462rps
  • 单文件面django,gunicorn:482 rps
  • 单文件flask,gunicorn:479 rps
  • 完整的django初始框架+rest_frameword,gunicorn:447rps

结论:单文件最小django和单文件最小flask性能相当

0. 测试方法:

  • django 2.1.4,flask1.0.2
  • 运行环境:在pycharm的terminal里启动开发服务器/在wsl里用gunicorn启动服务器
  • 测试环境:在wsl里用boom测试并发100个请求10秒
  • 运行几次取最高值,波动区间不大

1. 完整的django初始框架,开发服务器

代码

from django.http.response import JsonResponse

def index(request):
    return JsonResponse('laowang', safe=False)

结果

-------- Results --------
Successful calls		3908
Total time        		10.0110 s  
Average           		0.1480 s  
Fastest           		0.0429 s  
Slowest           		9.1443 s  
Amplitude         		9.1014 s  
Standard deviation		0.433375
RPS               		390
BSI              		Pretty good

-------- Status codes --------
Code 200          		3908 times.

-------- Legend --------
RPS: Request Per Second
BSI: Boom Speed Index

2. 单文件django,开发服务器

代码

import sys

from django.urls import path
from django.http.response import JsonResponse
from django.conf import settings


settings.configure(
    DEBUG = True,
    ROOT_URLCONF = __name__
)

def index(reques):
    return JsonResponse('laowang', safe=False)


urlpatterns = (
    path('', index),
)

if __name__ == '__main__':
    from django.core.management import execute_from_command_line
    execute_from_command_line(sys.argv)

结果

-------- Results --------
Successful calls		4072
Total time        		10.0107 s  
Average           		0.1391 s  
Fastest           		0.0365 s  
Slowest           		8.6824 s  
Amplitude         		8.6459 s  
Standard deviation		0.457704
RPS               		406
BSI              		Pretty good

-------- Status codes --------
Code 200          		4072 times.

3. 单文件flask,开发服务器

代码

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def index():
    return jsonify('laowang')

if __name__ == '__main__':
    app.run()

结果

-------- Results --------
Successful calls		4238
Total time        		10.0177 s  
Average           		0.1289 s  
Fastest           		0.0417 s  
Slowest           		6.7860 s  
Amplitude         		6.7443 s  
Standard deviation		0.394020
RPS               		423
BSI              		Pretty good

-------- Status codes --------
Code 200          		4238 times.

5. 单文件flask,gunicorn单worker

-------- Results --------
Successful calls		4804
Total time        		10.0106 s  
Average           		0.1187 s  
Fastest           		0.0287 s  
Slowest           		7.7569 s  
Amplitude         		7.7282 s  
Standard deviation		0.406187
RPS               		479
BSI              		Pretty good

-------- Status codes --------
Code 200          		4804 times.

6. 单文件django,gunicorn单worker

-------- Results --------
Successful calls		4826
Total time        		10.0092 s  
Average           		0.1099 s  
Fastest           		0.0360 s  
Slowest           		7.7540 s  
Amplitude         		7.7180 s  
Standard deviation		0.341663
RPS               		482
BSI              		Pretty good

-------- Status codes --------
Code 200          		4826 times.
发布了66 篇原创文章 · 获赞 21 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_35753140/article/details/90233884
今日推荐