Убедитесь, что Exchange работает стабильно
Проехались бы Вы на грузовике по стеклянному мосту? Нет. Тогда почему Вы запускаете на устаревшем оборудовании операционную систему масштаба предприятия с такими критически уязвимыми приложениями как электронная почта и служба сообщений? Думаете, что ничего не случится? Все случается гораздо чаще, чем Вы думаете. Последние пять лет я работаю с командами экспертов, занимающимися заменой именно таких систем на то, что должно быть: тщательно продуманные и стабильные системы. Не обязательно кластеризовать все сервисы, но, к примеру, установка RAID на серверах масштаба предприятия могла бы в случае поломки диска, и Вы сможете восстановить данные в минимальный промежуток времени и без потерь.
Конечно, есть пути для обхода. Когда кто-то хочет сэкономить, такие пути всегда есть, например установка SMTP-сервера на настольный компьютер. Но дело в том, что если вы будете следовать инструкциям, опубликованным на сайте Microsoft, вы поймете, что будете ли вы работать с оборудованием для предприятия или перегруженным настольным компьютером… не обманывайте себя (или Exchange-сервер) и исполните хотя бы опубликованные минимальные требования для работы сервера Exchange.
Минимальные требования для сервера Exchange находятся по адресу
http://www.microsoft.com/exchange/evaluation/sysreqs/2003.mspx
В этой статье мы обсудим реальные ситуации, когда я встречал Exchange-сервер, работающим на оборудовании, нуждающимся в замене. Считалось, что проблема в работе сети, но анализ проблемы показал, что причина в сервере Exchange. Клиенты жаловались на истечение лимита времени, на появление пугающих окон, и виной этому считалась работа сети. Беглый взгляд на консоль производительности Exchange-сервера говорил, что это не так.
Проверка производительности
Консоль производительности (Performance Console) является оснасткой консоли управления Microsoft (Microsoft Management Console — MMC), которая позволяет контролировать большое количество внутренних работ Вашего сервера. Вы удивитесь, что Вы можете узнать, если Вы а) знаете, что Вам нужно и б) знаете, как читать данные консоли. В этой статье мы посмотрим на консоль производительности в надежде найти проблемы. Для запуска консоли зайдите в папку Администрирование (Administrative Tools) в стартовом меню (или в Панели Управления).
Рисунок 1
Открыв консоль производительности, Вы увидите, что сразу проконтролировать Вы сможете не много параметров. Но даже эти счетчики могут сказать о многом. В этом примере, я создал такую же проблему работы сервера на тестовой компьютере, названном \\shimonski.
Для обнаружения проблемы используйте Системный монитор (System Monitor) консоли производительности. Прежде чем выявить текущую проблему, следует узнать, на что мы видим. Для того, чтобы знать как в целом работает консоль производительности, как пример я рекомендую прочитать какую-нибудь статью по этой теме здесь, на MSExchange.org. Мич Туллок написал прекрасную статью об основных счетчиках контроля производительности. Предлагаю прочитать эту статью:
http://www.windowsnetworking.com/articles_tutorials/Key-Performance-Monitor-Counters.html
Счетчики контроля производительности
Если у Вас будет время для изучения, вы будете поражены возможностями счетчиков контроля производительности.
Консоль производительности поможет Вам контролировать основные счетчики сервера Exchange, такие как MSExchangeIS и другие. Устанавливая Exchange-сервер, не забудьте установить и счетчики. В этой статье мы рассмотрим работу самых ходовых счетчиков: Процессор, Память и Физический диск.
Для примера, пусть у компании 123 Ltd. будут проблемы с Exchange-сервером. В начале полагалось, что проблемы связаны с работой сети, которая исключала использование программ для анализа сетевых протоколов (снифферов). Краткий анализ полосы пропускания из внешней сети показал, что никаких проблем, сверх обычных, с сетью нет. Раз сеть исключается, анализируются все системы. Рисунок 2 показывает настоящую систему. Как Вы видите, похоже на сконфигурированную мной тестовую систему.
Рисунок 2
На рисунке виден счетчик «Средняя длина очереди диска» (Avg. Disk Queue Length) и «Обмен страниц в секунду» (Pages/sec), которые находятся в пике активности, а так же показан пик работы процессора. Верите или нет, но это то, что показывает консоль при открытии до добавления новых счетчиков. Это значит, что либо ИТ команда не знает, что означают счетчики или счетчики никогда не проверялись, поскольку никто не знает, как это делается. Расспросы ИТ команды показали, что система была принята ими такой, какой она была в начальном состоянии. Никто ее не проверял. Никто не знал, как это делать.
Я добавил новые счетчики. Чтобы узнать, как добавить новые счетчики для сбора информации, посмотрите на рисунок 3. Для добавления счетчика нажмите «+» сверху консоли производительности внутри системного монитора. Так Вы можете добавлять счетчики.
Рисунок 3
Рисунок 4 показывает счетчики Exchange-сервера, которые можно добавить для контроля объектов Exchange. Это был сервер с многочисленными проблемами с хранилищем информации и постоянно отключал пользователей.
Рисунок 4
Рисунок 5 показывает использование кнопки «Объяснить» (Explain). Подождите немного, прежде чем узнаете, для чего может быть использован счетчик.
Рисунок 5
Таблица 1 показывает список счетчиков, которые вы можете использовать и что они могут Вам сообщить. Эта информация может быть найдена в Интернет и в сети Microsoft TechNet. Если вы занимаетесь обслуживанием серверов (или, как в моем случае, проверкой сети), тогда изучение этого средства определенно сэкономит Вам время и избавит от головной боли. Кнопка «Объяснить» (Explain) так же выдаст Вам подробную информацию.
Таблица 1: Доступные счетчики
Available Mbytes (Доступно МБ)
Показывает объем физической памяти в байтах, доступной для процессов, запущенных на компьютере.
Bytes Total/sec (Байт всего/сек)
Общее количество байт, переданных web-сервисом. Этот счетчик является суммой счетчиков Bytes Sent/sec (отправленных байт/сек) и Bytes Received/sec (полученных байт/сек).
Client Latency (Время ожидания)
Время ожидания действий сервисов MAPI/RPC для клиентов Имитатора загрузки/ Microsoft Office Outlook. Этот счетчик высчитывает время на выполнение сервером запроса клиента. Может быть использован для оценки времени ожидания клиентом выполнения действия Outlook.
Database\Database Cache Size (База данных\Размер кэша базы данных)
Средний объем системной памяти, используемой кэшем базы данных для хранения постоянно используемой информации для сохранения файловых операций. Если размер кэша мал для оптимальной работы и недостаточно доступной системной памяти (см. счетчик Memory/Available Mbytes (Память/ Доступно МБ), добавление памяти в системы может увеличить производительность. Если объем памяти большой и кэш базы данных не растет по какой-либо причине, размер кэша может быть ограничен до искусственно пониженного уровня. Увеличение этого уровня может увеличить производительность.
DB Disk Transfers/sec (БД Диск передачи/сек)
Средняя сумма случайных операций чтения/записи и ввода/вывода на дисках, где хранится база данных Microsoft Exchange (.edb и .stm файлы).
Disk Bytes/sec (Диск байт/сек)
Среднее количество байт, записанных или считанных на всех дисках.
IMAP4 Connections (Соединения IMAP4)
Количество текущих подключений по протоколу IMAP4 (Internet Message Access Protocol version 4rev1 — протокол доступа к почте Интернет версии 4).
IMAP4 UID/sec (IMAP4 UID/сек)
Количество команд уникального идентификатора (UID) в секунду.
ISAPI Extension Requests/sec (ISAPI Расширенные запросы/сек)
Количество запросов в секунду для транзакций web-доступа к Outlook.
Log Writes/sec (Журнал записей/сек)
Средняя сумма всех одновременных записей операций ввода/вывода в .log файлы Exchange.
MSExchangeIS Mailbox\Local Delivery Rate (MSExchangeIS Доставка локальной почты)
Средняя оценка доставки почты в локальные хранилища Exchange.
MSExchangeIS\RPC Operations/sec (MSExchangeIS\RPC операций/сек)
Средняя скорость операций RPC (удаленный вызов процедуры). Этот счетчик хорошо использовать для оценки рабочей загрузки Exchange, поскольку все действия, основанные на MAPI, используют протокол RPC.
MSExchangeIS\RPC Requests (MSExchangeIS\RPC запросы)
Количество клиентских запросов, обрабатываемых в данный момент хранилищем Exchange.
Network Interface\Bytes Total/sec (Сетевой интерфейс \ Всего байт/сек)
Средняя скорость, с которой каждый сетевой адаптер отправляет и получает байты информации, включая символы обрамления. Сетевой интерфейс \ получено байт/сек является суммой отношений сетевой интерфейс \ получено байт/сек и сетевой интерфейс \ отправлено байт/сек.
Network Usage (Использование сети)
Измеряет сетевой трафик, идущий от и к сетевому адаптеру.
POP3 DELE/sec (POP3 удалений/сек)
Количество команд на удаление сообщений в секунду.
POP3 STAT/sec (POP3 команд STAT/сек)
Количество команд STAT в секунду. Команда STAT выполняется на каждое подключение пользователя.
Private Bytes (байт исключительного пользования)
Показывает объем в байтах выделенной данному процессу памяти, которая не может использоваться совместно с другими процессами.
Processor\% Processor Time (Процессор \ % Времени процессора)
Средний процент времени, которое процессор тратит на обработку всех потоков команд, кроме простаивающего. Эта величина определяется путем измерения длительности простаивающего потока команд, и вычитания его из общей длительности интервала. (У каждого процессора есть простаивающий поток команд, которые занимает рабочее время процессора в отсутствие других потоков команд.) Этот счетчик — главный индикатор активности процессора, он показывает отражает среднюю занятость процессора в течении заданного интервала времени.
SMTP Local Queue (Локальная очередь SMTP)
Количество сообщений в локальной очереди, ожидающих доставку пользователям.
SMTP Messages Del/sec (Сообщения SMTP доставка/сек)
Количество сообщений, доставляемых каждую секунду пользователям.
SMTP Messages Sent/sec (Сообщения SMTP доставка/сек)
Количество сообщений, отправляемых на удаленный сервер.
Store Virtual Bytes (Виртуальных байт хранилища)
Средний размер в байтах виртуального адресного пространства, используемого процессом Store.exe. Использование виртуального адресного пространства не обязательно означает использование дисковой или системной памяти. Виртуальное пространство ограничено, и процесс может ограничивать загрузку библиотек.
System\Context Switches/sec (Система \ Контекстных переключений/сек)
Это совокупная скорость, на которой все процессоры компьютера переключаются от одного потока к другому. Переключение потоков происходит либо когда исполняющийся поток добровольно освобождает процессор, либо когда один поток вытесняется другим потоком, имеющим к тому времени более высокий приоритет и готовым к выполнению, либо при переключении между пользовательским и привилегированным (режимом ядра) режимами для обычного выполнения и обращения к подсистемам. Данный счетчик является суммой числа переключений контекста в сек для всех потоков на всех процессорах компьютера. Существуют счетчики переключений контекста для объектов системы и потоков. Значение этого счетчика показывает разницу между двумя последовательными замерами, деленную на продолжительность временного интервала между ними.
Web ISAPI Extension Requests/sec (Web ISAPI расширенные запросы/сек)
Скорость, с которой web-сервис принимает расширенные запросы интерфейса прикладных программ служб Интернет (Internet Server Application Programming Interface — ISAPI). ISAPI-запросы используются для доступа к серверу Exchange с помощью службы web-доступа Outlook Web Access.
Working Set (Рабочее множество)
Это множество страниц памяти (областей памяти, выделенных процессу), используемое с последнее время потоками, выполняющимися в этом процессе. Если объем свободной памяти компьютера превышает пороговое значение, страницы остаются в рабочем множестве даже если они не используются. Когда объем свободной памяти оказывается ниже порогового значения, страницы изымаются из рабочих множеств. Если они продолжают использоваться, то они вновь будут включены в рабочее множество при разрешении возникшей ошибки страницы до того, как они окажутся фактически выгружены из оперативной памяти и будут доступны другим процессам.
В чем же была проблема?
Теперь, когда мы познакомились с консолью производительности и параметрами, которые мы может контролировать с ее помощью, следует подумать над нашей проблемой. У нашего сервера Exchange были проблемы, и мы думали, что они связаны с работой сети. Теперь, когда мы видим, что это не так, следует вернуться к нашей системе и разобраться в нашей проблеме.
Теперь, когда мы знаем как и что контролировать, посмотрим на рисунок 6. На нем видно, что наш сервер работает на неподходящем оборудовании. После тщательного анализа было обнаружено, что сервер старый (ему 5 лет, что для компьютера равно 100), что на нем установлено 512 МБ оперативной памяти, процессор с частотой менее 1ГГц и всего 4 ГБ свободного пространства на системных дисках и дисках с данными. Файл подкачки расположен на системном диске.
Рисунок 6
I am cutting to the chase here with what went wrong on purpose… it doesn?t matter what we can look for, the default Я отслеживаю, что было не так на компьютере с целью… не важно какой. Настройки по умолчанию точно указывают нам, где проблема. Каждый раз, когда Вы видите пик на рисунке 6, значит все пользователи «зависли» или отключены от сервера Exchange… каждый раз. Если пик продолжителен, значит никто из пользователей не может работать. Это значит не более, чем у сервера плохое аппаратное обеспечение. Подумайте: сеть проверена, системы проверены… все ведет назад к этому:
Минимальные требования для работы сервера Exchange
http://www.microsoft.com/exchange/evaluation/sysreqs/2003.mspx
Резюме
Надеюсь, что эта статья показала Вам, насколько просто устранить проблему, если знать, как ее обнаружить. Часто люди просто указывают на работу сети… проще всего найти в ней вину, поскольку ее устройство сложнее всего. Помните, Вам нужно хорошее аппаратное обеспечение. Подумайте, что работает на сервере. У Вас есть хранилище информации (store.exe), которое является самым большим потребителем памяти в Exchange Server 2003. Store.exe управляет почтовыми ящиками и общими хранилищами информации. Оно требует места на диске, пространство для файла подкачки, память для работы Windows Server 2003, Active Directory и Exchange Server 2003. Также у Вас работают и другие процессы, такие как Inetinfo.exe, управляющий протоколами Интернет и IIS; MTA (Emsmta.exe) и System Attendant (Mad.exe). Так же обычно работают антивирусные программы и программы резервного копирования. Все это можно увидеть, запустив Диспетчер программ (Task Manager). Убедитесь, что Вы продумали свою систему и проверили все, что «говорят» Вам Ваши сервера, и тогда Вы поймете, что немного любви и внимания возобновит их правильную работу.