Je configure un serveur web Apache2 exécutant plusieurs applications web Ruby on Rails avec Phusion Passenger. Je sais que Passenger engendre des processus Ruby pour traiter les demandes. J'ai les questions suivantes:Comment Phusion Passenger réutilise-t-il les fils et les processus?
- Si plus d'une demande doit être traitée en même temps, le passager engendrera-t-il plusieurs processus ou plusieurs threads (Ruby)? Comment est-ce que je le configure afin qu'il engendre toujours des processus mono-thread?
- Si j'ai deux applications Rails, j'imagine qu'une requête pour l'application A va au processus 1, alors la demande de l'application B arrive plus tard. Est-il possible que le processus 1 traite également cette demande? Quand et comment est-ce possible? En d'autres termes, un processus est-il autorisé à gérer les demandes pour plusieurs applications Rails?
- J'ai la même application Rails exportée dans plusieurs URL et plusieurs hôtes virtuels (tels que http: // et https: //). Le même processus sera-t-il capable de servir différents hôtes virtuels? (La réponse à cette question semble être oui, j'ai défini une variable globale en répondant à une requête à l'hôte virtuel A, et j'ai pu récupérer la valeur dans l'hôte virtuel B.)
La version payante de Passenger a désormais la possibilité de générer des threads et des processus. – Kris