from sanic import Sanic
from sanic import response
app = Sanic(__name__)
@app.route('/v1/ok', methods=['GET'])
async def post_handler(request):
return response.text("hey all good")
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8001, debug=True)
我正在尝试使用sanic在python中编写restapi
以下是我的结论:
我尝试使用wrk对这个getapi进行基准测试,50个线程运行30s测试。
机器使用AWS EC2 t2.medium,具有4GB RAM和2个CPU
使用的命令
wrk -t50 -c4000 -d30s http://XXX.XX.XXX.XXX:8001/v1/ok
对标结果
^{pr2}$
我的疑问是,我该如何改进超时的请求数。现在是4。应该是零。在
平均延迟,约550ms(太多)
在POST请求的情况下,这是非常糟糕的,我试图加载一个keras模型并进行预测。在
这是一个强大的代码吗?
或者
这是Sanic的限制吗?
我应该尝试另一个REST框架吗?
附言:我对flask的体验在延迟和超时请求方面更糟糕。在imp