2013-01-14 19 views
0

我對nginx + tornado的一個常見配置是讓nginx提供靜態文件,然後作爲逆向代理服務器用於某些上游龍捲風應用服務器。我知道這種配置通常用於通過阻止龍捲風的wsgi(如Django)爲應用程序提供服務。在這種情況下,通常的做法是運行儘可能多的龍捲風進程,以適應內存,然後在進程間進行nginx前端循環。運行比核心更多的龍捲風進程是否有優勢?

如果我要使用CDN而不是nginx來提供靜態文件並以非阻塞方式運行龍捲風,那麼運行更多總進程(即每個內核有1個nginx和1個龍捲風)還是有優勢嗎?機器上的內核?

回答

0

如果Tornado實例沒有阻塞代碼,那麼運行更多的Tornado實例並不比CPU內核數量多得多。通過阻止代碼(例如在IOLoop中使用阻塞庫或db驅動程序),建議運行比核心更多的實例以更好地利用CPU資源(每個核心2-3個)。