对于树莓派这样的单核CPU,使用Nginx进行负载均衡跑多个Tornado进程有无意义
大家讲道理
大家讲道理 2016-11-12 15:16:08
0
3
1056

如题,在树莓派上跑Tornado程序,前端是否需要再放置一个Nginx做负载均衡,有利于性能的提高嘛?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(3)
代言

无意义 树莓派可提供的系统资源太少,即使跑单实例也无法跟商用服务器相提并论,在这种情况下装多实例反而会降低性能。树莓派的设计初衷和定位是用于研究学习,拿来当应用服务器使用并不是最佳选择。

普通的民用汽车无论如何改装都无法上 F1 赛道参赛的。


代言

被树莓派的问题吸引过来。

Tornado是非阻塞的,Tornado+Nginx的组合,主要是为了填Python实现中GIL的坑,更好的实现多核。似乎并不直接对单个Tornado的执行效率有什么提升。

对于树莓派来说,撑爆CPU和IO能力的请求数,和能够拖死Tornado的非阻塞机制的请求数,有数量级上的差异。

这个优化打不到瓶颈上。所以我的答案是:没有。

(……其实最终的建议还是:玩具就是玩具。几乎任何情况下,树莓派都不应当做为生产环境)


代言

没有。Tornado 进程数应当总是等于 CPU 核心数,这样一个 CPU 跑一个 Tornado 进程。当然你有其它比较需要 CPU 的服务的话还得减。

即使单 Tornado 进程也建议在前边放一个 Nginx,因为 Tornado 自身的 HTTP 实现没有 Nginx 完善。即使多 Tornado 进程也并不一定需要 Nginx,因为 Tornado 自身支持 fork 出多进程。


최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿