0

私が nginx + tornado で見た一般的な構成は、nginx に静的ファイルを提供させてから、アップストリームの tornado アプリ サーバーへのリバース プロキシとして機能させることです。この構成は、トルネードをブロックする wsgi (Django など) を介してアプリケーションを提供するためによく使用されることを知っています。その場合、通常のアプローチは、メモリに収まる限り多くのトルネード プロセスを実行し、プロセス間で nginx フロント ラウンド ロビンを実行することです。

nginx の代わりに CDN を使用して静的ファイルを提供し、トルネードをノンブロッキング方式で実行する場合、マシン上にコアがあるよりも多くの合計プロセス (つまり、コアごとに 1 つの nginx と 1 つのトルネード) を実行する利点はありますか? ?

4

1 に答える 1

0

Tornado インスタンスにブロッキング コードがない場合、CPU コアの数よりも多くの Tornado インスタンスを実行しても得られるものはほとんどありません。ブロッキング コード (ブロッキング ライブラリや IOLoop 内の db ドライバーの使用など) を使用する場合は、コアよりも多くのインスタンスを実行して、CPU リソースをより有効に利用することをお勧めします (コアあたり 2 ~ 3)。

于 2013-01-20T10:56:58.777 に答える