В этой статье рассказывается о тестировании новой версии Exchange server в лабораторных условиях с помощью симуляции работы Outlook.
Введение
Microsoft представляет несколько средств для создания стрессовых ситуаций для Exchange server, так что Вы можете заранее проверить, может ли Ваш сервер выдержать рассчитанную нагрузку.
Основным средством является Exchange Load Simulator (LoadSim) 2003, новая версия которого теперь может тестировать новые свойства Exchange 2003. Эта утилита предназначена для тестирования Exchange серверов, которые в основном служат для обработки MAPI запросов Outlook, включая удаленные вызовы через HTTP клиентов.
Установка лаборатории
LoadSim требует установки Outlook 2003.
Для получения лучших результатов минимально возможная конфигурация включает Exchange сервер и тестовую машину. Конечно, Вам также понадобится доменный контроллер или два, если это не установка сегментного или SOHO (программное обеспечение для дома или малого офиса) типа.
Стандартная установка будет выглядеть следующим образом:
Вы также можете решить установить все на одной машине, но это делать не рекомендуется, так как в большинстве случаев Вам понадобится отделить клиентскую машину, создающую нагрузку, и Exchange сервер.
Перед началом тестирования Вам понадобится настроить Exchange сервер так, как Вы это делаете в реальной жизни. Может, Вам понадобится создать несколько групп хранилищ и баз данных и поместить их на правильные диски, смену директории SMTP очереди на определенных дисках (http://support.microsoft.com/?kbid=822933), а для больших конфигураций разделить файлы журнальных записей баз данных от самой базы.
Топология
Это исходный экран LoadSim. На экране видно, что каждое действие записывается, так что Вы можете наблюдать за тем, что делает LoadSim.
Для того, чтобы начать тестировать, Вам сначала нужно создать тестовую топологию, выбрав Configuration -> Topology Properties.
В закладке Servers Вы можете выбрать количество пользователей на одно хранилище почтовых сообщений, которое будет создано при тестировании с помощью двойного щелчка на колонке # Users.
В закладке Security and Credentials выберите «Login to users using the account LoadSim is running on», что проще, меньше тратит памяти и CPU на тестовом клиенте.
Пожалуйста, имейте в виду, что выбор опции «Login to users using their respective accounts» повлечет за собой ошибки при установке Exchange 2003 SP1. Для того, чтобы устранить эту проблему, читайте:
http://support.microsoft.com/default.aspx?scid=kb;en-us;830836&sd=ee
LoadSim 2003 теперь может создать динамические запросные группы распространения для работы с серверами глобального каталога Windows 2003.
На данный момент Exchange 2003 поддерживает только одну корневую папку для MAPI доступа.
Однако, Вы можете выбрать количество и глубину вложенности для его вложенных папок.
Условия тестирования
После создания топологии настало время для добавления пары тестов с помощью Configuration -> Test Properties.
Каждый тест определяется количеством участвующих в нем пользователей и User type. User type определяет тип пользователя, которого Вы симулируете. Некоторые пользователи могут использовать Outlook постоянно, другие только время от времени. Также Вы можете выбрать тип пользователя «Cached Mode», одно из новых свойств Outlook 2003, который большую часть информации считывает из локального файла, синхронизируясь в фоновом режиме с Exchange, облегчая нагрузку на сервер.
С помощью кнопки «Customize Tasks» Вы можете более точно настроить свои тесты.
Не забудьте, что закладка «Test/Logon» утилиты LoadSim 2003 предоставляет возможность симуляции удаленных вызовов процедур посредством входа в систему через HTTP. Так что эта возможность также может быть добавлена в Ваши тесты.
Запуск симуляции
Теперь Вам необходимо произвести следующие действия:
- Создайте топологию — пользователей, группы и общедоступные папки
- Инициализация тестов — создайте несколько тестов
- Запустите симуляцию — такие действия как чтение, запись и тд. (Reads, Writes, etc.)
После запуска тестов Вы получите следующее сообщение. Оно важно, только если у Вас более одной тестовой клиентской машины.
Вы можете открыть Active Directory Users and Computers (dsa.msc), чтобы проверить созданных пользователей и групп LoadSim.
Также Вы можете проверить созданный профиль на клиентской тестовой машине в апплете Control Panel Mail.
Постарайтесь не запускать тесты слишком часто, потому что, в зависимости от выбранных Вами тестов, LoadSim может нагрузить Ваш Exchange очень быстро.
Контроль
Во время проведения стрессовых тестов Вам необходимо собрать информацию о производительности сервера. Так Вы можете выявить слабые места Вашего сервера, какие аппаратные компоненты (например, память, жесткий диск и т.д.) нагружаются больше всего, так что Вы можете решить добавить памяти Вашему серверу или купить более быстрый диск.
Сбор информации производится с помощью административной утилиты «Performance», также известной как Perfmon. Также Вы можете запустить его из окна Command Prompt через команду perfmon.exe.
В Performance, в дереве консоли, щелкните два раза на Performance Logs and Alerts, щелкните правой кнопкой Counter Logs, а затем щелкните на New Log Settings.
Назовите должным образом New Log Settings (например, «Stress Test #1»).
Добавьте следующие параметры производительности, которые относятся Вашему Exchange серверу:
- Память (все счетчики, все экземпляры)
- Физический диск (все счетчики, все экземпляры)
- Процесс (все счетчики, все экземпляры)
- Процессор (все счетчики, все экземпляры)
- Система (все счетчики, все экземпляры)
- Логические диски (все счетчики, все экземпляры)
Для работы счетчиков логического диска выполните следующие шаги:
- Запустите из командной строки «diskperf -YV»
- Перезапустите сервер
Если Вам интересно, что делал во время тестов LoadSim, то добавьте:
- Действия LoadSim (все счетчики, все экземпляры)
- LoadSim Global (все счетчики, все экземпляры)
Теперь у Вас есть возможность сравнить действия LoadSim, когда он оказывал наибольшую нагрузку на аппаратные средства Exchange.
Если же Вам интересно, что делал сам Exchange, Вы также можете добавить:
- MSExchnageIS
- MSExchangeIS Mailbox
- MSExchangeIS Public
- SMTP Server
Установите Interval равный 15 секундам. Если Вы тестируете Ваш сервер в течение нескольких дней, можете выбрать 60 секунд.
В закладке Log Files определите местоположение журнала записей, имя и тип файла. (Например, E:\PerfLogs\jetstress_perfmon_20021119.blg.)
В закладке Schedule установите для опции Start Log значение Manually , так что Вы сможете начать контроль тогда, когда начнете стрессовый тест.
Для того, чтобы начать контролировать тест, щелкните правой кнопкой на журнале счетчиков, который Вы только что создали, и выберите start:
Очень рекомендуется очистка журналов Event Viewer на всех машинах Вашей лаборатории перед началом контроля, так как Вы можете проследить особые события, которые могут оказаться в будущем проблемой.
Анализ теста производительности
В дереве консоли щелкните на System Monitor, а затем View Log Data или нажмите Ctrl + L.
В области Data source выберите Log files, а затем нажмите кнопку Add.
Выберите журнал регистрации, который Вы создали и нажмите кнопку Open.
Нажмите кнопку Properties, а затем щелкните Source.
Передвиньте индикатор Time Range на десять минут от начала теста. Для этого переместите время начала на 10 минут направо.
Щелкните закладку Data, а затем щелкните Add. Добавьте следующие счетчики:
- Processor->%Processor Time->Total (Среднее значение должно быть меньше 80 процентов, а максимальное значение должно быть не более 90 percent.)
- Memory->Available Mbytes (Минимально значение должно быть более 50 MB.)
- Memory->Free System Page Table Entries (Минимально значение должно быть более 5000.)
- Memory->Pages/sec (Среднее значение должно быть менее 100, а максимальное менее 1000.)
- Memory->Pool Nonpaged Bytes (Максимальное значение должно быть не более 75 MB.)
- Memory->Pool Paged Bytes (Максимальное значение должно быть не более 190 MB.)
- Physical Disk->Average Disk sec/Read->Instances ( Так как практически не должно быть обращений к дискам журналов, среднее значение этой величины должно быть не более 20 ms, максимальное значение должно быть не более 40 ms.)
- Physical Disk->Average Disk sec/Write->Instances (Записи в диск регистрационного журнала последовательны, так что среднее время ожидания записи должно быть менее 20 ms, а максимальное не более 40 ms (.040).)
- Physical Disk->Disk Bytes/Sec->Instances
- Physical Disk->Disk Writes/Sec->Instances
- Physical Disk->Disk Reads/Sec->Instances (Так как для этого теста все записи в журнале должны быть операциями записи на диск, то этот счетчик должен быть в среднем менее 10. Если же счетчик показывает большую величину, то скорее всего диск используется другим приложением).
Также Вы можете выбрать логические диски вместо физического в зависимости от конфигурации.
Для NAS-устройств используйте следующие счетчики для контроля над работоспособностью диска.
- Database->I/O Log Writes /sec
- Database->I/O Log Reads/sec
- Database->I/O Log Writes Average Bytes
- Database->I/O Log Writes Average Latency
- Database->I/O Log Reads Average Latency
Эти данные должны предоставить Вам полную картину того, как Ваше оборудование справляется с нагрузками. Если Вам интересно, что вызывает эти нагрузки, Вы можете добавить следующие счетчики:
- LoadSim Action (все счетчики, все экземпляры)
- LoadSim Global (все счетчики, все экземпляры)
- MSExchnageIS
- MSExchangeIS Mailbox
- MSExchangeIS Public
- SMTP Server
Выберите счетчики в зависимости от того, какую информацию Вы хотите сравнить.
После добавления счетчика Вы можете просмотреть график, иллюстрирующий работоспособность Вашего сервера во время теста:
Вывод
LoadSim это простое средство с множеством опций, предназначенное для определения нагрузок, которые может выдержать Ваше дорогостоящее оборудование. Стоит потратить время на то, чтобы создать лабораторию и протестировать сервер с помощью LoadSim, если Вы хотите узнать, что ожидать от Вашего аппаратного обеспечения, особенно, если Вы собираетесь производить установку большого сервера.