Запуск MSMQ мучительно медленно при перезагрузке

В новой компании, где я находился, я заметил, что когда мы перезагружаем наш сервер, запуск службы MSMQ занимает немного времени. Он запускается автоматически и находится в состоянии " Начало" в течение очень продолжительного периода - мы касаемся часов, а не минут (на данный момент у меня прошло 67 минут, и это еще не сделано)!

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

У меня есть объяснение, что "так было всегда". По этой причине мы все еще должны использовать огонь, а не электричество, чтобы получить свет... Я не говорю, что парни здесь не правы. Я просто хочу исследовать это как "свежую кровь". Очень нетерпеливая кровь, могу добавить.

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

Итак, вопрос двоякий.

  1. Является ли такой длительный период старта для MSMQ приемлемым и ожидаемым?
  2. Что мне следует расследовать ближе, если меня не устраивает поведение?

Система работает следующим образом.

  • Windows Server 2008 R2 Standard SP1
  • 64-разрядная, 8 ГБ, Xeon 2,4 ГГц (2 ядра)

2 ответа

Решение

Исследовать. 90 минут для обычного перезапуска сервера - это больно. Если вам нужна высокая доступность, это означает, что вы находитесь на одном узле в течение 1,5 часов ТОЛЬКО ДЛЯ ПЕРЕЗАПУСКА (что происходит довольно часто во время исправления). Это означает, что технически вам нужно 3-4 узла, чтобы быть высокодоступными. Здесь что-то очень странное. Я лично не принял бы это.

Я мог бы понять это, когда сервер падает. Если журнал транзакций необходимо откатить, это может занять ВОЗРАСТ. Но MSMQ обычно не обрабатывает транзакции, которые порождают много гигабайт, И - перезапуск не должен приводить к чрезмерным операциям здесь.

Вы должны иметь много сообщений. MSMQ требуется много времени, чтобы отобразить все сообщения в память. Возможно, вы проверили, что очереди, которые вы используете, пусты, но это не будут очереди, которые являются проблемой. Обычно журнальные и системные очереди. Сделайте быструю проверку папки system32\MSMQ\storage - она ​​будет содержать много файлов по 4 МБ. Там, вероятно, будут тысячи. Если так, проверьте, с какой буквы они начинаются. J для журнала, P для постоянного. Затем используйте монитор производительности для просмотра ВСЕХ объектов MSMQ, а не только очередей, которые вы используете для своего приложения. Посмотрите очереди журнала, если у вас есть файлы J*.MQ. Вы в конечном счете найдете очереди, накапливающие сообщения. Я не могу думать ни о какой другой причине для твоего медленного запуска.

Другие вопросы по тегам