Почему Ruby работает на Windows Server намного медленнее, чем на компьютере с Windows? - PullRequest
5 голосов
/ 14 ноября 2011

Прежде всего, я бы переключился на 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 раза?

1 Ответ

1 голос
/ 29 ноября 2011
...