Accepter/l'expansion de ce qui a déjà été dit, je ne pense pas que FastCGI permettra de résoudre le problème.
Apache
Chaque demande dans Apache utilise un thread jusqu'à ce que la demande se termine, ce qui peut être long pour la COMÈTE demandes.
Cet article sur Ajaxian mentionne l'utilisation de la COMÈTE sur Apache, et que c'est difficile. Le problème n'est pas spécifique à PHP, et s'applique à tout le back-end de module CGI vous souhaiterez peut-être utiliser sur un serveur Apache.
La solution proposée est d'utiliser les "événement" MPM module qui modifie la façon dont les demandes sont expédiés vers les threads de travail.
Ce MPM essaie de résoudre le problème
le "keep alive" problème dans HTTP.
Après un client a terminé la première
demande, le client peut garder l'
connexion ouverte, et envoyer d'autres
les demandes en utilisant le même socket. Cette
pouvez économiser de manière significative la surcharge due à
la création de connexions TCP. Cependant,
Apache traditionnellement conserve un ensemble de
enfant de processus/thread en attente pour les données
de la part du client, ce qui amène son propre
les inconvénients. Pour résoudre ce problème,
ce MPM utilise un thread dédié à l'
gérer les sockets en Écoute, et
tous les sockets dans un Keep Alive
état.
Malheureusement, cela ne fonctionne pas non plus, car il ne 'snooze' après une demande est complète, en attente d'une nouvelle demande de la part du client.
PHP
Maintenant, compte tenu de l'autre côté du problème, même si vous résoudre la question de la détention de l'un thread par la comète de demande, vous aurez toujours besoin d'un PHP thread par la demande - c'est pourquoi FastCGI n'aidera pas.
Vous avez besoin de quelque chose comme des Prolongements qui permettent la comète demande à être repris lors de l'événement, ils sont déclenchés par est observée. Autant que je sache, ce n'est pas quelque chose qui est possible en PHP. J'ai seulement vu en Java - voir l'Apache Tomcat serveur.
Edit:
Il y a un article ici sur l'utilisation d'un répartiteur de charge (HAProxy) pour vous permettre d'exécuter à la fois un serveur apache et une comète serveur activée (par exemple, jetty, tomcat, Java) sur le port 80 de la même serveur.