mongrel_cluster lance plusieurs mongrel process pour une meme
application.
L’interet est que si un process tombe, ton appli reste tjrs up.
Tu remarqueras que tu ne peux pas lancer plusieurs process mongrel a la
main
pour une meme application :-))))
Au passage, je rajoute un commentaire. Clusteriser c’est bien pour la
securite d’une application. Ce qui me gene c’est que dans tous les
exemples
que j’ai pu voir de deploiement d’appli avec mongrel_cluster, tout se
fait
sur la meme machine. Or d’apres mon experience, mongrel est super stable
(+
l’on l’a souvent derriere un apache). Donc limite pas besoin de
plusieurs
instances. En fait, pour moi, un “vrai” cluster se fait avec plusieurs
machines (pour au final avoir 2 ou x “chaines” avec une seule chaine
active
a un moment t puis passage sur une deuxieme chaine si la premiere
tombe).
Quelles sont vos opinions sur cela ?
il y a un interet de performances. si tu a splusieurs CPU ou plusieurs
cores, il est evident que tu gagneras a avoir
plusieurs process. mais meme avec un seul CPU, il est toujours bon
d’avoir plusieurs process en cours (dans un nombre
raisonnable bien sur) : pendant que l’un attend un acces disque, l’autre
peut profiter du CPU.
gUI
–
Pour la santé de votre ordinateur, préférez les logiciels libres !
il y a un interet de performances. si tu a splusieurs CPU ou plusieurs
cores, il est evident que tu gagneras a avoir
plusieurs process. mais meme avec un seul CPU, il est toujours bon d’avoir
plusieurs process en cours (dans un nombre
raisonnable bien sur) : pendant que l’un attend un acces disque, l’autre
peut profiter du CPU.
il y a un interet de performances. si tu a splusieurs CPU ou plusieurs
cores, il est evident que tu gagneras a avoir
plusieurs process. mais meme avec un seul CPU, il est toujours bon d’avoir
plusieurs process en cours (dans un nombre
raisonnable bien sur) : pendant que l’un attend un acces disque, l’autre
peut profiter du CPU.
Le fichier log d’une des instances mongrel_cluster est comme suit :
** Daemonized, any open files are closed. Look at tmp/mongrel.8000.pid
and log/mongrel.8000.log for info.
** Starting Mongrel listening at 0.0.0.0:8000
** Changing group to mongrel.
** Changing user to mongrel.
** Starting Rails with production environment…
** Mounting Rails at /home/rails/projects/myapps…
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:30:in gem_original_require': no such file to load -- /home/rails/projects/jokes/config/environment (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:30:inrequire’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:157:in rails' from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:116:incloaker_’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:138:in call' from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:138:inlistener’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:98:in cloaker_' from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:51:incall’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/configurator.rb:51:in initialize' from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:83:innew’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:83:in run' from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/command.rb:211:inrun’
from /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:248
from /usr/bin/mongrel_rails:16:in `load’
from /usr/bin/mongrel_rails:16
Le fichier de configuration yaml de mongrel_cluster est :