Если Rails загружен в разработке, контроллеры не кэшируются (по умолчанию), что может увеличить задержку и не может быть зафиксировано измерением Rails (не могу сказать, что я смотрел).
Еще одна вещь, на которую стоит обратить внимание, это используемый сервер Rack.WEBrick работает как чемпион, но мучительно медленно;Thin и Unicorn значительно быстрее обрабатывают запросы.Я хотел бы рассмотреть возможность использования промежуточного программного обеспечения Rack или Rails Metal, если вам нужно оптимизировать действие по скорости.
На уровне TCP поиск DNS localhost-> 127.0.0.1 займет некоторое небольшое время.Кроме того, wget должен установить новый сокет для приложения.Ничто из этого не может быть измерено самим приложением.
Для чего стоит тот же эксперимент с приложением Rails 2.3.12, работающим на Unicorn 4.0.1, попавшим на страницу входа:
Завершено за 16 мс (DB: 4) |302 Найдено [http://localhost/]
real 0m0.407s
user 0m0.000s
sys 0m0.010s
Обновление от 28.09.2011:
Копирование на уровне HTTP, curl поддерживает отслеживание запроса URL с выходными данными метки времени:
curl --trace-ascii trace.log --trace-time http://localhost:3000
Чтобы копать немного дальше и видеть фактические вызовы, попробуйте использовать straceс включенным режимом хронометража:
strace -T curl http://localhost:3000
Пример выходных данных для обоих из них доступен в виде gist .