扫码关注官方订阅号
如题,在树莓派上跑Tornado程序,前端是否需要再放置一个Nginx做负载均衡,有利于性能的提高嘛?
光阴似箭催人老,日月如移越少年。
无意义 树莓派可提供的系统资源太少,即使跑单实例也无法跟商用服务器相提并论,在这种情况下装多实例反而会降低性能。树莓派的设计初衷和定位是用于研究学习,拿来当应用服务器使用并不是最佳选择。
普通的民用汽车无论如何改装都无法上 F1 赛道参赛的。
被树莓派的问题吸引过来。
Tornado是非阻塞的,Tornado+Nginx的组合,主要是为了填Python实现中GIL的坑,更好的实现多核。似乎并不直接对单个Tornado的执行效率有什么提升。
对于树莓派来说,撑爆CPU和IO能力的请求数,和能够拖死Tornado的非阻塞机制的请求数,有数量级上的差异。
这个优化打不到瓶颈上。所以我的答案是:没有。
(……其实最终的建议还是:玩具就是玩具。几乎任何情况下,树莓派都不应当做为生产环境)
没有。Tornado 进程数应当总是等于 CPU 核心数,这样一个 CPU 跑一个 Tornado 进程。当然你有其它比较需要 CPU 的服务的话还得减。
即使单 Tornado 进程也建议在前边放一个 Nginx,因为 Tornado 自身的 HTTP 实现没有 Nginx 完善。即使多 Tornado 进程也并不一定需要 Nginx,因为 Tornado 自身支持 fork 出多进程。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
无意义 树莓派可提供的系统资源太少,即使跑单实例也无法跟商用服务器相提并论,在这种情况下装多实例反而会降低性能。树莓派的设计初衷和定位是用于研究学习,拿来当应用服务器使用并不是最佳选择。
普通的民用汽车无论如何改装都无法上 F1 赛道参赛的。
被树莓派的问题吸引过来。
Tornado是非阻塞的,Tornado+Nginx的组合,主要是为了填Python实现中GIL的坑,更好的实现多核。似乎并不直接对单个Tornado的执行效率有什么提升。
对于树莓派来说,撑爆CPU和IO能力的请求数,和能够拖死Tornado的非阻塞机制的请求数,有数量级上的差异。
这个优化打不到瓶颈上。所以我的答案是:没有。
(……其实最终的建议还是:玩具就是玩具。几乎任何情况下,树莓派都不应当做为生产环境)
没有。Tornado 进程数应当总是等于 CPU 核心数,这样一个 CPU 跑一个 Tornado 进程。当然你有其它比较需要 CPU 的服务的话还得减。
即使单 Tornado 进程也建议在前边放一个 Nginx,因为 Tornado 自身的 HTTP 实现没有 Nginx 完善。即使多 Tornado 进程也并不一定需要 Nginx,因为 Tornado 自身支持 fork 出多进程。