Beberapa alasan penting
- itu tertulis di Ruby (lihat http://github.com/ruby/ruby/tree/trunk/lib/webrick )
- Diedit, ia tidak memiliki banyak fitur yang biasanya dibutuhkan situs web produksi, seperti banyak pekerja (khususnya, pra-percabangan, manajemen siklus hidup, penanganan asinkron, dll), pengalihan, penulisan ulang, dll.
Ketika saya menyebutkan pengalihan / penulisan ulang, saya mengacu pada fakta bahwa menggunakan Webrick, Anda harus menangani penulisan ulang pada lapisan yang berbeda (Rack, Sinatra, Rails, kode Webrick kustom, dll). Ini mengharuskan Anda untuk menjalankan "penangan" ruby ekstra untuk menjalankan kode penulisan ulang Anda. Untuk situs dengan lalu lintas rendah, ini mungkin baik-baik saja karena Anda mungkin memiliki proses pemanasan sebelumnya yang belum melakukan apa pun. Namun, untuk situs dengan lalu lintas yang lebih tinggi, ini adalah beban tambahan pada server untuk sesuatu yang dapat ditangani oleh server ujung depan (Apache, Nginx, dll) tanpa menjalankan Ruby *, dan mungkin lipat lebih cepat.
* misalnya, jika Anda menjalankan di belakang penyeimbang beban, Anda dapat merutekan semua lalu lintas penulisan ulang ke server yang tidak memasang ruby, dan membiarkan server utama Anda hanya mengelola lalu lintas utama. Lalu lintas penulisan ulang ini mungkin disebabkan oleh perubahan situs untuk SEO, atau sesuatu yang serupa. Kasus lain adalah situs yang memiliki banyak komponen, dan mungkin satu bagian adalah Rails, yang lainnya adalah PHP, dan penulisan ulang diperlukan untuk keduanya (yaitu menulis ulang jalur PHP lama ke Rails)