2017-01-19 14 views
0

Итак, у нас есть среда VM, использующая VMWare, состоящую из 5 серверов. сервер базы данных,все веб-сайты на веб-серверах на 100%

  • Database Server
  • File Server (все содержание сайта здесь)
  • 3 WebServers в конфигурации балансировки нагрузки

Другие ноты:

  • Веб-сайт приложения использует .NET 3.5
  • WebServers под управлением Windows Server 2008 R2 Standard с IIS 7.5
  • Каждый виртуальный веб-сервер работает Xeon 2680 с 4 ядрами и 16gb барана
  • сервер
  • Database отлично

Есть около 30 сайтов на каждом веб-сервере, который направлено с помощью физического балансировочного балансира через циклический ровин.

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

, что папка является общей, и отображается в виде виртуальной папки для всех сайтов

Таким образом, все сайты тянуть изображения, трейлеры из той же папки. В настоящее время в корневой папке находится около 1400000 файлов и пару тысяч в 7 подпапках в папке общего содержимого.

Проблема в том, что в некоторых случаях все веб-серверы идут на 100% -ный процессор и заставляют все веб-сайты не реагировать по мере поступления большего количества запросов. Приложение основано на ASP.NET 3.5, сервер начинается возвращение 503

сайтов настроены на использование ASP.NET File Caching на основе

Мы догадывались, что-то делать с папкой SharedContent и все файлы в нем. Мы выполнили тест по перемещению 30 файлов в общую папку (отображаемую как виртуальный каталог на всех сайтах) вручную - сначала файловый сервер достиг максимума до 100% CPU (возможно, переиндексируя файлы), тогда этот эффект каскадировался на все 3 веб-сервера , все веб-серверы попали на 100% процессор и остались там

Единственный способ вернуть веб-серверы к функциям - это процесс уничтожения с высоким использованием процессора от диспетчера ресурсов.

мы не знаем, почему это происходит - мы работаем над патчем для распространения файлов в этой папке, которая будет в конечном итоге создать вложенные папки и перемещать файлы там

, что мы не знаем, что такое причина этого?- если мы добавим несколько файлов (скопировав 20-30 файлов) в эту папку быстро, процессор сначала запустится на сервере содержимого файла, а затем один за другим все веб-серверы также начнут снимать до 100% использования ЦП

во время этих отключения:

  • трафик был нормальный
  • операции были нормальными - не огромные файлы вдруг добавляются в эту папку

если кто имеет какие-либо идеи, почему это происходит? или причина этого?

Кто-нибудь испытал что-нибудь подобное раньше?

обновление: 20/1/17

Все сайты имеют свой собственный пул приложений на каждом веб-сервере.

Единственными ошибками, которые были добавлены в средстве просмотра событий в то время, были таймауты запроса.

Инфраструктура была перенесена с физической среды на виртуальные машины в августе прошлого года и не имела проблемы.

В конце ноября 2016 года 3 веб-сайта были обновлены до .net 4.5, остальные оставались на .net 3.5. Первый экземпляр этой проблемы произошел в конце декабря.

Мы попытались добавить еще одну роль разрешения в папку SharedContent, которая запустила до 100% CPU в пиковый период. Нам пришлось отменить операцию.

Движение было нормальным.

SharedContent сконфигурирован как сопоставленный диск.

+0

У вас есть утечка памяти где-то в приложении. – Asdfg

+0

Это один конкретный рабочий процесс, который попадает на 100% процессор? Кроме того, хотя технически возможно, я видел проблемы при хранении большого количества файлов в одной папке, можно ли разбивать файлы 1.4M на разные папки.Кроме того, я могу представить, что все содержимое поступает с 1 сервера контента, и это может привести к большому стрессу на этом поле и «сети» между полями содержимого и самими веб-серверами? – Liam

+0

Это происходит на всех процессах веб-сайта. Кажется, он каскадируется для всех 3 веб-серверов и заставляет всех из них достигать 100%. Да. весь контент хранится на файловом сервере, а веб-серверы просто сопоставляются с ним. Папка Sharedcontent находится за пределами основной папки веб-сайтов. Что я не понимаю, так это то, как он каскадирует все 3 веб-сервера? Внутренняя связь между виртуальными машинами - 1 гигабит. – KevinC

ответ

0

Вот что я могу проверить;

У всех сайтов есть свой собственный пул приложений или он делится между всеми 30 сайтами на каждом сервере.

Вы изолировали точный процесс, который использует 100%?

Неверно добавлены ошибки в просмотрщик событий?

Получаете ли вы всплески во внешнем трафике/внутреннем трафике.

Возникла ли ошибка на хосте vm?

Являются ли физические процессоры более выделенными для vms?

Являются ли компьютеры контроллером домена? Это запускает какие-либо действия по обновлению в ящиках?

Как работает общий контент, подключенный диск или распределенная файловая система MS? При использовании DFS какая топология?

+0

Добавлена ​​дополнительная информация в исходное сообщение – KevinC