1

Я использую Redmine под IIS, используя Zoo. Установка была выполнена с использованием установщика веб-платформы, а конфигурация по умолчанию не была затронута.

Однако при использовании приложения первые запросы выполняются очень долго (иногда более одной минуты). В течение этого времени ruby.exe вызывает некоторую нагрузку на процессор (около 15%).

Согласно файлам журнала, это в основном представления, которые отнимают много времени:

Started GET "/redmine/login" for IP at 2012-09-04 09:54:08 +0200
Processing by AccountController#login as HTML
  Rendered account/login.html.erb within layouts/base (42150.5ms)
Completed 200 OK in 43508ms (Views: 43008.5ms | ActiveRecord: 0.0ms)
  Rendered account/login.html.erb within layouts/base (42435.1ms)
Completed 200 OK in 44100ms (Views: 43523.3ms | ActiveRecord: 0.0ms)

После начальной задержки дальнейшее время запроса полностью приемлемо.

Есть идеи, как ускорить время прогрева?

2 ответа2

3

У меня возникла аналогичная проблема с Redmine, который я установил на сервере общего хостинга. В моем случае это среда linux/apache, но у меня точно такие же симптомы.

Поскольку это общий хостинг, я не могу контролировать всю среду. Я потратил немного времени, пытаясь это исправить, а затем прибег к простому обходному пути. Я создал задачу каждые 15 минут, чтобы получить домашнюю страницу Redmine:

*/15 * * * * /usr/bin/curl http://redmineserver.example.com/ --stderr - > /dev/null

Это делает мой трюк, очевидно, 15 минут достаточно для того, чтобы система загружала все и была готова к действию.

1

Смотрите этот вопрос на ServerFault. Вы должны быть в состоянии установить PassengerPoolIdleTime внутри своего конфигурационного файла, но при использовании IIS в качестве веб-сервера я не уверен, где это происходит.

Ок .. попробуйте эту тему вместо этого. Я не знаю, насколько вы контролируете свой сервер, но, надеюсь, это укажет вам правильное направление.

Если форумы недоступны, это наиболее актуальная часть:

Что касается IdleTimeout и длительной задержки при перезапуске, я просто думаю, что такое поведение может быть вызвано функцией отключения из пулов приложений IIS, но не IdleTimeout в fcgiext.ini. Пожалуйста, откройте свойство пула приложений сайта. Проверьте время простоя по умолчанию. Значение по умолчанию равно 20 минутам, что означает: если каждые 20 минут не поступает никаких запросов, IIS отключит этот пул, и любой новый входящий запрос после этого обязательно встретит «задержку» для ожидания перезапуска рабочего процесса IIS для пула приложений и перезагрузите все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .