Un par de razones importantes
- está escrito en Ruby (ver http://github.com/ruby/ruby/tree/trunk/lib/webrick )
- Editado no tiene muchas características que un sitio web de producción generalmente necesita, como múltiples trabajadores (en particular, pre-bifurcación, administración del ciclo de vida, manejo asincrónico, etc.), redirecciones, reescritura, etc.
Cuando menciono redirecciones / reescrituras, me refiero al hecho de que al usar Webrick, debes manejar las reescrituras en una capa diferente (Rack, Sinatra, Rails, código personalizado de Webrick, etc.). Esto requiere que active "manejadores" ruby adicionales para realizar su reescritura de código. Para un sitio con poco tráfico, esto puede estar bien, ya que es posible que ya tenga procesos precalentados que no hagan nada. Sin embargo, para un sitio de mayor tráfico, esto es una carga adicional en el servidor para algo que los servidores front-end (Apache, Nginx, etc.) pueden manejar sin hacer girar Ruby *, y probablemente órdenes de magnitud más rápido.
* por ejemplo, si se está ejecutando detrás de un equilibrador de carga, puede enrutar todo el tráfico de reescritura a un servidor que no tenga Ruby instalado y dejar que sus servidores principales solo administren el tráfico principal. Este tráfico de reescritura puede deberse a cambios en el sitio para SEO o algo similar. Otro caso sería un sitio que tiene varios componentes, y tal vez una sección es Rails, otra es PHP, y se necesitan reescrituras para ambos (es decir, reescribir las antiguas rutas de PHP a Rails)