Ваш друг JetStress

Published on Январь 16, 2009 by   ·   Комментариев нет

Вы не можете называться настоящим администратором Exchange-сервера, если хотя бы раз не пользовались программой JetStress. Это прекрасное средство работает с одним из самых критических мест Exchange-сервера – подсистемой хранилищ. Вы можете использовать данную программу для проверки производительности и стабильности дисковой подсистемы до того, как внедрить Exchange-сервер в промышленную эксплуатацию, или же для исправления ошибок при наличии узких мест.

Введение

Средство Jetstress помогает проверить производительность и стабильность дисковой подсистемы путем симуляции большой загрузки дисков, как если бы к серверу обращалось большое количество пользователей. Вместе с Jetstress для проверки того, что ваша дисковая подсистема удовлетворяет установленным критериям производительности, следует использовать программы Системный монитор, Просмотр Событий и средство Eseutil.

Jetstress позволяет производить три типа тестов:

  • Тест производительности дисков работает от 2 до 24 часов и позволяет проверять производительность и размеры вашей системы хранения.
  • Тест нагрузки дисковой подсистемы работает 24 часа и позволяет проверить надежность хранилища сервера в течение большого промежутка времени.
  • Тест потокового резервного копирования оценивает пропускную способность базы данных и производительность сквозного резервного копирования (чтение и запись).

Лучшим способом проверки целостности и производительности дисковой подсистемы является запуск первых двух тестов.

В последний пакет Jetstress, который я использую, (6.5.7795.0) входят два разных приложения:

  • JetstressUI.exe (версия Jetstress с графическим пользовательским интерфейсом (GUI), называемая Jetstress 2004)
  • Jetstress.exe (оригинальная версия Jetstress, запускаемая из командной строки)

Обе версии прекрасно тестируют дисковые подсистемы Exchange-сервера, однако использование командной строки требует знаний для указания нужных параметров и анализа полученных результатов. Программа Jetstress 2004 и ее графический интерфейс уменьшает сложность настройки тестов. К тому же она облегчает анализ результатов, создавая отчет анализа производительности. Также в нее включены некоторые важные функции. Дополнительную информацию можно узнать из руководства, которое поставляется вместе с программой.

Хотя и рекомендуется проводить тесты в непродуктивном окружении, на самом деле порой невозможно создать тестовую среду, которая полностью отображала бы реальную систему. Поэтому я советую использовать продуктивный сервер до того, как он будет введен в эксплуатацию (даже до установки Exchange-сервера), однако не забудьте отформатировать диски после окончания тестов.

Установка JetStress

Желательно проводить тестирование с помощью программы Jetstress до установки Exchange-сервера. Существуют известные опасности при работе Jetstress на компьютере, на котором уже установлен Exchange-сервер. Во-первых, Jetstress потенциально может удалить некоторые файлы журналов, если программа настроена на использование для журналов тех же самых дисков, что и Exchange-сервер. Во-вторых, если ваша версия Jet (ESE.DLL и ESEPERF.*) отличается от той, что установлена с Exchange, регистрация счетчиков базы данных Jet в папке установки Jetstress испортит счетчики базы данных Exchange после удаления Jetstress.

Для установки Jetstress выполните следующее:

  1. Убедитесь, что выполнены следующие требования:
    • Jetstress 2004 требует, чтобы на сервере был установлен пакет .NET Framework Version 1.1.
    • Jetstress работает только на компьютерах под управлением Windows 2000 Server и Windows Server 2003. Microsoft Windows NT 4.0 и другие ранние версии не поддерживаются (хотя, кто их теперь использует?).
    • Хотя это и не обязательно, убедитесь, что вы используете аппаратное обеспечение, сертифицированное Лабораторией качества аппаратного обеспечения Windows (Windows Hardware Quality Labs – WHQL), проверьте, что все компоненты системы хранения информации используют самое последнее программное обеспечение от производителя и, наконец, настройте диски программой diskpart (информацию о том, как работать с diskpart, можно узнать по ссылке Конфигурация дисков).
  2. Извлеките файлы из пакета Jetstress в локальную папку, например C:\Jetstress, и запустите программу установки, щелкнув по файлу Jetstress.msi. Следуйте инструкциям по установке. Программа устанавливается в папку Program Files, но вы можете переместить файлы в любое место по вашему выбору.
  3. Скопируйте следующие модули базы данных ESE в папку с установленной программой Jetstress.
    • ESE.DLL
    • ESEPERF.DLL
    • ESEPERF.INI
    • ESEPERF.HXX

      Если вы забудете скопировать эти файлы, то при попытке запустить приложение вы увидите следующее сообщение:

      150

      Рисунок 1: Проверка на наличие необходимых файлов
  4. Дважды щелкните по файлу JetstressUI.exe. Программа проведет несколько проверочных тестов, один из которых упомянут выше. Другим тестом является проверка включения счетчиков LogicalDisk, и у вас опять есть возможность исправить проблему.

    239

    Рисунок 2: Проверка счетчиков производительности

Запуск тестов

Перед тем, как запустить тест, нужно настроить некоторые параметры, которые влияют на производительность системы:

  • Количество групп хранения
  • Количество дисков на группу хранения
  • Количество почтовых ящиков
  • Предельный размер почтового ящика
  • Профиль пользователя (примерное значение IOPS на почтовый ящик)

Способ, каким каждый из этих факторов влияет на производительность, не является предметом данной статьи, но если вы хотите узнать об этом больше, обратитесь к ссылкам в конце статьи, которые дадут вам детальную информацию о производительности в системах Exchange.

Давайте-ка настроим тест производительности:

  1. Начнем с информации о хранилищах. Введите количество групп хранилищ и дисков. Jetstress не разрешит использовать один и тот же диск для базы данных и журналов, если вы не отметите опцию “Use storage volumes on NAS” («Использовать тома хранения на NAS»). Выбор этой опции заставляет Jetstress проводить анализ производительности с помощью счетчиков базы данных, а не счетчиков LogicalDisk. В данной статье мы проведем простой тест с использованием только одной группы и одного диска.

    330

    Рисунок 3: Информация о хранилищах
  2. Выберите вкладку Test Run Info (Информация о тесте) для настройки установок для теста. Здесь вы можете выбрать тип теста: Performance (Производительность), Stress (Нагрузка) или Streaming Backup (Потоковое резервное копирование). Дополнительно вы можете изменить опции настройки, но я советую оставить все значения по умолчанию. Компания Microsoft не рекомендует отключать автоматическую подстройку, если у вас нет на то особых причин.

    430

    Рисунок 4: Информация о тесте
  3. И, наконец, на вкладке Database Info (Информация о базе данных) вы можете настроить тестовую базу данных. Очень важно создать базы данных Jetstress, которые бы совпадали с ожидаемыми размерами баз данных продуктивной среды. Обычно, чем больше база данных Exchange, тем медленней диски отвечают на запросы чтения-записи. Размер базы данных грубо указывается путем «количества почтовых ящиков» и «предельного размера почтового ящика». Обязательно настройте профиль пользователя, указав ожидаемое значение IOPS на почтовый ящик. Вы можете использовать 3 принятые модели: низкий уровень (0.2), средний (0.5) и высокий (1.0).

    528

    Рисунок 5: Информация о базе данных
  4. Перед запуском теста вы можете сохранить ваши настройки с помощью пункта меню File (Файл) “Save Configuration” (Сохранить настройки). Хотя вы уже можете нажать на кнопку “Start Test” (Начать тест), я советую вначале заполнить базу данных, нажав на кнопку “Prepare Database” (Подготовить базу данных). Jetstress создаст один .edb-файл, а затем 5 раз скопирует его для того, чтобы уменьшить время на создание базы данных. Jetstress всегда будет проверять параметры перед тем, как выполнить любую операцию.

    640

    Рисунок 6: Процесс создания базы данных
  5. Когда вы нажмете “Start Test” (Начать тест), если на сервере до этого программа Jetstress не работала, запустится процесс автоматической подстройки с набором параметров по умолчанию. Этот процесс пытается настроить все так, чтобы выполнялись отношения:
    • Диск базы данных чтение/сек к записи/сек – 3:2 к 2:1.
    • Диск базы данных, передача I/O к логическому диску, передача I/O — 8:1 к 12:1.
    • Логический диск, байт/чтение — от 6 до 8 К.
  6. После окончания подстройки Jetstress начинает сам тест, собирая информацию со счетчиком в течение указанного времени. В нашем случае, поскольку мы делаем обычный тест производительности, этот период равен двум часам. Как я уже отмечал ранее, рекомендуется запускать Jetstress до установки Exchange-сервера, но если он уже установлен, убедитесь, что остановлены службы System Attendant, Information Store и IIS Admin.

Анализ результатов

После завершения теста данные анализируются, и выдается отчет. Результаты сохраняются в файлы Performance_(ДатаВремя).html или Stress_(ДатаВремя).html. В панели статуса Jetstress 2004 показана ссылка к отчету. Все счетчики производительности собираются в файл журнала счетчиков Performance_(ДатаВремя).blg, который можно использовать для дополнительного анализа.

При анализе полученных данных примите к сведению следующее руководство.

Счетчик производительности Пример счетчика Тест производительности Тест нагрузки
Database Avg. Disk sec/Read (База данных Ср. Диск сек/чтение) Среднее значение должно быть менее 20 мс (.020), а максимальное – менее 50 мс. Максимальное значение должно быть меньше 100 мс.
Database Avg. Disk sec/Write (База данных Ср. Диск сек/запись) Этот счетчик не используется для определения правильности выполнения теста, но в среде, где не используется репликация хранилищ, среднее значение должно быть меньше 20 мс (.020).
Log Avg. Disk sec/Read (Журнал Ср. Диск сек/чтение) Среднее значение должно быть меньше 20 мс, а максимальное – менее 50 мс. Максимальное значение должно быть меньше 50 мс.
Log Ave. Disk sec/Write (Журнал Ср. Диск сек/запись) Запись на логический диск происходит параллельно, поэтому среднее время ожидания должно быть менее 10 мс, а максимальное не более 50 мс. Максимальное значение должно быть более 100 мс.
Database Disk Reads/Sec (База данных Диск чтение/сек) Database Disk Writes/Sec (База данных Диск запись/сек) Log Disk Writes/Sec (Журнал Диск запись/сек) Сумма средних значений этих параметров дает значение передачи всего диска. Отношение между чтением и записью примерно должно равняться 3:2.
Log Avg. Disk Bytes/write (Журнал Ср. Диск байт/сек) Это значение должно быть между 6 и 8 K.
%Processor Time (% времени процессора) Среднее значение должно быть меньше 80%, максимальное – менее 90%.
Available Mbytes (Доступно МБ) Минимальное значение должно быть больше 50 МБ.
Free System Page Table Entries (Свободных записей таблицы системных страниц) Минимальное значение должно быть больше 5000.
Pages/sec (Страниц/сек) Среднее значение должно быть меньше 100, максимальное – менее 1000.
Pool Nonpaged Bytes (Нестраничный пул, байт) Максимальное значение должно быть меньше 75 МБ.
Pool Paged Bytes (Страничный пул, байт) Максимальное значение должно быть меньше 180 МБ.
Database Page Fault Stalls/sec. (Ошибок страниц базы данных/сек) Не должно превышать 0.

Таблица 1: Руководство по анализу отчета Jetstress 2004

Если бы мне нужно было выбрать всего один счетчик производительности для определения производительности Exchange-системы, я бы выбрал Database Avg. Disk sec/Write. Но, если вы обратили внимание, начиная с версии 6.5.7720 программы JetstressUI, критерий время ожидания записи для диска базы данных был удален. Почему? Да потому, что теперь Jetstress поддерживает сложные сценарии восстановления после сбоев, при которых используются технологии репликации данных (иногда основанные на территориально разделенных кластерах). Хотя Jetstress не принимает в расчет данный счетчик, если вы не тестируете среду с репликацией данных, мой совет: используйте его и убедитесь, что его значение остается ниже 20 мс 95% от всего времени.

Данная программа выдает прекрасный отчет в формате HTML, в файле под названием Performance_(ДатаВремя).html. Если вы откроете его, вы увидите несколько таблиц с анализом производительности, такие как эти:

Полный размер тестовой базы данных Размер продуктивных данных Общее количество баз данных Ожидаемое значение I/O Достигнутое значение I/O
48.72 ГБ (основана на присоединенных базах данных) (недоступно) 6 (1 хранилище * 6 баз данных) 250.00 (500 почтовых ящиков с 0.50 IOPS) 343,45

Таблица 2: Планируемый профиль дисковой подсистемы

Том Ср. Диск сек/чтение Ср. Диск сек/запись Диск чтение/сек Диск запись/сек Ср. Диск байт/сек
Данные (C:) 0,009 0,005 81,38 62,07 (недоступно)
Журналы (D:) 0,005 0,002 85,36 41,97 10303,92

Таблица 3: Отчет о производительности дисковой подсистемы

Помимо этого, вы можете построить свои графики производительности, используя файл журнала счетчиков. На Рисунке 7 для примера показаны некоторые счетчики дисковой производительности.

730

Рисунок 7: Счетчики дисковой производительности

Заключение

Jetstress — это действительно прекрасное средство. Убедившись, что ваше хранилище имеет подходящий размер, вы избавитесь от будущих головных болей по поводу узких мест производительности. В данной статье я описал, как работать с графическим интерфейсом программы Jetstress. Если вы предпочитаете работать в командной строке, воспользуйтесь версией, запускаемой из командной строки. Внимательно прочтите руководство (JetStress.doc), которое поставляется вместе с программой. Там вы найдете более детальное описание данного средства.

Источник  http://www.msexchange.org

Seine märchen-ausgabe liegt noch vor den theoretischen debatten um den gattungsbegriff


Смотрите также:

Readers Comments (Комментариев нет)




Да человек я, человек! =)




Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]