2008-08-13 7 views
4

Мы запускаем собственное приложение в нашей интрасети, и мы обнаружили проблему после ее обновления в последнее время, когда IIS зависает с 100% -ным использованием ЦП, требуя сброса.Репликация сбоев, связанных с нагрузкой, в непроизводственных средах

Вместо того, чтобы подвергать пользователей зависанию, мы вернулись к предыдущему выпуску, пока мы определяем решение. Первый шаг - воспроизвести проблему, но мы не можем.

Вот некоторый фон:

Prod имеет один виртуализованный (VMWare) веб-сервер с двумя процессорами и 2 Гб оперативной памяти. Сервер базы данных имеет 4 ГБ и 2 ЦП. Это также на VMWare, но отдельное физическое оборудование.

При нормальном использовании приложение работает нормально. Процесс w3wp.exe обычно использует betwen 5-20% CPU и около 200 МБ ОЗУ. CPU и RAM немного колеблются при нормальном использовании, но ничего необычного.

Однако, когда мы начинаем сталкиваться с проблемами, ОЗУ резко поднимается, а процессор привязывается на 98% (или столько, сколько он может получить). Сайт становится невосприимчивым, что требует перезапуска IIS. Сброс пула приложений ничего не делает в этой ситуации, требуется полный перезапуск IIS.

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

Первый шаг к решению этой проблемы - воспроизведение. Чтобы имитировать нагрузку, мы начинаем использовать JMeter для имитации использования. Наш сценарий загрузки основан на фактическом использовании во время сбоя. Используя JMeter, мы можем увеличить частоту использования (в 2-3 раза больше нагрузки во время сбоя), но сайт ведет себя отлично. CPU высок, и сайт становится вялым, но использование памяти разумно и ничего не висит.

Есть ли у кого-нибудь советы о том, как воспроизвести такую ​​проблему в непроизводственной среде? Мы действительно хотели бы воспроизвести ошибку, определить решение, а затем снова проверить, чтобы убедиться, что мы это разрешили. Во время этого процесса мы нашли несколько небольших вещей, которые мы улучшили, которые могут решить проблему, но я бы чувствовал себя намного увереннее, если бы смог воспроизвести проблему и протестировать улучшенную версию.

Любые инструменты, приемы или теории очень ценятся!

+0

Я предполагаю, что у вас есть возможности ведения журнала из IIS и/или вашего приложения? Когда возникают проблемы, что именно происходит, что вызывает это? Как это отличается от того, что имитирует ваше нагрузочное тестирование? – 2008-08-13 06:17:37

ответ

1

Вы можете найти информацию об устранении этой проблемы в this blog entry. Ее блог, как правило, хороший ресурс отладки.

0

Является ли ваш тест env тем же самым, что и вживую? i.e 2 отдельных экземпляра vm на двух физических серверах - с сетевым подключением и типами учетных записей?

Есть ли другие экземпляры в базе данных?

Есть ли в IIS другие веб-приложения?

Правильно ли конфигурация .Net?

Является ли Конфигурация приложений для аккаунтов служб? Try look at this - MS Article on II6 Optmising for Performance

Много трюков.

 Смежные вопросы

  • Нет связанных вопросов^_^