В настоящее время у нас есть около 600 сайтов .net в одном пуле приложений. Мы начинаем избавляться от исключений из памяти и должны переработать пул приложений, чтобы решить проблему.
Я знаю, что в целом неплохо иметь отдельные пулы приложений для каждого сайта, но я не уверен, что реально иметь 600+ пулов приложений на одном сервере. Мы также будем добавлять 30+ новых сайтов в месяц.
Мои вопросы:
Кроме того, эти сайты имеют балансировку нагрузки между двумя серверами.
Не нужно много думать или искать технические данные - вы вне пределов.
В общем, есть очень простые сайты, которые после одной компиляции не нуждаются в долгих размышлениях, но есть также некоторые сложные сайты, которые, вероятно, имеют доступ к базе данных или другую обработку данных, требующую некоторого ресурса с вашего компьютера.
Также бывают случаи, когда один сайт из ваших 600 имеет серьезную ошибку или потребляет много памяти и влияет на остальные 599.
Один сайт из всех с функцией замкнутого цикла может вывести вас из строя в любой момент :)
Кроме того, в пуле должно быть не менее 600 каталогов на вашем корневом диске, где находится ваша ОС, и это также проблема ... много чтения / записи компиляторов, электронная почта, которую вы отправляете с вашими сайтами, файлы журнала iis , файл кеша ...
слишком много сайтов ...
Во-первых, я бы действительно хотел добавить сюда серверы, а не пулы приложений - это звучит немного скучно.
Что касается рассматриваемого вопроса, если ваш процесс развертывания достаточно автоматизирован - а это должно быть с таким количеством приложений - вы также можете в значительной степени автоматизировать создание соответствующих пулов приложений и т. Д.
Я бы начал с создания различных сценариев. Создайте пул приложений только с одним сайтом, затем один с 5 сайтами, один с 10 сайтами, один с 50 сайтами.
Посмотрите на ресурсы, которые используются в каждом из этих сценариев. Затем вы можете придумать число, которое хорошо работает с вашим приложением.
Также стоит заглянуть в веб-сад в вашем пуле приложений. Таким образом, единый пул приложений может распределять нагрузку между несколькими процессами.
Пул приложений - это, по сути, набор процессов, управляющих потоками приложений. Я предлагаю, чтобы дальнейшим путем было профилирование статистики использования приложений, а затем определение числа, которым можно успешно управлять в одном пуле приложений. Это полностью зависит от функции оборудования и ваших приложений, на самом деле не существует общего числа, которое имеет смысл во всех случаях.