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

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

大家讲道理
大家讲道理

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

membalas semua(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 出多进程。


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan