Birkaç önemli neden
- Ruby'de yazılmıştır (bkz. http://github.com/ruby/ruby/tree/trunk/lib/webrick )
- Düzenlenen , bir üretim web sitesinin genellikle ihtiyaç duyduğu, birden çok çalışan (özellikle, ön çatallanma, yaşam döngüsü yönetimi, eşzamansız kullanım, vb.), Yönlendirmeler, yeniden yazma vb. Gibi pek çok özelliğe sahip değildir.
Yönlendirmelerden / yeniden yazmalardan bahsettiğimde, Webrick'i kullanarak yeniden yazma işlemlerini farklı bir katmanda (Rack, Sinatra, Rails, özel Webrick kodu, vb.) Yapmanız gerektiği gerçeğinden bahsediyorum. Bu, yeniden yazma kodunuzu gerçekleştirmek için fazladan Ruby "işleyicileri" döndürmenizi gerektirir. Düşük trafikli bir site için, halihazırda hiçbir şey yapmadan önceden ısıtılmış işlemlere sahip olabileceğiniz için bu iyi olabilir. Bununla birlikte, daha yüksek trafikli bir site için, bu, ön uç sunucuların (Apache, Nginx, vb.) Ruby * 'yi döndürmeden işleyebileceği bir şey için sunucuya fazladan yük ve muhtemelen daha hızlıdır.
* örneğin, bir yük dengeleyicinin arkasında çalışıyorsanız, tüm yeniden yazma trafiğini Ruby'nin kurulu olmadığı bir sunucuya yönlendirebilir ve ana sunucularınızın yalnızca birincil trafiği yönetmesine izin verebilirsiniz. Bu yeniden yazma trafiği, SEO için site değişikliklerinden veya benzer bir şeyden kaynaklanıyor olabilir. Başka bir durum, birden fazla bileşeni olan bir site olabilir ve belki bir bölüm Rails, diğeri PHP'dir ve her ikisi için yeniden yazımlara ihtiyaç vardır (yani eski PHP yollarını Rails'e yeniden yazın)