Низкая производительность Orchard в Windows Azure

У меня есть небольшой веб-сайт Orchard, размещенный на Windows Azure. Этот веб-сайт в настоящее время настроен на использование БЕСПЛАТНОГО экземпляра веб-сайта. Я заметил, что при первом обращении к сайту через 20-30 минут загрузка занимает некоторое время (> 5 секунд). После этой начальной загрузки я могу вернуться на сайт, и это будет быстро. Я подозреваю, что пул приложений довольно часто перерабатывается как БЕСПЛАТНЫЙ экземпляр веб-сайта Azure.

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

1) Есть ли способ в файле web.config моего сайта Orchard установить частоту повторного использования пула приложений? Мне действительно нужно, чтобы этот сайт был быстрым.

2) Если я использую «ОБЩИЙ» экземпляр веб-сайта, решит ли это проблему утилизации?

3) Или мне нужен "РЕЗЕРВНЫЙ" экземпляр веб-сайта.

Моя главная цель здесь - с минимальными затратами достичь моей цели по быстрой загрузке моего веб-сайта после того, как к нему не обращались какое-то время. Я просто не уверен, что я могу / должен делать.

Спасибо!


person user687554    schedule 26.12.2012    source источник


Ответы (2)


Я использую комбинацию следующего для проблем с производительностью:

  1. Я включаю модуль Keep Alive
  2. Я включаю модуль Warmup и в Performance настройках добавляю мои самые посещаемые страницы
  3. Я вручную установил машинный ключ внутри web.config, чтобы сеансы продолжались независимо от повторного использования - это может быть проблемой, если для веб-сайта внутри IIS выделено недостаточно памяти.

Эти шаги не относятся конкретно к Azure, а относятся к любому виду хостинга. Особенно при использовании экземпляров общих веб-сайтов Azure, поскольку они не более чем общий хостинг (в отличие от облачных служб Azure).

person Ivan Ferić    schedule 26.12.2012
comment
Интересно, что про модуль keep alive я не знал. Незначительные исправления: (1) это связано с Azure, поскольку OP спрашивал обо всех параметрах в Azure (я понял, что это означает, что он / она был открыт для использования веб-ролей, а также для зарезервированных экземпляров). (2) Зарезервированные экземпляры для веб-сайтов Azure не являются общим хостингом - вы получаете собственную виртуальную машину. - person Giscard Biamby; 26.12.2012
comment
Когда я сказал, что речь не идет об Azure, я имел в виду, что мой ответ не был конкретно для Azure. Ответ связан с любым хостингом, включая Azure. Однако вы правы в том, что зарезервированные экземпляры не похожи на виртуальный хостинг. - person Ivan Ferić; 26.12.2012

Веб-роль Azure можно легко сделать быстрой и избежать проблем с повторным использованием пула приложений, поэтому подумайте о своем плане Б после опробования всех вариантов с веб-сайтами Azure.

Я не пробовал работать с веб-сайтами Azure, поэтому там это может быть, а может и нет. Информация о том, можете ли вы настроить параметр времени ожидания для зарезервированного экземпляра, расплывчата. Вы можете попробовать использовать функцию разминки (панель инструментов -> производительность). Это должно периодически загружать некоторые страницы, что предотвратит тайм-аут простоя appPool. Вы также можете попробовать внешние сервисы, такие как pingdom.com или что-то подобное, которые будут периодически пинговать ваш сайт, чтобы предотвратить его повторное использование.

Если вы в конечном итоге перейдете на веб-роли, вы определенно сможете это сделать. В последних сборках Orchard (v1.6 +) время ожидания простоя appPool по умолчанию установлено равным 0 (никогда не истекает). В целом вы получите гораздо больший контроль над производительностью и другой конфигурацией, если будете использовать веб-роль, а не лазурные веб-сайты. Главный недостаток этого выбора заключается в том, что вы теряете некоторые параметры развертывания, а развертывание занимает намного больше времени (они все еще просты, они просто занимают время).

person Giscard Biamby    schedule 26.12.2012