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

У нас странная ситуация в продакшене, и нам нужно получить полный дамп памяти. Однако запись полного минидампа занимает слишком много времени. В результате IIS перезапускает процесс во время создания дампа.

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

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

Минидамп записывается в локальную файловую систему.

ИЗМЕНИТЬ 1

Это не дубликат моего другого вопроса running-in-af?noredirect=1#comment100626450_57047264">Как сделать минидамп веб-приложения для конкретного исключения, запущенного в ферме с периодической перезапуском? потому что задачи разные. В этом вопросе я справляюсь с тем, что IIS убивает веб-процесс из-за бездействия из-за того, что дамп был снят. В другом вопросе проблема в том, что мы не можем подключиться к веб-процессу и ждать исключения - процесс будет перезапущен в какой-то момент, и нам придется повторно подключиться. Это не гуманный процесс. Кроме того, он должен быть реплицирован на всех машинах в ферме. Опять же, не по-человечески.


person mark    schedule 15.07.2019    source источник
comment
вы можете использовать инструмент диагностики отладки и взять полный и минидамп. вы можете обратиться к этот документ о том, как собрать полный и минидамп.   -  person Jalpa Panchal    schedule 16.07.2019
comment
вы можете отключить перезапуск пула приложений в iis, выбрав пул приложений из диспетчера iis-> выберите предварительную настройку image. сделайте эту настройку, как показано на изображенииimage1 , изображение2   -  person Jalpa Panchal    schedule 16.07.2019
comment
@JalpaPanchal - можете ли вы подтвердить, что изменение этих настроек в работающем пуле не приведет к перезапуску? И что возврат к переработке после снятия дампа будет работать, опять же, без переработки пула?   -  person mark    schedule 16.07.2019


Ответы (1)


  1. AppPool -> Дополнительные настройки -> Модель процесса -> Ping включен = false
  2. сделать дамп памяти процесса (сбросить на самый быстрый диск, который у вас есть в системе)
  3. AppPool -> Дополнительные настройки -> Модель процесса -> Ping включен = true
person Vladimir Dronov    schedule 16.07.2019