Перші прохання болісно повільні


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)

Після першої затримки подальший час запиту є цілком прийнятним.

Будь-які ідеї, як пришвидшити час розминки?

Відповіді:


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 для пулу додатків і перезавантажити все.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.