Прежде всего, я бы переключился на Linux, если бы мог, но не могу, из-за сторонней зависимости.
Я нахожусь в процессе завершения и развертывания приложения rails на сервере Windows 2008. Во время тестирования на сервере приложение работает мучительно медленно, каждый запрос занимает от 2 до 5 секунд. На моей машине для разработки это далеко не так медленно, и, насколько я могу судить, медлительность находится внутри самого Rails, т.е. Я вижу такие записи, как Completed 200 OK in 1859ms (Views: 1687.5ms)
на сервере, по сравнению с Completed 200 OK in 347ms (Views: 298.0ms)
на моей машине разработчика.
Я знаю, что Rails должен работать медленнее в Windows, чем в Linux, но почему он будет медленнее на сервере Windows, чем на моей машине с Windows 7?
В разработке я использую WEBrick, на сервере я работаю под Apache. Я также пробовал работать на моем компьютере разработчика, и это быстрее, чем что-либо, чем WEBrick. Кто-нибудь получил какие-либо предложения о том, что может вызвать такое большое замедление или что посмотреть? Все будет очень цениться.
Обновление: Похоже, что сам Ruby значительно медленнее работает на сервере. Выполнение следующего в irb занимает 0,6 секунды на моем компьютере разработчика, но в среднем более 3 секунд на сервере:
n = Time.now ; x = 0 ; 10000000.times { x += 1 } ; puts Time.now - n
Что может заставить Ruby работать на сервере намного медленнее (более чем в 3 раза)? Это может быть версия для Windows? Или что-то другое? Версия Ruby точно такая же: ruby 1.9.2p290 (2011-07-09) [i386-mingw32]
.
Обновите снова:
Чувствую себя глупо, если не упомянул об этом раньше, но это VPS. Однако, хотя я готов согласиться, это немного замедлит процесс - реалистичнее ли это в 3 раза?