Que servidor Web recomiendan?


#1

Hola a todos amigos de la lista!
Les cuento mi inquietud.
Ya he terminado mi aplicacion en rails 2.1.2, ahora tengo que ponerlo en
produccion pero este sistema va a tener una alta concurrencia de
usuarios
estamos hablando de 200 usuarios conectados en linea todos los dias, es
un
sistema bastante grande…
Tengo entendido que mongrel no es recomendarle usarlo para produccion
entonces he leido en google sobre montar y correr una aplicacion rails
en
apache2 y se ve medio complicado la configuracion pero si hay
informacion
detallada al respecto…

El servidor en que voy a colocar el sistema en produccion tiene
instalado Debian Etch

He leido mucho pero quiero consultar primero a la lista para saber sus
opiniones.
que me recomiendan?

  1. rails en apache usando passenger?
  2. rails en Apache con CGI? (He leido al respecto y dicen que la app
    rails
    es extramadamente lenta y pesada)
  3. rails en Apache con FastCGI?
  4. rails en Apache con Simple CGI (SCGI)?
  5. rails en Apache configurando el mod_rewrite?

NOTA: Es importante racotar es que lo que quiero que mi aplicacion corra
rapido y que el Apache no me haga poner la aplicacion lenta. Ya que he
probado con mongrel y la aplicacion corre rapido

Muchas Gracias! espero sus recomendaciones
**


#2

Buenos dias lista,
Respondiendo a tu pregunta, te dire, que yo que no tengo muchos
conocimientos sobre puestas en producción (lo justito),y no hace mucho
puse una con apache + passenger, y la verdad es que es de lo más
sencillo, te metes en la pagina de passenger y en un ratillo estoy
seguro de que lo tienes funcionando, además, creo que es la opción más
habitual si quieres que tu app rails corra sobre apache, así que en mi
opinión:Passenger de calle ; P
Saludos


#3

Querido amigo si lo que quieres es velocidad ahora puedes usar
Passenger con NGiNX. Puedes consultar toda la documentación en
http://www.modrails.com/documentation.html
seguro que no te decepciona la velocidad de NGiNX.

Saludos


#4

En estos momentos me encuentro usando apache con passenger, todo me ha
ido
estupendamente, es muy fácil de instalar. Por otro lado estoy ansioso
por probar
nginx con passenger ya que según tengo entendido tiene una mejor
performance.

El 23/04/2009, a las 09:42 p.m., Manuel P.
escribió:

Hola a todos amigos de la lista!


#5

Hola Manuel,

yo estoy usando Apache con Passenger, corren sobre Ubuntu y hasta ahora
no
tengo problemas, claro que tambien no esta aun en produccion el servidor
este.

Lo cierto es que es muy sencillo de poner a andar, soy relativamente
nuevo
en el mundo de Rails, por el momento solo eso puedo aportar, espero
terminar
mi primera aplicacion rapido para poder contar mi experiencia.

Saludos,
Hernan

2009/4/23 Manuel P. removed_email_address@domain.invalid


#6

Gracias Gunnar por responder muy interesante tu analitica respuesta,
pero al
final no me das una conclusion o una recomendacion de cual deberia
usar…
Prefieres passenger o prefieres rails en Apache con Simple CGI (SCGI)?
este
ultimo es en donde he leido mas que dan la recomendacion

El 26 de abril de 2009 13:47, Gunnar W. removed_email_address@domain.invalid escribió:


#7

Manuel P. dijo [Thu, Apr 23, 2009 at 09:42:46PM -0430]:

Hola a todos amigos de la lista!
Les cuento mi inquietud.
Ya he terminado mi aplicacion en rails 2.1.2, ahora tengo que ponerlo en
produccion pero este sistema va a tener una alta concurrencia de usuarios
estamos hablando de 200 usuarios conectados en linea todos los dias, es un
sistema bastante grande…

Ummm… No te preocupes por 200 usuarios. A menos que sea de altísima
interactividad, esa cantidad rara vez se traducirá en, no sé, más de
una solicitud cada cinco segundos. Claro, a veces caen juntas, pero no
es una cantidad tremenda de usuarios.

Tengo entendido que mongrel no es recomendarle usarlo para produccion
entonces he leido en google sobre montar y correr una aplicacion rails en
apache2 y se ve medio complicado la configuracion pero si hay informacion
detallada al respecto…

¿Y por qué no? Justamente Mongrel es una de las maneras más escalables
y simples de desplegar aplicaciones Rails, independientemente de tu
servidor Web, e incluso distribuirlas transparentemente entre
servidores independientes.

El servidor en que voy a colocar el sistema en produccion tiene
instalado Debian Etch

Actualiza a Lenny si puedes, ahí tienes como parte del OS tanto a
Rails 2.1 como a Mongrel 1.1.5.

He leido mucho pero quiero consultar primero a la lista para saber sus
opiniones.
que me recomiendan?

  1. rails en apache usando passenger?

La principal ventaja de Passenger es ser muy fácil de configurar. Sin
embargo, me gusta mucho más la separación de procesos, usuarios…

  1. rails en Apache con CGI? (He leido al respecto y dicen que la app rails
    es extramadamente lenta y pesada)

Realmente no conviene, olvídalo.

  1. rails en Apache con FastCGI?
  2. rails en Apache con Simple CGI (SCGI)?

Ummm… Si bien te dan el rendimiento de Passenger (Rails corre bajo
su propio servidor de aplicaciones y “entuba” la comunicación con
Apache), son una mayor bronca tanto de configuración como de
mantenimiento.

  1. rails en Apache configurando el mod_rewrite?

Esto es independiente, mod_rewrite lo usarías para traducir URLs de un
esquema a otro, no entra al juego.

NOTA: Es importante racotar es que lo que quiero que mi aplicacion corra
rapido y que el Apache no me haga poner la aplicacion lenta. Ya que he
probado con mongrel y la aplicacion corre rapido

Todos los sistemas Rails que tengo bajo infraestructura que yo
administro están bajo Mongrel, y los que tengo en algún hosting ajeno
(DreamHost) corren con Passenger. El rendimiento es el mismo, dado que
el modelo de ejecución es muy similar. La principal diferencia es que
en Passenger, los procesos de Rails son descendientes de Apache, y con
Mongrel Apache sólo actúa como pasarela para el contenido dinámico.

Saludos,


Gunnar W. - removed_email_address@domain.invalid - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF


#8

Manuel P. wrote:

Ya he terminado mi aplicacion en rails 2.1.2, ahora tengo que ponerlo en
produccion pero este sistema va a tener una alta concurrencia de
usuarios
estamos hablando de 200 usuarios conectados en linea todos los dias, es
un
sistema bastante grande…
Tengo entendido que mongrel no es recomendarle usarlo para produccion

Yo he puesto en explotación www.rankia.com y www.verema.com, dos de las
100 webs en rails con más tráfico (según Alexa). De salida lo hicimos
con mongrel (un cluster con 4 mongrels para cada aplicación) + nginx, y
no tuvimos ningún problema en cuanto a las prestaciones, así que ya
ves…

Nuestros problemas eran sólo que a veces a los mongrels les costaba
bastante reiniciarse, de forma que si no te dabas cuenta y forzabas el
reinicio, algunos mongrels quedaban sirviendo la versión anterior de la
aplicación; lo comento por si a alguien le pasa lo de que sigue viendo
la versión anterior, que sepa que puede ser un fallo al reiniciar los
mongrels…

Los problemillas al reiniciar, más el hecho de que el “Core Team” de
Rails se pasó a Passenger, nos decidió a pasar también nosotros a Apache

  • Passenger. Ahora va un poquito mejor, sobre todo en consumo de
    memoria, pero la principal ganancia (y la única que realmente justifica
    el cambio) es que no hemos vuelto a tener problemas de fallos al
    reiniciar el servidor en un deploy.

s2


#9

Manuel P. dijo [Mon, Apr 27, 2009 at 08:03:54AM +1930]:

Gracias Gunnar por responder muy interesante tu analitica respuesta, pero al
final no me das una conclusion o una recomendacion de cual deberia usar…
Prefieres passenger o prefieres rails en Apache con Simple CGI (SCGI)? este
ultimo es en donde he leido mas que dan la recomendacion

Yo prefiero Apache con Mongrel. Si no tengo Mongrel disponible,
pues… Con Passenger. En órden, me sigo hacia SCGI y FCGI.

Saludos,


Gunnar W. - removed_email_address@domain.invalid - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF