Что использует Slicehost для обслуживания?
Быстрые варианты - это такие вещи, как: Mongrel или apache mod_rails (также называемый пассажирским
что-то вроде того)
Это выделенные серверы (или плагины для серверов), которые запускают экземпляр вашего приложения rails.
Если ваш хост не использует это, то, вероятно, по умолчанию используется CGI. Rails поставляется с простым CGI-скриптом, который будет обслуживать страницу, но он перезагружает приложение для каждой страницы.
(edit: я подозреваю, что это наиболее вероятный случай, когда ваше приложение запускается из CGI в /webapp_directory/public/dispatch.cgi, что объясняет медлительность. Обычно это развертывание по умолчанию на многих хосты, так как это не требует дополнительной настройки с их стороны, но не дает хорошей производительности)
Если ваш хост поддерживает "Fast CGI", rails также это поддерживает. Fast CGI откроет сеанс CGI и сохранит его открытым для нескольких страниц, так что вы получите гораздо лучшую производительность, но она не так хороша, как Mongrel или mod_rails.
Во-вторых, это в режиме «производства» или «разработки»? Самый простой способ узнать это - перейти на страницу вашего приложения, которая выдает ошибку. Если он показывает трассировку стека, он находится в режиме разработки, который медленнее, чем производственный режим. Mongrel и mod_rails имеют параметры запуска, чтобы определить, следует ли запускать приложение в производственном режиме или в режиме разработки.
Наконец, если по какой-либо причине ваша база данных работает медленно, это также будет большим узким местом. Если у вас есть хорошее развертывание (Mongrel / mod_rails / etc.) В производственном режиме, попробуйте разобраться в этом.