используя ngnix перед node.js - PullRequest
1 голос
/ 08 октября 2010

Я использую ngnix перед 4 экземплярами node.js приложений, работающих на 1 машине (четырехъядерный)

Может ли любой ngnix эксперт дать мнелюбые советы о том, как настроить это, чтобы получить максимальную отдачу от веб-приложения.

Я использую connect/express фреймворки на узле, и я думаю, что они позволяют интеллектуальное кэширование и т. д., , но Яне уверен, какие биты разрешить ngnix делать, а какие битов для обработки каркасом.Любое руководство по получению максимальной отдачи от этой настройки будет большой помощью, спасибо.

1 Ответ

2 голосов
/ 08 октября 2010

Необходимо учитывать, что любой экземпляр Node будет использовать несколько потоков и, вероятно, будет занимать как минимум один поток, занятый вводом-выводом.Допустим, что вы запускаете 4 экземпляра на четырехъядерном ядре, это означает, что все 4 экземпляра будут создавать блокирующие потоки, а это означает, что у вас есть как минимум 4 блокирующих потока (если у вас занят сервер), что означает, что вы в какой-то момент заблокируете всю активностьдля коротких периодов.

Я бы предложил не запускать более (количество ядер) -1 экземпляров Node, чтобы быть наполовину уверенным, что по крайней мере что-то всегда движется.

Я предполагаю, чтоесть один блокирующий поток на экземпляр Node, но я могу ошибаться.Там может быть больше.Но суть остается прежней.Чем больше «свободных» тем вы запускаете, тем больше будет и «блокирующих» потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...