|
|
|||||||||||||||||||||||||||||
|
Производительность сервера Lotus Domino 7, Часть 3Источник: IBM developerWorks Россия
Данная статья является третьей в серии статей, посвященных улучшениям производительности, которые мы измерили для Domino 7. В первой статье "Производительность сервера Lotus Domino 7, Часть 1: Рабочие нагрузки от клиентов Lotus Notes" мы говорили о стандартной производительности почтовой системы Domino 7. Во второй статье "Производительность сервера Lotus Domino, Часть 2: Производительность Domino 7 для пользователей Domino Web Access" мы рассматривали результаты производительности Domino HTTP, полученные при эмулировании пользователей Domino Web Access. В данной статье рассматривается новый тест производительности под названием Enterprise Mail. Этот тест эмулирует Notes-пользователей в корпоративной среде. В будущей статье мы исследуем несколько переменных Notes.ini, которые важны для настройки оптимальной производительности в Domino 7. В первой части статьи мы объясним причину, по которой мы разработали рабочую нагрузку Enterprise Mail, и опишем, что делает эта рабочая нагрузка. В оставшейся части статьи мы продемонстрируем полученные нами результаты тестов производительности на различных платформах. Мы надеемся, что вы найдете эту информацию полезной и узнаете об улучшениях, сделанных в Domino 7. Примечание: Результаты, приведенные в этой статье, были получены при использовании тестов производительности, выполняемых в управляемой среде. Хотя при создании тестовой программы были предприняты серьезные усилия по включению в нее обычных пользовательских действий, вполне вероятно, что реальные пользователи будут использовать Domino по-другому (не только узкий набор функций, тестируемых программой). Следовательно, эти цифры должны восприниматься исключительно как информация для понимания относительной производительности версий Domino. Они не являются рекомендациями для реального развертывания. За помощью по планированию нагрузки обращайтесь к вашему поставщику аппаратного оборудования. Кроме того, хотя мы приводим результаты для различных аппаратных платформ, их конфигурации не унифицированы по ресурсам. Нашей задачей было измерение производительности самого Domino, и эти данные не должны использоваться для сравнения одной платформы с другой. Тест производительности с рабочей нагрузкой Enterprise MailПрограммы тестирования производительности могут тестировать много разных вещей. В данном случае мы сравниваем различные версии программного обеспечения (Domino 7 и Domino 6.5) на одной и той же машине. В отличие от других тестов, в которых мы пытаемся показать максимальное количество пользователей, которое могла бы поддерживать тестируемая система, данный тест фокусируется на аппаратных ресурсах, необходимых для поддержки фиксированного числа пользователей. Рабочая нагрузка Enterprise Mail (EntMail) представляет собой набор команд, включенных в инструментальные средства NotesBench и Server.Load. Мы начали с рабочей нагрузки R6mail в качестве базы:
Затем мы добавили несколько новых действий:
При выполнении рабочая нагрузка Enterprise Mail пытается эмулировать разнообразные действия пользователя на целевых серверах. К этим действиям относятся обмен сообщениями, составление календаря, поиск в базе данных, репликация базы данных между серверами, репликация локальной базы данных на клиенте и кластерная репликация. Рабочая нагрузка Enterprise Mail была разработана на ранних этапах разработки Domino 7 для проверки самой разнообразной функциональности Domino, чтобы можно было оптимизировать производительность различных компонентов Domino. Рабочая нагрузка очень близко воспроизводит среду пользователя, куда входит репликация, кластеризация, локальная репликация почтовых баз данных, полнотекстовый поиск, ведение журналов транзакций и т.д. Данный тест Enterprise Mail измеряет следующие метрики на сервере:
Полученные результаты эффективности использования ресурсов для данного количества пользователей затем сравниваются для двух версий Domino. На серверах не выполняются ни сканирование в реальном времени на наличие вирусов, ни другое стороннее программное обеспечение. Хотя мы пытались создать условия работы, максимально близкие к реальным, нам необходимо было исключить работу, которая является переменной во времени, а также переменной между различными пользовательскими рабочими местами. Дополнительная информация по выполнению теста Enterprise Mail с использованием Server.Load приведена ниже. Общие результатыПроцент улучшения эффективности использования CPU для Domino 7 на всех платформах зависит от количества активных пользователей. Вообще говоря, чем больше пользователей, тем выше эффективность использования Domino 7 по сравнению с Domino 6.5. Использование ресурсов для каждой платформы измерялось при устойчивом состоянии для наибольшего количества пользователей. Среднее значение не записывалось до тех пор, пока не проходило более двух часов после фиксации устойчивого состояния, а результаты усреднялись примерно за шесть часов. Количество активных пользователей - это общее количество пользователей, работающих на обоих серверах. То есть, половина пользователей работала на одном из серверов, и половина работала на парном кластере. Количество пользователей было доведено до того уровня, когда Domino 6.5 еще не переполнялся от нагрузки. Это позволило поддерживать нагрузку для Domino 6.5 и достичь устойчивого состояния. Количество кластерных репликаторов было установлено так, чтобы кластерная репликация не выходила за 15 минут (900 секунд).
Мы использовали несколько влияющих на производительность переменных Notes.ini для оптимизации производительности сервера в наших тестах. Например, в Domino 6.5.x были введены параметры FTUpdate_Idle_Time и Update_Idle_Time. FTUpdate_Idle_Time указывает, когда (в секундах) выполняется полнотекстовое обновление, а Update_Idle_Time устанавливает частоту обновления при просмотре. Для обоих переменных значение по умолчанию равно 5 секундам. Domino 7 имеет более эффективную кластерную репликацию, поэтому мы использовали эти два параметра для замедления обновления в Domino 7, чтобы гарантировать приблизительно одинаковый объем работы в сравнении с Domino 6.5. В результате мы могли выполнить корректное сравнение загруженности CPU. Параметр cluster_replicator устанавливает количество кластерных репликаторов. В Domino 6.5 этот параметр должен быть выше, чем в Domino 7, для предотвращения выхода времени кластерной репликации за 15 минут. Мы установили ServerTasks в update,replica,router,amgr,adminp. Мы также установили EnableForcedFillOnFileExtend в 1, чтобы разрешить Domino явно использовать операционную систему/файловую систему для расширения файла базы данных (NSF). Переменная NSF_DBCache_Max_Clean_Hold_Time определяет длительность в минутах сохранения базы данных в DbCache в обновленном состоянии перед удалением ее из кэша. Установка этого параметра в более высокое значение позволяет базе данных дольше оставаться в кэше, что приводит к уменьшению объема работы на сервере. Кроме того, мы рекомендуем установить переменную Server_Transinfo_range на всех рабочих машинах Domino, входящих в кластер. Это определит чувствительность к неудачам клиентских запросов к члену кластера при занятости сервера. Определение значения для этого параметра - это итеративный процесс, основанный на мониторинге Server Expansion Factor и Server Availability Index. Мы не настраивали наши серверы на использование системы восстановления после сбоя, поэтому этот параметр не имел влияния на наши тесты. Полную информацию по этим и всем остальным переменным Notes.ini можно найти в документации по Domino 7. В следующих разделах данной статьи мы рассмотрим конкретные результаты тестов, полученных нами на платформах AIX, iSeries, Solaris 9, Windows 2003, zSeries Linux и z/OS. Тесты на AIX мы запускали на машине pSeries Model p570 Power 5, выполняющей последнюю версию операционной системы AIX 5.3. Мы использовали выделенный логический раздел (LPAR) с двумя физическими 1.65GHz CPU, определенными для него. Аппаратное обеспечение AIX 5.3 и Power 5 поддерживает Symmetrical MultiThreading (SMT) и представляет нам (в данном случае) два дополнительных виртуальных CPU. Мы используем Network Appliance Filer, настроенный как модуль Network Attached Storage. LPAR настроен с двумя Domino-разделами, которые тоже работают как кластер Domino-сервера. Все тесты выполнялись с разрешенным ведением журналов транзакций с использованием кругового (circular) режима. Тесты выполнялись с 6000 эмулированными пользователями, работающими параллельно, и с 3000 пользователями, определенными как имеющие свой домашний почтовый сервер на каждом Domino-сервере. 20% пользователей были определены, как имеющие локальные копии почтовых файлов. Принудительная репликация между Domino-серверами выполнялась по часовому плану. Были также разрешены обновления и полнотекстовая индексация. В следующей таблице показана наша конфигурация аппаратного и программного обеспечения для тестирования на AIX:
Для оптимизации производительности мы установили следующие параметры в файлы Notes.ini тестовых серверов:
Значения Server_Pool_Tasks и Server_Max_Concurrent_Trans были установлены для поддержки большего количества конечных пользователей, достижимого в каждой версии Domino. Перед изменением значений по умолчанию для этих параметров рекомендуется проанализировать их для оптимизации используемых значений. Мы также должны были настроить размер пула репликации кластера для тестовых запусков Domino 7, установив параметр RTR_MAX_POOLSIZE_MB. (Этот параметр, по-видимому, нужен только в тестовой среде, но если достигается максимальная граница размера пула, появляется сообщение об ошибке.) Во время тестов время реакции клиента было меньше 1 секунды. На рисунке 1 показаны результаты нашего теста.
Как показано на рисунке 1, при одинаковом числе эмулированных пользователей, выполняющих одинаковую рабочую нагрузку за одинаковый период времени, мы имеем 27% уменьшения загрузки CPU в Domino 7 по сравнению с Domino 6.5. А когда Domino 7 использует шаблон mail7.ntf (а Domino 6.5 - mail6.ntf), уменьшение загрузки CPU составляет 22%. В следующей таблице представлены результаты по использованию ресурсов при тестах, выполненных нами для обоих шаблонов. В первой таблице показаны результаты для 6000 эмулированных пользователей, использующих почтовый шаблон mail6.ntf:
Во второй таблице наши эмулированные пользователи Domino 7 используют почтовый шаблон mail7.ntf, а пользователи Domino 6.5 - mail6.ntf:
Значения дисковых и сетевых операций в этих таблицах были измерены в Network Appliance Filer при помощи команды sysstat. Для среды iSeries были настроены два Domino-раздела с данными для 4000 пользователей. Пять клиентов эмулировали по 800 пользователей каждый (всего 4000). По умолчанию на iSeries данные распределяются по дискам равномерно. Сетевой доступ осуществлялся через один 1GB Ethernet-адаптер. В следующей таблице приведена конфигурация для наших тестов на iSeries:
Мы установили следующие параметры в серверных файлах Notes.ini:
Как и на других платформах, Domino 7 при работе на iSeries показывает повышение эффективности использования CPU и масштабируемости. Domino 7 уменьшает загрузку CPU по сравнению с Domino 6.5, работая с количеством почтовых пользователей до 4000 включительно (см. рисунок 2).
Во время тестов клиентское время реакции было менее 1 секунды. В следующих таблицах показано сравнение эффективности использования ресурсов для каждого шаблона. В первой таблице показаны результаты для 4000 эмулированных пользователей, работающих с почтовым шаблоном mail6.ntf:
Во второй таблице наши эмулированные пользователи Domino 7 используют почтовый шаблон mail7.ntf, а пользователи Domino 6.5 - mail6.ntf:
Domino 6.5 с 4000 пользователями использует 54.8% CPU со средним временем реакции 0.123 секунды. Domino 7 с почтовым шаблоном mail6.ntf и 4000 пользователями использует 46.8% CPU со средним временем реакции 0.111 секунд, а Domino 7 с почтовым шаблоном mail7.ntf и 4000 пользователями использует 49.2% CPU со средним временем реакции 0.100 секунд. Для 4000 пользователей эти числа дают 15% уменьшения загрузки CPU в Domino 7 с почтовым шаблоном mail6.ntf, и 10% экономии CPU в Domino 7 с почтовым шаблоном mail7.ntf. Domino-кластер, использовавшийся нами для тестов на Solaris, содержал два сервера Sun, каждый с восемью CPU 6800, и чрезвычайно быстрым 12-проходным двухядерным 2900. Мы покажем результаты для более медленного 6800, потому что в данном случае это является ограничивающим фактором. Sun 6800 состояла из 8-CPU домена 12-CPU системы. У нас имелось семь массивов T3 с девятью дисками в каждом. Мы установили исполняемые файлы Domino на первом массиве и распределили пользовательские базы данных равномерно по первым шести массивам. Седьмой массив использовался для журнала транзакций Domino. Всего было определено 14000 пользователей в каталоге Domino, и все они были активны во время данного теста. Эти эмулированные пользователи были распределены по 14 клиентским рабочим станциям, каждая из которых эмулировала 1000 пользователей. Половина этих пользователей использовала 6800 как домашний сервер. В следующей таблице показан обзор аппаратного обеспечения 6800:
Параметры конфигурации для тестов Domino 6.5 и Domino 7 были похожи. Основное их отличие заключалось в том, что в Domino 7 мы могли бы уменьшить число заданий репликаторов кластеров с восьми до шести и все равно выполнить задачу по сохранению среднего времени очереди репликации кластера в пределах 15 минут. Сервер Domino 7 был также настроен на использование преимуществ поддержки в Solaris больших страниц. В следующей таблице приведены изменения, которые были сделаны в файле Notes.ini каждого сервера:
В следующей таблице сравнивается потребление системных ресурсов серверами Domino 6.5 и Domino 7 при работе с 14000 активных пользователей в кластере. Для тестов в Domino 6.5 почтовые файлы основывались на шаблоне mail6.ntf, в то время как в Domino 7 использовался шаблон mail7.ntf.
Во время тестов клиентское время реакции было менее 1 секунды. В отличие от других тестов производительности, где мы пытались показать максимальное количество пользователей, которое будет поддерживать тестируемая система, данный тест производительности концентрируется на аппаратных ресурсах, необходимых для поддержки фиксированного числа пользователей. Здесь мы можем увидеть, что крайне важное использование CPU было уменьшено на 28% в Domino 7, в то время как использование сети и оперативной памяти осталось почти таким же. Для тестирования Windows Domino 7 был настроен как кластерный сервер с одним разделом на eServer xSeries 360, а Windows 2003 Enterprise Server работал на Compaq Proliant DL580 с двумя реальными процессорами, с отключенным режимом hyperthreading и примерно с 3.5GB доступной оперативной памяти. Исполняемые файлы Domino были установлены на одном внутреннем диске вместе с операционной системой. Почтовые базы данных были распределены по двум массивам IBM EXP (прямое соединение SCSI), настроенным как RAID 0 на каждом сервере. Сетевой доступ осуществлялся через один 1GB Ethernet-адаптер, работающий в полнодуплексном режиме. Журнал транзакций записывался на отдельный диск с облегченной системой времени исполнения и был установлен на максимальный размер 4GB. В следующих таблицах показана аппаратная/программная конфигурация для наших тестов Windows. В первой таблице содержатся данные конфигурации xSeries:
А в этой таблице содержатся данные по аппаратно/программной конфигурации для Compaq Proliant DL 580:
Мы ввели следующие настройки в файл Notes.ini серверов:
Мы использовали 4000 определенных пользователей для обоих тестов (Domino 7 и Domino 6.5). Для этого тестирования два сервера не были сбалансированы (другими словами, они не были одинаковы по мощности). Сервер Compaq был на несколько лет старше и имел более низкую тактовую частоту CPU. Число пользователей на кластере было выбрано таким, чтобы Domino 6.5 на менее мощном сервере не был перегружен. Мы выделим несколько отличий во том, как Domino 6.5 работал на xSeries по сравнению с сервером Compaq. Очень небольшое изменение было замечено в использовании CPU для Domino 7 (использующем базы данных, созданные с шаблоном Domino 6.5) и шаблона Domino 7 на Windows (2000 пользователей на каждом сервере). Все тестирование Domino 7 для Windows было выполнено с базами данных, использующими шаблон mail7.ntf, а тестирование Domino 6.5 было выполнено с использованием шаблона mail6.ntf. Во время тестирования клиентское время реакции было менее 1 секунды. В следующей таблице показан процент повышения эффективности использования CPU для Domino 7 по сравнению с Domino 6.5:
В следующей таблице сравнивается использование ресурсов для сервера xSeries.
Как можно заметить, Domino 7, работающий на Windows 2003, имеет существенное преимущество в эффективности использования CPU по сравнению с Domino 6.5. Использование оперативной памяти, диска и сетевых ресурсов было примерно одинаковым в обеих версиях. Этот и предыдущий тест подтвердили, что Domino 7 улучшает масштабируемость, производительность и TCO по сравнению с Domino 6.5. Для тестов в Linux на платформе zSeries мы использовали один логический раздел (LPAR) на series z990 model 2084-C24. На z990 доступно 24 CPU, 3 из которых были выделены для теста производительности. Оставшиеся 18 CPU, а также другие машинные ресурсы, были распределены по остальным 13 LPAR, используемым для разработки и тестирования Domino. В этих тестах мы использовали только три из шести CPU для генерирования нагрузки с более высокой загруженностью CPU. LPAR-тест производительности был настроен на 12GB оперативной памяти. На SLES 8 только 2GB были использованы для центральной памяти (из-за 32-битной операционной системы), а 2GB расширенной памяти были выделены для свопинга. На SLES 9 мы использовали 12GB. Два Domino-раздела работали на этом LPAR. Мы использовали две 1GB Ethernet-карты Open Systems Architecture (OSA). LAN изолирован. Все диски размещены в массиве Enterprise Storage Server (2105 Model 800), каждый диск настроен как 3390 model 3. Отдельные файловые системы были размещены на отдельных томах (дисках) для работы Domino, данных (за исключением клиентских почтовых баз данных) и Domino Directory (Names.nsf), плюс два тома в файловой системе LVM (logical volume manager) для ведения журналов транзакций. Клиентские почтовые базы данных были распределены равномерно по 52 файловым системам LVM; каждая была размещена на 5 томах в отдельной LVM, обеспечивая 11.5GB используемого пространства для каждой файловой системы. Для Linux на zSeries использовалась файловая система EXT 3. Были установлены операционные системы SLES 8 с SP3 или SLES 9 с SP1. Мы разрешили ведение журналов транзакции с аппаратным сжатием данных вместо программного алгоритма LZ1. Эта возможность доступна только в Domino 7 на zSeries. В следующей таблице показана аппаратная/программная конфигурация для наших тестов на zServer Linux:
В следующей таблице показаны изменения, которые мы сделали в файлах Notes.ini каждого сервера:
На рисунке 3 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5, выполняющими рабочую нагрузку Enterprise Mail и реализующими либо шаблон mail6.ntf из Domino 6.5, либо шаблон mail7.ntf:
Во время тестов клиентское время реакции было менее 1 секунды. В следующих трех таблицах приведены результаты использования ресурсов при тестировании с 6000 пользователями, работающими с обоими шаблонами (mail6.ntf и mail7.ntf). В первой таблице показаны результаты для шаблона mail6.ntf на SLES 8:
Во второй таблице показаны результаты для пользователей Domino 7, использующих шаблон mail7.ntf на SLES 8:
В третьей таблице показаны результаты для пользователей Domino 7, использующих шаблон mail6.ntf на SLES 9:
Тесты показали повышение эффективности использования CPU на 37% при выполнении Domino 7 с шаблоном mail6.ntf, 31% при выполнении Domino 7 с шаблоном mail7.ntf и 30% при выполнении Domino 7 на SLES 9 с почтовым шаблоном mail6.ntf. Очевидно, что Domino 7 улучшает эффективность использования CPU с обоими шаблонами (mail6.ntf и mail7.ntf) по сравнению с Domino 6.5. В результате, уменьшение загруженности CPU в Domino 7 преобразуется в улучшение стабильности на высоких уровнях рабочей нагрузки, позволяя поддерживать большее количество клиентов на одном сервере Domino 7 в Linux на zSeries. Что еще важнее, облегченные требования к CPU в Domino 7 могут привести к существенно более низкой общей стоимости владения (total cost of ownership) по сравнению с Domino 6.5 в Linux на zSeries. Все тесты производительности, описанные в данном разделе, выполнены на аппаратной системе, идентичной описанной для теста на zSeries Linux (см. предыдущий раздел). Есть отдельная файловая система z/FS, размещенная на одном томе (диске) для работы Domino, для данных (за исключением клиентских почтовых баз данных) и для Domino Directory (Names.nsf). Файловая система, распространяющаяся на два тома, распределяется для данных журнала транзакций. Клиентские почтовые базы данных распределяются равномерно по 52 z/FS, каждая занимает 5 томов, обеспечивая 11.5GB используемого пространства на файловую систему. Была установленная операционная система z/OS (версия 1, выпуск 5). Мы разрешили ведение журналов транзакций с аппаратным сжатием данных вместо программного алгоритма LZ1. Данная функция доступна только в Domino 7 на zSeries. В следующей таблице показана аппаратная/программная конфигурация для наших тестов на z/OS:
TВ следующей таблице показаны изменения, которые мы сделали в файлах Notes.ini каждого сервера:
На рисунке 3 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5, выполняющими рабочую нагрузку Enterprise Mail и реализующими либо шаблон mail6.ntf из Domino 6.5, либо шаблон mail7.ntf:
Во время тестов клиентское время реакции было менее 1 секунды. В следующих двух таблицах приведены результаты использования ресурсов при тестировании с 6000 пользователями, работающими с обоими шаблонами (mail6.ntf и mail7.ntf). В первой таблице показаны результаты для шаблона mail6.ntf:
Во второй таблице показаны результаты для пользователей Domino 7, использующих шаблон mail7.ntf:
Тесты показали повышение эффективности использования CPU на 31% при выполнении Domino 7 с шаблоном mail6.ntf и на 26% при выполнении Domino 7 с шаблоном mail6.ntf. Domino 7 повышает эффективность использования CPU с обоими шаблонами (mail6.ntf и mail7.ntf) по сравнению с Domino 6.5. ЗаключениеЛабораторные измерения показали, что Domino 7 выполняет больше работы при заданной загрузке CPU, чем предыдущие версии. Кроме того, Domino 7 использует значительно меньше системных ресурсов для данного объема работы. Эта экономия была измерена при помощи теста производительности, который более точно отображает реальную пользовательскую среду, чем все тесты производительности, выполненные ранее. Конечным результатом является существенное уменьшение общей стоимости владения (TCO) при использовании Domino 7. Ссылки по теме
|
|