Fiber:
压测使用的程序是 go-stress-testing , 1000 个并发,每个并发进行 1000 次请求。
每栏对应的字段为:
Sanic:
Fiber:
可以看出来, sanic 和 fiber 差别不大, sanic 的性能几乎与 fiber 持平,可能是当下最高性能的 Python Web 框架,没有之一,即便是之前较为突出的异步框架 fastapi 也要落后于 sanic 。
附上 fastapi 的结果:
Flask 、 Django 等框架不在本文讨论范围之内,这二者本就不是为了高性能设计的框架,没有对比的意义。
sanic 还有一个优势,就是其没有开发服务器,用 sanic -w 8 main.app 运行的服务器就是生产服务器。
如果有想用 Python 开发 Web 服务器的,建议优先考虑 sanic ,但 fastapi 其实也够用了。
'''OSError: [Errno 98] error while attempting to bind on address ('0.0.0.0', 8000): address already in use
[2018-04-03 19:59:59 -0700] [3262] [INFO] Server Stopped
'''
报错原因是地址被占用了,再次运行就报这个了,但是用IDE(pycharm)运行的,但是运行窗口明明是点停止的,运行窗口都关了。可是运行环境在服务器(ubuntu/linux)上,服务器上还占用着这个地址呢!
但是,我不知道怎样关!目前知识薄弱的我只想到杀进程。。。
pycharm 运行窗口如果关之前有注意到进程号: kill -9 PID(进程号)
在服务器上,命令查看一下进程 ps aux
类似
root 3241 0.0 0.1 12516 2980 pts/9Ss+ 19:58 0:00 bash -c cd /root/myPyenv "PYTHONUNBUFFERED"="1" "P
root 3242 0.0 1.1 202440 22904 pts/9Sl+ 19:58 0:00 /myPyVirtualenv/pyvir/bin/python3 -u /root/myPy/demo
这两个进程,干掉3241即可,下面的3242是我的python虚拟环境,干掉虚拟环境也行。
kill -9 3241
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)