怎么这么慢!:flask 和 node express 性能测试

问题:我写完项目之后,顺手测了测性能,发现是真的低。。

测试环境配置

操作系统:win10
CPU:Ryzen7 3700X
主板:微星8450M MORTAR MAX
显卡:技嘉RTX2060Super Windforce OC
内存:金士顿骇客神条DDR4 3200 16G两条

测试程序和服务器程序在同一台电脑上

flask

相关参数

python 3.8.3
flask 1.1.2

测试的函数,多线程模式开启

from flask import Flask

app = Flask(__name__)

@app.route('/more', methods=['GET'])
def more():
    return '123'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080, threaded=True)

Apache Benchmark 测试结果,flask多线程模式开启

怎么这么慢!:flask 和 node express 性能测试

测试的函数,多线程模式关闭

from flask import Flask

app = Flask(__name__)

@app.route('/more', methods=['GET'])
def more():
    return '123'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)

Apache Benchmark 测试结果,flask多线程关闭

怎么这么慢!:flask 和 node express 性能测试

每秒处理请求RPS:311.63

感觉flask的多线程模式开了个寂寞

node express

相关参数

node v12.18.2
express 4.17.1

测试的程序

const express = require('express')

var app = express()
const port = 3000

app.get('/more', async function(req, res){
    res.send('123')
})

app.listen(port, ()=>{
    console.log(Server running on port ${port})
})

Apache Benchmark 测试结果

怎么这么慢!:flask 和 node express 性能测试

node express RPS:1383.74

另外,在测试node express过程中,发现第一个1W个请求花费的时间比较久
第一个1W:20S
第二个1W:07S
应该是Apache Benchmark申请一万个端口的时间比较久
我在express端测试了一下,发现真是如此

更多

令我感到好奇的是,不知道flask使用的原生WSGI是什么实现原理
我包含数据库(mysql8.0)操作的时候,RPS只有248,所以我起了想测试一下框架本身
一个简单函数RPS也只有311.63,说明这个框架本身就很慢

看来不能够偷懒,一定要为其配置其它更高效的WSGI服务器了呢~

Original: https://blog.csdn.net/Gragon_Shao/article/details/112843816
Author: 阿龙君
Title: 怎么这么慢!:flask 和 node express 性能测试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/749273/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球