最近使用Flask写了webserver,但是部署却成了问题
于是网络搜寻一番,做了一些尝试,得到以下一些方案
测试代码如下:
from flask import Flask, request, jsonify
import os
app = Flask(__name__)
@app.route('/env')
def get_env():
return jsonify({'os.env': dict(os.environ), 'req.env': str(request.environ)})
测试命令如下:
ab -n 10000 -c 100 http://localhost:xxxx/env
Windows
1.1 IIS+wfastcgi
1.2 Apache+mod_wsgi
1.3 waitress
Linux
2.1 Nginx+uwsgi
2.2 Nginx+gunicorn
2.3 ...
总的看下来,Server还是Linux下面的资源效率比较高
Ngnix+uwsgi最好用
IIS+wfastcgi最耗资源,第一次request latency很大,但是后续就很快
Ngnix作为Web server在Windows下使用也是极好的
uwsgi在windows使用需要wsl或者cygwin
waitress也不错...