Становится все труднее обнаруживать моменты, которые позволяют улучшить общую производительность системы, когда дело касается Exchange Server 2007. Последняя версия Exchange Server превосходит всех своих предшественников, т.к. она использует преимущества 64-х битной архитектуры во всей ее мощи.
Если вы запустите Exchange Best Practices Analyzer после завершения процесса установки, то велики шансы того, что вы получите хорошо настроенную систему, которая удовлетворяет всем рекомендациям от Microsoft, а также всем необходимым условиям.
Основная цель представленных здесь подсказок, заключается в оптимизации инфраструктуры Exchange, что позволит получить более здоровую, стабильную и надежную систему.
Когда я писал аналогичную статью для Exchange Server 2003, я начал с подсказки 0: правильно масштабируйте систему! Нет способов оптимизировать систему, которая неправильно отмасштабирована. Я даже не называю это подсказкой, это необходимое условие, поэтому никогда не приступайте к установке Exchange Server не имея четкого понимания основных аппаратных требования. Моя предыдущая статья Exchange 2007 Sizing Cheat Sheet, поможет вам в этой задаче.
А теперь я перейду непосредственно к подсказкам.
1. Документируйте свои действия
Вам не обязательно быть гуру, но глубокие знания всех технологий, используемых в окружении Exchange Server увеличат вероятность того, что это самое окружение будет работать гладко и оптимально.
Команда разработчиков Exchange одна из самых активных внутри компании Microsoft, в плане документации своего продукта. Образно выражаясь, они написали тонну технических документов, которые можно найти на TechNet. Есть всего несколько сайтов доступных 24x7, которые могут помочь вам, среди многих других по всему миру и на различных языках (я подразумеваю, что вы уже знакомы с MSExchange.org :-)):
Exchange Server TechCenter Exchange Team Blog (You Had Me at EHLO) Exchange Server Community Exchange Server Wiki
2. Регулярно запускайте ExBPA
Запуск Exchange Best Practices Analyzer (ExBPA) должен быть первым и последним этапом каждого процесса установки Exchange Server. Пожалуйста, не пропускайте его, т.к. он предоставит вам важную информацию относительно вашего окружения.
В качестве отдельного инструмента вы можете бесплатно его загрузить, но теперь ExBPA включен в состав пакета Exchange Server Toolbox, т.к. он очень важен для общего состояния серверов Exchange. Этот инструмент собирает данные с нескольких хранилищ, таких как Active Directory, реестр (Registry) и операционная система (Operating System), и предоставляет исчерпывающий отчет относительно всех настроек, которые не удовлетворяют рекомендациям Microsoft.
Регулярно запускайте Health Check (проверка состояния) и обновляйте ExBPA, загружая последние описания от Microsoft.
3. Оптимизируйте хранилище
В предыдущих версиях Exchange Server хранилище (storage) часто было основным узким местом для производительности. Но благодаря Exchange Server 2007 и его возможности использовать x64 архитектуру, отпадает нужда в больших IO.
Тем не менее, есть пара рекомендаций, которым вы должны четко следовать, и которые могут влиять на производительность почтовых серверов (Mailbox server):
- Вычисляйте размер хранилища при помощи калькулятора Exchange 2007 Mailbox Server Role Storage Requirements Calculator. Расчет размера хранилища для почтового сервера – это не ракетостроение, но он далек от того, чтобы быть простым процессом. Если только вы не делаете это в академических целях, не пытайтесь производить вычисления самостоятельно, т.к. это великолепный инструмент, в который знающие люди вложили много усердного труда, и которое выполнит всю работу за вас.
- Выравнивание разделов (Align the partition). В зависимости от хранилища выравнивание разделов для отслеживания границ может приводить к увеличению производительности. Ваш поставщик аппаратного обеспечения должен предоставить вам соответствующую информацию относительно использования инструментов для выравнивания, но если такой информации у вас нет, то используйте 64 сектора размером 32KB. Для получения подробной информации, пожалуйста, прочитайте статью Disk Geometry и How to Align Exchange I/O with Storage Track Boundaries.
- Размер единицы размещения раздела (Partition Allocation Unit size). При форматировании томов, на которых размещаются базы данных Exchange, рекомендуется использовать единицу размещения NTFS размером 64KB. Рекомендация в 64KB основана на улучшении производительности, обнаруженной при длительных последовательных операциях чтения, таких, как потоковое резервное копирование и некоторые другие важные задачи.
- Просматривайте ESRP. Практически все основные поставщики хранилищ опубликовали руководства относительно конфигурации хранилища под Exchange Server. Большинство (или все) из этих публикаций можно найти на Exchange Solution Reviewed Program (ESRP). Здесь вы найдете последние результаты тестов и руководства от поставщиков хранилищ, которые действительно могут улучшить состояние, производительность и надежность подсистемы хранения.
4. Резервное копирование (Backup)
Exchange Server 2007 предлагает много способов для процесса резервного копирования. Есть несколько подсказок, которые могут улучшить процесс резервного копирования:
- Когда это возможно, всегда используйте VSS вместо потокового резервного копирования (streaming backup). В скором времени появится дополнение для утилиты Windows Server Backup (выпуск ожидается летом 2008), которое заменит NTBackup, и которое позволит вам выполнять резервные копии Exchange VSS на Windows Server 2008.
- Если используете LCR или CCR, то выполняйте резервное копирование с пассивного узла (SCR не поддерживает резервное копирование с исходного узла), снижая таким образом требования к IO для активного узла. При выполнении резервного копирования с пассивного узла, нельзя использовать потоковое резервное копирование, только VSS.
- Если вы выполняете резервное копирование с пассивного узла, то активируйте Online Maintenance Checksum на активном узле. Online Maintenance Checksum контролируется следующим ключом в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem DWORD Key (ключ): Online Maintenance Checksum DWORD Value (значение): 1 (включено), 0 (отключено)
- Как и в предыдущих версиях Exchange поддержка (online maintenance) и процесс создания резервной копии не должны пересекаться по времени. Должно возникать событие 703, по крайней мере каждые два дня для каждой базы данных с почтовыми ящиками: Event Type (тип события): Information Event Source: ESE Event Category (категория события): Online Defragmentation Event ID: 703Для получения более подробной информации, пожалуйста, прочитайте статью Exchange 2007 SP1 ESE Changes - Part 2.
- Используйте менеджер для защиты данных Data Protection Manager (DPM) 2007. Одно из многих его преимуществ заключается в том, что вы можете снизить влияние процесса резервного копирования, проверяя Exchange server и DPM server, в результате чего снижается влияние на I/O на почтовом сервере во время резервного копирования.
5. Память и виртуальная память
В 32-битном мире существовал предел доступной памяти в 4GB, поэтому вы не слишком много могли сделать для улучшения производительности, кроме установки переключателя old /3GB. К счастью, благодаря x64 архитектуре, теперь мы может адресовать почти неограниченное количество памяти, что означает отсутствие узкого места.
Exchange Server 2007 SP1 хорошо настроен на использование памяти, но есть две подсказки, которыми я хочу с вами поделиться: одна касается настроек виртуальной памяти, другая больше касается транспортных серверов (Hub transport server).
На протяжении длительного времени существовала противоречивая информация, относительно правильного размера страничного файла (paging file). На момент написания этой статьи официальная рекомендация для систем Exchange server:
- Если сервер имеет менее 8 GB RAM: количество RAM на 1.5.
- Если сервер имеет более 8 GB RAM: количество RAM плюс 10 MB.
Если вы загрузили последнее обновление для ExBPA, то именно это инструмент и сообщит вам.
Максимальный и минимальный размер памяти должн иметь одинаковое значение, а значение параметра memory dump нужно изменить на ‘Kernel Memory Dump’ (http://support.microsoft.com/?id=274598). Если у вас устаревший диск, на котором размещается страничный файл (page file), то вы должны настроить 100 MB страничный файл на системном диске, чтобы соответствовать kernel dump.
Подсказка, касающаяся транспортной роли (Hub Transport role) заключается в размере КЭШа для базы данных. Exchange 2007 SP1 (и более ранние версии) по умолчанию имеют кэш базы данных размером 128MB. На HUB серверах с высокими коэффициентами более высокое значение для ESE КЭШа позволяет увеличить производительность системы. Т.к. транспортная служба динамически не увеличивает ESE кэш (в отличие от роли почтового сервера), то параметр DatabaseMaxCacheSize, который находится в файле EdgeTransport.exe.config должен быть увеличен до 512MB на Hub серверах:
- Current setting (текущее значение): <add key="DatabaseMaxCacheSize" value="134217728" />
- Recommended setting (рекомендованное значение): <add key="DatabaseMaxCacheSize" value="536870912" />
Для получения более подробной информации, пожалуйста, прочитайте статью New maximum database cache size guidance for Exchange 2007 Hub Transport Server role.
6. Используйте Outlook 2007
Нет сомнений, что Outlook 2007 и Exchange Server 2007 ‘вместе работают лучше. У вас есть следующие возможности, которые доступны лишь тогда, когда вы обращаетесь к почтовому ящику Exchange 2007 с помощью Outlook 2007:
- Autodiscover (автоматическое обнаружение)
- Web-based Offline Address Book (OAB)
- Availability Service (служба доступности)
- Resource Assistant (ассистент ресурсов)
- Unified Messaging (объединенный обмен сообщениями)
- Improved Out of Office Assistant (улучшенный офисный ассистент)
- Managed Folders (управляемые папки)
- Increased Rules Limit (увеличенный предел правил)
- Partial Item Change Download
- Message Classification (классификация сообщений)
Еще один инструмент, который появился в Exchange Server 2007 и лучше работает с Outlook 2007 – это RPC Client Throttling (или RPC Client Back-off). Client throttling позволяет Exchange идентифицировать пользователей, которые выполняют избыточное число RPC операций на почтовом сервере (Mailbox server), что приводит к снижению общей производительности системы. Сервер посылает таким клиентам запрос "back-off", чтобы снизить влияние на производительность сервера.
Пользователи Outlook 2007 получают запрос ropBackoff, Outlook 2003 получает статусный код RPC_S_SERVER_TOO_BUSY. Это значит, что клиенты Outlook 2003 перестают ждать после 1 минуты следующих один за другим back-offs и отключаются от Exchange Server. Для получения более подробной информации, пожалуйста, прочитайте статью Understanding Client Throttling.
Как у администратора системы обмена сообщениями (Messaging Administrator), у вас есть возможность изменить некоторые настройки, которые позволят улучшить общую производительность:
- Убедитесь, что вы установили Service Pack 1 для Microsoft Office Outlook 2007, т.к. он устраняет некоторые проблемы с производительностью OST.
- Используйте кэшированный режим Outlook:
- Set-CasMailbox MailboxName ‘MAPIBlockOutlookNonCachedMode:$true
- Запретите подключение от предыдущих версий Outlook, изменив ключ в реестре (KB288894) или выполнив следующую команду:
- Set-CasMailbox MailboxName -MAPIBlockOutlookVersions:"-11.8010.8036’
Резюме
Это первая часть этой статьи. Помните, что хорошее планирование часто является ключом для хорошей производительности. Некоторые из подсказок, такие как правильное определение размеров и настройка хранилища, относятся к этапу планирования, что означает, что это нужно сделать до того, как серверы попадут в промышленную эксплуатацию.
Знайте все о своих серверах, измеряйте их, создавайте базовые линии и отслеживайте ваше окружение – все это единственный способ двигаться в верном направлении.
7. Сеть
На уровне сети существует пара приемов, чтобы все протекало более гладко:
- Отключите Windows 2003 Scalable Network Pack (SNP). SNP был предназначен для ускорения сетевого стека. К сожалению, у него есть некоторые проблемы с Exchange (почитайте Windows 2003 Scalable Networking pack and its possible effects on Exchange). Для отключения всех функций SNP следуйте инструкциям здесь: KB948496. SNP по умолчанию отключен в Windows Server 2008.
- Отключите IPv6 в Windows Server 2008. Хотя поддержка IPv6 и является одной из величайших возможностей Windows Server 2008, она также конфликтует с Exchange Server 2007. К примеру, она может препятствовать работе Outlook Anywhere. Так что, если вы можете обойтись без IPv6, отключите ее:
- Уберите галочку напротив Internet Protocol Version 6 (TCP/IPv6) в свойствах соединения
- Уберите "::1 localhost’’ из файла HOSTS
- Откройте реестр и найдите HKLM\System\CCS\Services\Tcpip6\Parameters
- Создайте ключ DWORD (32-bit) под названием DisabledComponents и введите значение 0xFFFFFFFF (это отключит все компоненты IPv6, кроме интерфейса обратной связи IPv6)
- Перезагрузите систему
- Отключите автотюнинг TCP в Windows Server 2008. Автотюнинг – это свойство, представленное в Windows Vista и Windows Server 2008 и предназначенное для оптимизации пропускной способности TCP. Проблема заключается в том, что некоторые сетевые устройства не поддерживают эту функцию (обычно это брандмауэры Cisco, Sonicwall, Check Point, некоторые маршрутизаторы NG R55 и Netgear), что может привести к замедлению работы. Для отключения автотюнинга выполните следующую команду: netsh interface tcp set global autotuninglevel=disabled
8. Устанавливайте Exchange на серверы Windows 2008 Server
Вторая история из этой статьи описывает ситуацию с Windows Server 2008 (а первая – с Outlook 2007).
В Windows 2008 есть много улучшений, касающихся непосредственно Exchange 2007, например:
- Поддержка кластеров множественных подсетей. В Windows 2003 вам было нужно распространять локальную подсеть на географически разнесенные кластеры. В Windows Server 2008 вы можете иметь и кластеры CCR, и кластеры SCC на двух различных подсетях.
- SMBv2 увеличивает производительность копирования файла. Это означает более быстрое ведение и поддержку журнала. Поскольку CCR и SCR используют протокол SMB для копирования файлов, в Windows Server 2008 вы получаете увеличение производительности копирования на 40%.
- Уменьшение времени простоя для поддержки аппаратного обеспечения. Windows Server 2008 допускает добавление, удаление и замещение множества ключевых аппаратных компонентов без потери времени (при адекватном оборудовании).
- Практически нулевое время простоя при решении проблем с NTFS. Windows Server 2008 включает в себя самовосстанавливающуюся NTFS, исправляющую ошибки в файловой системе NTFS в процессе работы системы без необходимости запускать Chkdsk в фоновом режиме.
- Более высокая масштабируемость для Outlook Anywhere. Прокси служба RPC теперь поддерживает ограничения на количество соединения на один IP-адрес, с максимальным количеством в 65535 соединений на один IP-адрес. Windows Server 2003 поддерживает максимально 65535 соединений вне зависимости от количества IP-адресов, подключенных к серверу.
- Интегрированные предустановочные требования означают ускоренное развертывание. Windows Server 2008 включает установочные зависимости Exchange 2007: Microsoft Management Console (MMC) 3.0, Windows PowerShell и .NET Framework 2.0.
Пожалуйста, не забывайте, что установка Exchange Server 2007 RTM на Windows Server 2008 не поддерживается, вам потребуется SP1.
За более подробной информацией обращайтесь к этой ссылке Exchange Server and Windows Server 2008, Part II.
9. QoS с UM
Использование Quality of Service (Качество службы - QoS) и DiffServ может значительно улучшить работу с Unified Messaging(Унифицированная отправка сообщений - UM). Если у вас проблемы с UM, связанные с условиями работы сети, вам определенно необходимо QoS. Поддержка Differentiated Services (Разделенные службы - DiffServ) QoS была добавлена в SP1.
Чтобы включить QoS с использованием DiffServ, выполните следующие шаги:
- Запустите GPEdit.msc на сервере UM.
- Перейдите к Computer Configuration | Administrative Templates | Network | QoS Packet Scheduler | DSCP value of conforming packets.
Рисунок 1: Локальная групповая политика MMC
- В правой панели сделайте двойной щелчок на Controlled load service type, щелкните Enabled, установите значение DSCP value равным 34, щелкните OK.
Рисунок 2: Свойства Controlled load Service
- Сделайте двойной щелчок на Guaranteed service type, нажмите Enabled, установите значение DSCP value равным 46, щелкните OK.
- Установите QoS Packet Scheduler (Планировщик пакетов) на сервер UM (QoS Packet Scheduler можно установить, добавив его в качестве сетевой службы в свойствах сетевого соединения в Windows Server 2003. QoS Packet Scheduler также установлен по умолчанию в Windows Server 2008).
Рисунок 3: Свойства сети
Для получения более подробной информации прочитайте New Unified Messaging Features in Exchange 2007 SP1.
10. Запустите PowerShell быстрее
Если вы когда-либо щелкали на иконку Exchange Management Shell (Уверен, вы уже так делали), вы знаете, что пройдет некоторое время до того, как окошко всплывет. Эта довольно долгая задержка происходит из-за компиляции Common Intermediate Language (CIL) в родной код, происходящая в фоновом режиме.
Если вы хотите немного ускорить время запуска, выполните следующие шаги:
- Используя Блокнот, создайте файл .PS1 (назовите его Update-GAC.ps1) со следующим кодом (на системах x86 замените Framework64 во второй линии скрипта словом Framework): Set-Alias ngen @(dir (join-path ${env:\windir} "Microsoft.NET\Framework64") ngen.exe -recurse | sort -descending lastwritetime)[0].fullName[appdomain]::currentdomain.getassemblies() | %{ngen $_.location}
- Запустите Exchange Management Shell и выполните только что созданный скрипт.
- Закройте окно Exchange Management Shell и снова его запустите. Обратите внимание на разницу!
Для получения более подробной информации прочитайте Avoiding Jitter: Jumpstarting the Exchange shell.
11. Профилактически контролируйте среду Exchange
Exchange Server – это, конечно же, не решение в стиле ‘‘настрой и забудь’’. Как и любое приложения для решения критически важных задач, вам необходимо профилактически контролировать его, чтобы убеждаться в правильности функционирования всей инфраструктуры Exchange для идентификации возможных проблем и для определения ухудшения производительности до того, как проявится простои в работе.
Хотя вы можете использовать и ПО сторонних производителей, я настоятельно рекомендую вам использовать System Center Operations Manager (OpsMgr) 2007, который включает и Exchange Server 2007 Management Pack.
Exchange Server 2007 Management Pack for Operations Manager 2007 включает расширенный набор правил, обзоров, информации, мониторинговых средств и отчетов для управления Exchange Server 2007. Эти ресурсы помогут вам держать вашу среду Exchange Server 2007 в хорошем состоянии путем обнаружения и отправки предупреждений, автоматических реакций на критические события, таким образом предупреждая возможные отказы сервисов или конфигурационные проблемы.
В следующей таблице представлен обзор функциональности мониторинга, произведенного с помощью Operations Manager 2007(взятого из Exchange Server 2007 Management Pack Guide):
Компонент Exchange | Функциональность мониторинга |
Exchange Client Access | Мониторинг ActiveSync и связи OWA, включая синтетические транзакции Измерение производительности и предупреждения |
Exchange Edge Transport | Измерение производительности и предупреждения |
Exchange Hub Transport | Измерение производительности и предупреждения |
Exchange Mailbox | Мониторинг информационного хранилища Мониторинг текущей почты и связи MAPI Измерение производительности и предупреждения |
Exchange Unified Messaging | Мониторинг связи UM, включая синтетические транзакции Измерение производительности и предупреждения |
Конфигурация и безопасность | Лучшие рекомендации по Exchange |
Мониторинг журнала событий Exchange | Комплексные правила для Exchange Детальное знание о событиях продукта |
12. Active Directory
Сервер Exchange сильно зависит от инфраструктуры Active Directory. И хотя Exchange довольно хорошо балансирует свои запросы через контроллеры доменов, включая принятие во внимание степень загруженности контроллера доменов, это высокотребовательное приложение и оно дает довольно большую нагрузку через все доступные GC, особенно если вы пользуетесь всеми возможностями и функциями, предлагаемыми в Exchange 2007.
В следующей таблице показано рекомендуемое соотношение серверов Exchange 2007 к серверам глобальных каталогов (global catalog - GC) Active Directory для каждого сайта, содержащего серверы Exchange 2007 Mailbox или пользователей (в предположении, что серверы DC и почты Exchange располагаются на примерно эквивалентном оборудовании):
32 бита | 64 бита | |
Отношение GC к количеству почтовых серверов | 1:4 | 1:8 Вам нужно иметь достаточное количество памяти на сервере каталога для кэширования всей базы данных Active Directory (NTDS.DIT) в памяти |
1 GC на XX пользователей | Каждые 10000 пользователей | Каждые 20000 пользователей |
Мне хотелось бы сделать последнее замечание, касающееся контроллера доменов и глобальных каталогов Windows Server 2008. В Windows 2008 представлена новая роль: Read Only Domain Controller (RODC – контроллер доменов только для чтения), которая не работает с Exchange. Exchange будет игнорировать RODC и не соединится с ней, пока администратор вручную не настроит это, поэтому, пожалуйста, убедитесь, что вы не настраиваете конфигурацию вручную, чтобы заставить работать такое соединение.
Заключение
Пожалуйста, запомните, что некоторые из представленных рекомендаций могут измениться в будущем с новыми пакетами обновлений, выпусками служб или новых версий продуктов. Лучшее, что вы можете сделать, чтобы убедиться, что вы не используете вредные рекомендации, это следовать подсказкам №1 и №2:
- Ознакомьтесь со свежей информацией на Блоге команды Exchange (Я - это EHLO тут)
- Загружать последние обновления для ExBPA для новейшего файла дефиниций и запускать его регулярно
Другие ссылки