Пара важных причин
- он написан на Ruby (см. http://github.com/ruby/ruby/tree/trunk/lib/webrick )
- Отредактированный, он не имеет многих функций, которые обычно нужны производственному веб-сайту, таких как несколько рабочих (в частности, предварительный форк, управление жизненным циклом, асинхронная обработка и т. Д.), Перенаправления, перезапись и т. Д.
Когда я упоминаю перенаправления / перезапись, я имею в виду тот факт, что при использовании Webrick вы должны обрабатывать перезапись на другом уровне (Rack, Sinatra, Rails, пользовательский код Webrick и т. Д.). Это требует от вас запуска дополнительных рубиновых «обработчиков» для выполнения вашего кода перезаписи. Для сайта с низким трафиком это может быть нормально, поскольку у вас могут быть предварительно нагретые процессы, которые уже ничего не делают. Однако для сайта с более высоким трафиком это дополнительная нагрузка на сервер из-за того, что серверы переднего плана (Apache, Nginx и т. Д.) Могут справиться без раскрутки Ruby * и, вероятно, на несколько порядков быстрее.
* например, если вы работаете за балансировщиком нагрузки, вы можете направить весь перезаписанный трафик на сервер, на котором не установлен Ruby, и позволить вашим основным серверам управлять только основным трафиком. Этот трафик перезаписи может быть связан с изменениями сайта для SEO или чем-то подобным. Другим случаем может быть сайт, который имеет несколько компонентов, и, возможно, один раздел - это Rails, другой - PHP, и для обоих необходимы перезаписи (т.е. переписать старые пути PHP на Rails)