nginx : Son Multithread, mais utilise plusieurs processus?

J'essaie de comprendre ce qui fait de Nginx si vite, et j'ai quelques questions.

Comme je le comprends, Apache soit génère un nouveau processus pour servir la demande génère un nouveau thread pour servir chaque demande. Puisque chaque nouveau thread actions espace d'adressage virtuel de l'utilisation de la mémoire conserve monte si il y a un certain nombre de requêtes simultanées venir dans.

Nginx résout ce problème en ayant juste un processus d'écoute(Master), avec un seul thread d'exécution ET de 2 ou 3(le numéro est configurable) les processus de travail. Ce Maître de processus/thread exécute une boucle d'événements. Effectivement en attente pour toutes les demandes entrantes. Lorsqu'une demande arrive, il donne à qui demande à l'un des processus de travail.

S'il vous plaît corrigez-moi si ma compréhension n'est pas correct

Si ce qui précède est correct, alors j'ai quelques questions:

1.) N'est-ce pas le processus de travail va générer plusieurs threads et va courir dans la même situation que apache ?

2.) Ou est-nginx rapide, car son événement basé sur une architecture utilise non bloquantes-IO en dessous de tout. Peut-être que le processus de travail engendre des threads qui ne seulement de blocage non-IO, est ce que c'est ?

3.) Ce "exactement" est l'événement "architecture", quelqu'un peut vraiment simplifier, pour soemone comme moi de comprendre. C'est juste qu'il a trait à la non-blocage-io ou quelque chose d'autre ?

J'ai eu une référence de c10k, je suis en train de passer par là, mais je ne pense pas que ses propos de l'événement en fonction de l'arch. il semble de plus pour les non bloquantes IO.

  • Non bloquantes IO exige un événement basé sur l'architecture.
  • Pour information, Juste au cas où vous souhaitez en savoir plus - j'ai blogué la réponse avec d'autres matériaux + de vidéos ici : planetunknown.blogspot.com/2011/02/...