IIS 6 / COM + зависает

У меня есть веб-приложение, которое иногда просто зависает из-за большой нагрузки. Чтобы он вернулся, мне нужно убить процесс "dllhost.exe". Кто-нибудь знает, что делать?

Это приложение Classic ASP (VBScript) с множеством объектов COM +.

Сервер имеет следующую конфигурацию:

  • ОЗУ Intel Core 2 Duo 2,2 ГГц / 4 ГБ
  • Windows Server 2003, веб-версия с пакетом обновления 2 (SP2)
  • IIS 6.0

В журнале событий есть некоторые ошибки, связанные с COM-объектами. Но почему ошибки в COM-объектах могут привести к сбою всего сервера?

COM-объекты - это объекты PowerBuilder, развернутые как COM-объекты.

Является ли IIS 7.0 (намного) более стабильным, чем IIS 6.0?

21.08.2008 02:43:23
3 ОТВЕТА
РЕШЕНИЕ

Похоже на хитрые COM-объекты, вызывающие проблему ... загружаете ли вы их в «Приложение», если вы это делаете, то они безопасны для потоков; или они используются и отбрасываются при каждом запросе?

Да, повторное использование каждые несколько часов поможет «спрятать» проблему, но они должны быть отлажены и исправлены должным образом ... Вы пытались разделить / завоевать, чтобы обнаружить, какой объект COM является проблемой ... Я могу представить, что это сложно производственная среда, поэтому вам нужно настроить несколько тяжелых автоматических тестов для локального воспроизведения проблемы, тогда вы можете что-то с этим сделать.

2
21.08.2008 06:08:34

Возможно, в вашем журнале событий есть ошибки в категориях «Приложение» и «Система». Попробуйте найти источник этих ошибок или опубликуйте их здесь, мы посмотрим, что мы можем сделать :)

Edit: @Daniel Silveira Утечка памяти вероятна. Какой объект COM + вы используете? У меня были некоторые проблемы с Excel с приложением, которое я поддерживаю.

1
21.08.2008 02:52:15

У тебя утечка памяти :)

Эта запись в блоге - моя библия для устранения проблем IIS:

http://blogs.msdn.com/david.wang/archive/2005/12/31/HOWTO_Basics_of_IIS6_Troubleshooting.aspx

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

2
21.08.2008 02:46:49
Вы можете просто перезапустить пул приложений. Вкладка «Переработка» создана специально для этого. Сценарий не требуется.
jwmiller5 12.12.2008 15:33:58