2010-10-08 6 views
1

J'utilise ngnix Infront de 4 cas de node.js applications en cours d'exécution sur 1 machine à (quad core)utilisant ngnix Infront de Node.js

Peut-ngnix experts me donner des conseils sur la façon de configurer cette pour tirer le meilleur parti de l'application web.

J'utilise connect/express cadres sur le nœud et je pense qu'ils permettent la mise en cache intelligente etc, mais je ne suis pas sûr de laisser les bits ngnix faire et qui les bits pour laisser manipuler les cadres. Toute aide pour tirer le meilleur parti de cette configuration sera une aide précieuse, merci.

+1

configuration intéressante. Jetez un oeil à deftserver.org si vous êtes intéressé par un benchmarking de performance nginx/node.js – Schildmeijer

+0

Vous avez un sentiment que defserver va être populaire auprès de la communauté Java. Ça a l'air impressionnant. – fullstacklife

Répondre

2

Vous devez prendre en compte le fait qu'une instance de nœud utilisera plusieurs threads, et conservera probablement au moins un thread occupé par des E/S. Alors disons que vous exécutez 4 instances sur un quad core, cela signifie que les 4 instances produiront des threads bloquants, ce qui signifie que vous avez au moins 4 threads bloquants (si vous avez un serveur occupé) ce qui signifie que vous bloquerez toute activité pour de courtes périodes.

Je suggère de ne pas démarrer plus de (nombre de cœurs) -1 instances de nœud, pour être à moitié sûr qu'au moins quelque chose continue à bouger. Je suppose qu'il y a un thread bloquant par instance de nœud, mais je peux me tromper. Il pourrait y en avoir plus. Mais le point reste le même. Les threads les plus «libres» que vous commencez, plus les threads «bloquants» seront créés.

+0

Intéressant, je pense maintenant à descendre à une instance alors. L'application Web n'a rien de blocage autant que je peux voir. Comme j'ai d'autres choses en cours d'exécution sur le serveur (étant un cheapskate) comme mongodb et redis. J'ai peut-être même besoin de ffmpeg ou d'un tel plus tard. Pensez-vous que 1 derrière ngnix ok? Considéreriez-vous laisser tomber nginx tout à fait? – fullstacklife

+0

je n'ai pas utilisé connect ou express donc je ne peux pas dire ce qu'il peut ou ne peut pas faire par rapport à nginx. –