Производительность сервера Lotus Domino 7, Часть 1

Вышли в свет Lotus Notes и Domino 7. Теперь каждый должен знать, как они работают по сравнению с предыдущими версиями. В этой первой статье серии из трех частей мы рассмотрим процесс тестирования, которое было выполнено для определения того, как различные платформы Domino 7 выглядят по сравнению с предыдущей версией Domino. Внимание! Есть хорошие новости для всех администраторов!

Повышение производительности и, следовательно, уменьшение TCO, является главной темой Lotus Notes/Domino 7. Для NRPC-пользователей (Notes Remote Procedure Call, "родной" почтовый протокол Notes/Domino) мы увеличили масштабируемость, удалив некоторые внутренние ограничения, и модернизировали код для обслуживания большего количества пользователей на данном уровне использования процессора. В результате, на большинстве платформ Notes/Domino 7 показали уменьшение загруженности CPU с тем же самым количеством R6Mail-пользователей. Экономия CPU представила максимальный уровень улучшения производительности, который мы хотели бы видеть в среде пользователя.

Данная статья является первой в серии из трех частей, в которой мы рассматриваем улучшения производительности, которую мы измерили, сравнивая Lotus Notes/Domino 7 с версией 6.5. В данной статье внимание концентрируется на результатах тестов производительности, эмулирующих Notes-пользователей путем использования рабочей нагрузки R6Mail. Мы приведем результаты тестирования, полученные на разных платформах. Эти результаты получены для одного раздела Domino, не использующего ведение журналов транзакций, за исключением оговоренных случаев. Мы покажем результаты Domino 7 с пользовательскими почтовыми файлами, основанными на версиях почтового шаблона Notes 6.5 и Notes 7. Каждая из них сравнивается с сервером Domino 6.5, пользовательские почтовые файлы которого основаны на шаблоне Notes 6.5. Это показывает, чего ожидать от миграции, в которой преобразование пользовательских почтовых файлов в шаблон Domino 7 может произойти после обновления сервера.

Все результаты представляют время реакции Domino, длящееся меньше секунды. Для целей тестирования выполняется только задание router (исключения оговариваются), для того чтобы избежать зависимости данных от внешней активности. Мы надеемся, что вы найдете эту информацию полезной и узнаете об улучшениях, сделанных в Notes/Domino 7.

Примечание: Результаты, приведенные в этой статье, были получены при использовании тестов производительности, выполняемых в управляемой среде. Хотя и были предприняты определенные усилия при создании тестовой программы по включению в нее обычных пользовательских действий, реальные пользователи могут использовать Notes и Domino не так, как это сделано в тестовой программе. Следовательно, эти цифры должны восприниматься исключительно как информация для понимания относительной производительности версий Domino. Они не являются рекомендациями для реального развертывания. За помощью по планированию нагрузки обращайтесь к вашему поставщику аппаратного оборудования.

Также, хотя мы приводим результаты для различных аппаратных платформ, их конфигурации не унифицированы по ресурсам. Нашей задачей было измерение производительности самого Domino, и эти данные не должны использоваться для сравнения одной платформы с другой.

Рабочая нагрузка R6Mail

Рабочая нагрузка, используемая в тестах производительности в данной статье, является рабочей нагрузкой R6Mail из инструментального средства измерения производительности server.load, включенного в продукт Domino.

Однако на высоком уровне среда тестирования производительности состоит из набора генерирующих нагрузку рабочих станций, каждая из которых эмулирует Notes клиент-серверные действия до 1500 виртуальных пользователей. Мы добавляли дополнительные генераторы нагрузки до тех пор, пока не видели времена реакции, в среднем превышающие одну секунду. На сервере Domino мы настроили Domino Directory для обработки соответствующего числа виртуальных пользователей в тесте, и предоставили каждому из этих пользователей собственный почтовый файл в каталоге данных.

Каждый из виртуальных пользователей выполнял следующие задачи за 90-минутный период:

Действия за каждые 90 минут  Рабочая нагрузка R6Mail  
Открытие папки с входящей почтой 6
Чтение сообщения 30
Удаление сообщения 12
Добавление сообщения в папку входящих сообщений 12 (50 KB)
Передача сообщения трем получателям 1 (100 KB average)
Передача приглашения трем получателям 1
Передача RSVP 1
Закрытие папки с входящей почтой 6

Разбиение этой рабочей нагрузки на низкоуровневые транзакции Domino показывает следующее распределение:

Тип транзакции  Процент 
Чтение входящих документов 25
Добавление документов 25
Открытие папки с входящей почтой 10
Чтение папки с входящей почтой 10
Удаление документов 10
Подготовка/передача RSVP 5.8
Изменение документов 5
Закрытие папки с входящей почтой 5
Просмотр/проверка каталога 1.7
Подготовка/передача сообщения 0.8
Подготовка/передача приглашения 0.8
Создание назначения 0.8

В следующих разделах данной статьи приведены результаты нашего тестирования для различных платформ.

AIX

Для тестирования на AIX мы использовали следующее аппаратное обеспечение:

Модель P670
Количество CPU 32 физических Power4 CPU с тактовой частотой 1.4 GHz, разделенных на три логических раздела (LPAR). LPAR, который мы использовали для этих тестов, был настроен на восемь CPU.
Установленная оперативная память Тестовый LPAR имеет 32 GB RAM.
Активные физические диски 64 SSA дисков, разбитых на четыре секции для Domino Binaries и Domino Data (каждая секция является также логическим томом).
15 дисков по 9GB на диск, и 1 диск 9GB для JFS Log.
Активные логические тома Пять:
  • четыре логических тома для Domino Binaries и Domino Data (JFS 2)
  • один логический том для операционной системы
Операционная система AIX 5.2

Для оптимизации производительности мы установили следующие параметры в файлы Notes.ini тестовых серверов:

Domino 6.5 Domino 7
NSF_Buffer_Pool_Size_MB=210
Server_Pool_Tasks=64
Server_Max_Concurrent_Trans=64
NSF_DbCache_MaxEntries=2000
ServerTasks=Router,LDAP,HTTP,SMTP
Server_Transinfo_range=12
NSF_Buffer_Pool_Size_MB=210
Server_Pool_Tasks=100
Server_Max_Concurrent_Trans=100
NSF_DbCache_MaxEntries=2000
Server_Transinfo_range=12
ServerTasks=Router,LDAP,HTTP,SMTP

AIX использует архитектуру с сегментированием памяти, которая ограничивает общее число сегментов, используемых для общей памяти и кучи. Поэтому мы использовали очень маленькое значение NSF_Buffer_Pool_Size. Это позволило достичь в тестах высокого уровня эмуляции пользователя. В реальной производственной конфигурации мы рекомендовали бы установить NSF Buffer Pool Size в более высокое значение. Значения Server_Pool_Tasks и Server_Max_Concurrent_Trans были установлены для поддержки большого количества конечных пользователей. Перед изменением значений по умолчанию для этих параметров, рекомендуется проанализировать их для оптимизации используемых значений.

Наши тесты работали с минимальным количеством ServerTasks, что не типично для производственной среды. Мы рекомендуем установку параметра Notes.ini Server_Transinfo_range на всех рабочих машинах. Определение его устанавливаемого значения должно быть итеративным процессом, основанным на мониторинге Server Expansion Factor и Server Availability Index. Для полного понимания этих значений и параметров обратитесь к разделу по конфигурированию Server Availability Index "Справочного руководства администратора Domino".

Наше лабораторное тестирование показало, что на p670 LPAR мы были способны достичь примерно 15000 эмулированных Notes-пользователей, работающих на Domino 7, по сравнению с 10000 эмулированных пользователей на Domino 6.5.

Две следующие таблицы сравнивают системные ресурсы, используемые Domino 6.5 и Domino 7 при работе одинакового количества эмулированных пользователей (10000). В первой таблице наши эмулированные пользователи используют почтовый шаблон Mail6:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 23 17.6 -23
Операции чтения с диска, KB/sec 1,150,318 905,709 -21
Операции записи на диск, KB/sec 3,316,083 3,175,272 -4
Используемая общая память (MB) 1160 1152 1
Используемая память процесса (MB) 23 63 173
Сетевая активность, bytes/sec 2,059,541 2,233,823 8

Во второй таблице пользователи Domino 7 используют почтовый шаблон Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 23 18.51 -20
Операции чтения с диска, KB/sec 1,150,318 1,123,650 -2
Операции записи на диск, KB/sec 3,316,083 3,461,609 4
Используемая общая память (MB) 1160 1190 3
Используемая память процесса (MB) 23 64 178
Сетевая активность, bytes/sec 2,059,541 2,240,567 9

Из этих таблиц видно, что Domino 7 использует CPU на 20 и 23 процента меньше, немного меньше оперативной памяти и на 2 и 21 процента меньше I/O операций чтения диска в зависимости от почтового шаблона, используемого на сервере Domino 7. Мы также видим на рисунке 1, что сервер Domino 7 поддерживал от 12000 до 14000 R6Mail-пользователей (в зависимости от используемого почтового шаблона) до того, как процент использования CPU не превысил значения 25. На этом же уровне использования CPU Domino 6 поддерживал только 10000 R6Mail-пользователей.


Рисунок 1. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на AIX
 

Наша машина p670 была разбита на три LPAR; эти результаты получены из одного LPAR. Другие два LPAR были также интенсивно использованы во время запусков тестов для поиска неисправностей и тестирования разработки. Мы подчеркнули это для того, чтобы продемонстрировать, насколько хорошо работают LPAR на p670, и что мы могли выполнять несколько различных действий на этой машине, все равно достигая таких замечательных результатов тестирования.

SuSE Linux (Intel)

В следующей таблице показана конфигурация сервера, используемого нами в NRPC-тестировании производительности:

Количество CPU Четыре 1.4GHz, Xeon MP
Установленная оперативная память 4GB RAM
Активные физические диски SCSI-контроллер с тремя XP300 RAID-массивами и один FAStT 600 с двумя подключенными EXP700, установленные на конфигурацию RAID 0.
Активные логические тома Диски были разбиты на 14 логических томов. Один для /opt, один для /tmp, один для файлов журналов транзакции и 11 для Domino-данных. Это позволило распределить базу данных на большом количестве дисков, избежав, тем самым узких, мест в операциях ввода/вывода.
Операционная система Linux SuSE SLES 9 SP2

Система представляет собой "консервативную" Intel-платформу, состоящую из четырех 1.4 GHz Xeon MP CPU (hyperthreaded) с 4 GB RAM. Дисковая конфигурация - набор массивов IBM EXP, подключенных к контроллеру SCSI, и система FAStT 600, подключенная к серверу через две карты QLogic по оптоволокну. Наша цель заключалась в устранении каких-либо узких мест в дисковой подсистеме, позволяя системе достичь 15000 эмулированных Notes-пользователей. Использовалась операционная система SuSE SLES 9, позволяющая Domino 7 воспользоваться возможностями ядра 2.6, а также библиотеки NPTL Posix.

В следующей таблице показаны изменения, выполненные в файле Notes.ini сервера:

Domino 6.5 Domino 7
ConstrainedSHMSizeMB=1024
NSF_buffer_pool_size_MB=256
NSF_DBUcache_max_entries=5000
NSF_DBcache_maxentries=5000
Server_Max_Concurrent_trans=200
server_pool_tasks=100
ServerTasks=Router
ConstrainedSHMSizeMB=2560
NSF_DBUcache_max_entries=6100
NSF_DBcache_maxentries=6100
NSF_buffer_pool_size_MB=512
Server_Max_Concurrent_trans=200
server_pool_tasks=100
ServerTasks=Router

Особый интерес здесь представляет настройка переменной ConstrainedSHMSizeMB. В Domino 6.x ее значение должно быть установлено примерно в 1 GB, поскольку Domino использует только 2 GB оперативной памяти (SuSE SLES 8 и SLES 9 ограничивает оперативную память, выделяемую Domino, до 2 GB), и некоторое ее количество требуется для организации стека. В Domino 7 это значение параметра Notes.ini может быть увеличено, поскольку мы нашли способ для распределения в SuSE SLES 8 и SLES 9 почти 4 GB оперативной памяти для Domino по умолчанию. Это делается при помощи специальной программы tunekrnl, которая автоматически подстраивает системные параметры для более эффективной работы Domino. В Domino 7 это делается автоматически. Из этих таблиц также видно, что работают только те задания server, которые необходимы для данного NotesBench-теста. Это позволяет серверу достичь максимальной производительности при тестировании.

Когда был разработан сервер Domino 6, ядра Linux (x86), которые он должен был поддерживать, не имели функциональности sys-epoll. Следовательно, Domino не мог поддерживать модель threadpool, как для других платформ. Это приводило к тому, что для каждого NRPC-пользователя порождался поток (thread) на сервере. Каждый такой поток нуждался в стеке, занимающем до 256K памяти. Эти стеки распределялись из 2 GB оперативной памяти, предоставляемой системой для Domino, ограничивая, тем самым, количество NRPC-пользователей, которые мог поддерживать Domino 6, до 3000. (Linux на zSeries реализовал sys-epoll в Domino 6.5.)

С Domino 7 мы используем функциональную возможность sys-epoll в новых ядрах (например, SuSE SLES 8 и SLES 9), которая позволяет Domino применить такую же модель threadpool, что и на других платформах. Это (вместе с усовершенствованиями в библиотеке NPTL Posix, выполненными в SLES 9) значительно улучшило масштабируемость Domino, позволив обслуживать 15000 R6Mail-пользователей - на 400% больше (см. рисунок 2)!


Рисунок 2. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на SuSE Linux (Intel)
 

Хотя Domino 7 может обслужить 15000 пользователей, в следующей таблице сравниваются результаты, полученные для 3000 пользователей, поскольку это максимальное количество пользователей, которое может обслужить Domino 6.x. К сожалению, на таком низком уровне масштабирования небольшие изменения в значениях могут показать значительные изменения в процентах. Это необходимо учитывать при интерпретации данных. Также обратите внимание на то, что, поскольку мы теперь имеем больше доступной оперативной памяти для Domino 7, значение общей памяти больше, что позволяет обрабатывать более высокую пользовательскую нагрузку. В первой таблице наши эмулированные пользователи используют почтовый шаблон Mail6:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 6 7.5 25
Операции чтения с диска, KB/sec 4082 2280 -44
Операции записи на диск, KB/sec 3549 3460 -03
Используемая общая память (MB) 615 977 59
Используемая память процесса (MB) 947 1,020 08
Сетевая активность, bytes/sec 632128 752881 19

Во второй таблице показаны результаты с эмулированными Domino 7 пользователями, работающими с шаблоном Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 6 8.3 38
Операции чтения с диска, KB/sec 4082 3770 -08
Операции записи на диск, KB/sec 3549 3741 05
Используемая общая память (MB) 615 998 62
Используемая память процесса (MB) 947 1,060 12
Сетевая активность, bytes/sec 632,128 725,063 15

В итоге, Domino 7 на Linux сделал большой шаг в масштабируемости на NRPC, увеличив количество пользователей раздела на 400 процентов. Это соответствует другим высокопроизводительным серверным платформам.

iSeries

Domino 7 обеспечивает существенные улучшения производительности для среды iSeries. В данном разделе мы рассмотрим результаты для двух различных конфигураций (одна использует iSeries model 570, а другая - iSeries model 810), для того чтобы показать диапазон улучшений, который мы наблюдали при лабораторном тестировании Domino 7.

iSeries model 570

Наша первая тестовая конфигурация использовала iSeries model 570 с 14 процессорами с избыточным объемом оперативной памяти и дисковых ресурсов. Данная конфигурация была выбрана для того, чтобы продемонстрировать результаты работы Domino 7 в неограниченной по ресурсам среде, а также, чтобы использовать ее для тестирования новых возможностей Domino 7 по поддержке большего числа пользователей в одном разделе Domino..

Модель iSeries model 570
Количество CPU 14 1.65 GHz
Установленная оперативная память 128 GB
Дисковые приводы 93
Операционная система I5/OS V5R3

Для всех тестов использовались значения по умолчанию, за исключением увеличения параметра Domino 7 Notes.ini server_pool_tasks до 100 для тестов на сервере 570. Мы сделали это для обеспечения поддержки большого числа пользователей, теперь возможного для одного раздела Domino.

Для Domino 6.5 было установлено ограничение - максимум 10000 пользователей. В Domino 7 это ограничение было удалено, и на iSeries мы могли работать с 18000 пользователями в нашей тестовой конфигурации. Сравнивая процент использования CPU в Domino 6.5 и Domino 7 (с использованием в Domino 7 нового шаблона Mail7.ntf), мы увидели 25-процентное улучшение. При сравнении Domino 6.5 и Domino 7, используя такой же шаблон Mail6.ntf для обоих тестов, мы наблюдали даже еще большее улучшение - на 33% для 10000 пользователей (см. рисунок 3).


Рисунок 3. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на iSeries model 570
 

Эти цифры представляют максимальный уровень улучшения производительности, которое мы можем ожидать в пользовательской среде. Причина такой низкой эффективности использования CPU заключается в том, что данная системная конфигурация используется также для тестирования Domino Web Access, требующего больших ресурсов CPU, чем NRPC.

В следующих двух таблицах сравниваются результаты, полученные для 10000 эмулированных Notes-пользователей, работающих на iSeries model 570. В первой таблице наши эмулированные пользователи используют почтовый шаблон Mail6:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 5.5 3.7 -33
Операции чтения, запросов в секунду 87 90 3
Операции записи, запросов в секунду 669 594 -11
Базовый пул, страниц в секунду 195 250 28
Сетевая активность, KB/sec 2033 2022 -1
Среднее время реакции (msec)
1 GB/secs Ethernet
8.0 6.7 -16

А в этой таблице эмулированные пользователи используют почтовый шаблон Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 5.5 4.1 -25
Операции чтения, запросов в секунду 87 184 110
Операции записи, запросов в секунду 669 897 34
Базовый пул, страниц в секунду 195 383 96
Сетевая активность, KB/sec 2033 2841 40
Среднее время реакции (msec)
1 GB/secs Ethernet
8.0 7.5 -6

Хотя для обоих шаблонов демонстрируется значительное уменьшение процента использования CPU, вы можете заметить, что сервер Domino использует несколько больше дискового пространства и оперативной памяти для поддержки новых возможностей, включенных в шаблон Domino 7. Приведенные в этих таблицах результаты показывают, что Domino 7 поддерживает значительное большее количество пользователей в одном разделе, а также понижает требования к производительности CPU для каждого пользователя. Несмотря на некоторую дополнительную работу с памятью и дисками в Domino 7, данная системная конфигурация показала улучшение времени реакции в Domino 7 по сравнению с Domino 6.5 для обоих протестированных почтовых шаблонов.

iSeries model 810

Наша вторая тестовая конфигурация использовала iSeries model 810 с двумя процессорами. Этот сервер оборудован 16 GB оперативной памяти и 63 дисковыми приводами, разбитыми на четыре Domino-раздела.

Модель iSeries model 810
Количество CPU Два 750 MHz
Установленная оперативная память 16 GB
Дисковые приводы 63
Операционная система I5/OS V5R3

Мы использовали настройки по умолчанию для обоих тестов Domino 6.5 и Domino 7.

Для данной конфигурации были настроены четыре Domino-раздела, и были протестированы варианты для 6000 и 9000 пользователей. Для варианта с 6000 пользователей в каждом разделе были активны 1500 пользователей. Для 9000 пользователей два раздела были увеличены до 3000 пользователей. Такое количество пользователей отражает более типичную пользовательскую конфигурацию для количества пользователей на Domino-раздел по сравнению с конфигурацией model 570, а также включает большую работу в задаче router.

Сравнивая процент использования CPU в Domino 6.5 и Domino 7, использующих новый шаблон Mail7.ntf, мы видим 4% улучшения при 9000 пользователей. Если мы сравним Domino 6.5 и Domino 7, использующие одинаковый шаблон Mail6.ntf, то увидим более весомое улучшение - 18% для 9000 пользователей. Эти числа представляют, наверное, более типичный диапазон повышения производительности, который мы ожидали бы увидеть в пользовательской конфигурации, настроенной с несколькими Domino-разделами и меньшим количеством пользователей на раздел. Эти результаты представлены на рисунке 4.


Рисунок 4. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на iSeries model 810
 

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 81.4 67 -18
Операции чтения с диска, запросов в секунду 976 772 -21
Операции записи на диск, запросов в секунду 772 762 -1
Базовый пул, страниц в секунду 3761 2804 -25
Сетевая активность, KB/sec 1814 1832 +1
Среднее время реакции (msec)
100 MB Ethernet
105.3 51.4 -51

Во второй таблице наши пользователи Domino 7 используют почтовый шаблон Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 81.4 77.9 -4
Операции чтения с диска, запросов в секунду 976 1180 +21
Операции записи на диск, запросов в секунду 772 753 -2
Базовый пул, страниц в секунду 3761 4938 +31
Сетевая активность, KB/sec 1814 1850 +2
Среднее время реакции (msec)
100 MB Ethernet
105.3 97.5 -7

Хотя оба шаблона показывают уменьшение загрузки CPU, сервер Domino 7 использует несколько больший объем ресурсов дискового пространства и оперативной памяти для поддержки новых возможностей, предоставляемых новым шаблоном Mail7.ntf.

Преимущества Domino 7, которые видны для двух конфигураций, описанных в данном разделе, демонстрируют диапазон повышения производительности, которого можно достичь в пользовательской среде. Улучшения производительности будут варьироваться в зависимости от CPU, объема оперативной памяти, дискового пространства и сетевых ресурсов, доступных для работы Domino. Как видно из предыдущих таблиц и рисунков, более значительное повышение производительности может быть достигнуто при доступности большого объема системных ресурсов и при использовании Domino 7 с шаблоном Mail6.ntf. С возросшей способностью Domino 7 к масштабированию до большего числа пользователей в одном Domino-разделе объединение для использования меньшего числа Domino-разделов тоже может обеспечить значительное повышение производительности.

Solaris 9

Система Sun 6800, используемая для тестирования производительности, состоит из 8 CPU доменов, выделенных из системы с 12 CPU. Мы использовали шесть массивов T3 с девятью приводами в каждом:

Модель Sun 6800
Количество CPU Восемь 1050 MHz
Установленная оперативная память 32 GB
Активные физические диски 54
Активные логические тома 6 - Raid 0 Arrays
Операционная система Solaris 9

Мы сделали следующие изменения в файле Notes.ini на серверах:

Domino 6.5 Domino 7
nsf_buffer_pool_size_mb=1536
ServerTasks=Router
server_pool_tasks=100
server_max_concurrent_trans=100
NSF_dbcache_maxentries=18000
MEM_EnablePreAlloc=1
DEBUG_ENABLE_SYS_V_SHM=1
ConstrainedSHMSizeMB=3300
ServerTasks=Router

Для тестирования Domino 6.5 мы использовали 1.5GB для буферного пула NSF, но для Domino 7 мы должны были уменьшить это значение до значения по умолчанию (1.2GB) из-за увеличенного количества пользователей, которое нужно было поддерживать. Мы также увеличили значения server_pool_tasks, server_max_concurrent_trans и NSF_dbcache_maxentries для лучшей работы с увеличенным числом активных пользователей. Остальные изменения сделаны для разрешения поддержки больших страниц для Solaris, преимуществами которых способен воспользоваться Domino 7.

Для Domino 6.5 было установлено ограничение - максимум 10000 Notes-пользователей без выхода за допустимое число дескрипторов (handles). В Domino 7 это ограничение было снято, и на Solaris мы можем работать с 18000 пользователей в нашей тестовой конфигурации. Кроме того, эффективность использования CPU уменьшается на 45% для 10000 из 18000 определенных активных пользователей. Также (вы можете видеть это на рисунке 5) Domino 7 теперь поддерживает от 14000 до 15000 пользователей с тем же самым процентом использования CPU, что и Domino 6.5 при работе с 10000 активных пользователей:


Рисунок 5. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на Solaris 9
 

В следующих таблицах приведены результаты тестирования для обоих шаблонов на максимальном уровне (10000 пользователей), которые мы измеряли для Domino 6.5. В первой таблице приведены результаты для 10000 эмулированных пользователей, работающих с почтовым шаблоном Mail6:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 34.9 18.8 -46
Операции чтения с диска, KB/sec 29,011 29,382 1
Операции записи на диск, KB/sec 13,631 12,248 -10
Используемая общая память (MB) 2706 2114 -22
Используемая память процесса (MB) 18 56 211
Сетевая активность, bytes/sec 1,934,801 1,912,166 -1

В следующей таблице показаны результаты для пользователей Domino 7, использующих шаблон Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 34.9 22.8 -35
Операции чтения с диска, KB/sec 29,011 30,583 5
Операции записи на диск, KB/sec 13,631 13,990 3
Используемая общая память (MB) 2706 2173 -20
Используемая память процесса (MB) 18 57 217
Сетевая активность, bytes/sec 1,934,801 1,908,093 -1

Память процесса больше в конфигурации с Domino 7, потому что необходимо было сделать изменения для поддержки дополнительного количества пользователей. Числа для Domino 6.5 приведены для шаблона Mail6.

Масштабируемость одного раздела Domino 7 на Solaris выросла до 18000 пользователей с 10000 пользователей в Domino 6.5. Кроме того, особенно для более высокого числа параллельно работающих пользователей, мы видим значительное уменьшение процента использования CPU в Domino 7 при работе с одинаковой нагрузкой.

Windows 2003 Enterprise Server

Domino 7 был установлен в одном разделе сервера на eServer xSeries 365, использующем Windows 2003 Enterprise Server на двух процессорах, с отключенной функцией hyper threading. Операционной системой Windows распознается 3.5 GB оперативной памяти. Исполняемые файлы Domino были установлены на одном диске IBM FAStT 600 (200 GB, RAID 0). Почтовые базы данных были распределены по пяти массивам IBM FAStT 600, тоже RAID 0. Сетевой доступ осуществлялся через один 1 GB Ethernet-адаптер, работающий в полнодуплексном режиме. В следующей таблице приведена наша конфигурация сервера xSeries.

Модель eServer xSeries 365
Количество CPU Два 3.0 GHz
Установленная оперативная память 3583 MB
Активные физические диски 62
Активные логические тома Пять массивов RAID 0
Операционная система Windows 2003 Enterprise Server

Как и в большинстве наших тестов, мы настроили серверные файлы Notes.ini:

Domino 6.5 Domino 7
NSF_buffer_pool_size_MB=300
Server_Pool_Tasks=60
Server_Max_Concurrent_trans=100
NSF_DBcache_maxentries=10000
platform_statistics_enabled=1
platform_statistics_enabled=1
DEBUG_SHOW_SEM=1
NSF_Buffer_Pool_Size_MB=250
server_pool_tasks=60
server_max_concurrent_trans=100
NSF_DBcache_maxentries=15000

Так же как и на других платформах, Domino 7, работающий на Windows 2003 Enterprise Server, показывает улучшение эффективности использования CPU и масштабируемости. Максимальное количество пользователей, поддерживаемых Domino 7, составляет 15000 на платформах Windows 2003 по сравнению с 10000 в Domino 6.5.

Domino 7 показывает значительное уменьшение загрузки CPU по сравнению с Domino 6.5 с уровнем нагрузки в 10000 пользователей. Domino 6.5 с 10000 пользователей использует 58% CPU, в то время как Domino 7 с 10000 пользователей использует только 47% CPU (уменьшение на 19%). Экономия CPU растет при увеличении количества пользователей в Domino 7. Также (как можно увидеть на рисунке 6) Domino 7 теперь обслуживает от 12000 до 14000 пользователей с тем же процентом использования CPU, что и Domino 6.5 при работе с 10000 активных пользователей.


Рисунок 6. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на Windows 2003 Enterprise Server
 

В следующих двух таблицах приведены результаты использования ресурсов при тестировании серверов с 10000 пользователей (с шаблонами Mail6 и Mail7). В первой таблице показаны результаты, полученные для шаблона Mail6:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 58 41.6 -28
Операции чтения с диска, KB/sec 18,651 14,375 -23
Операции записи на диск, KB/sec 11,127 10,434 -6
Используемая общая память (MB) 1294 1199 -7
Используемая память процесса (MB) 23 40 74
Сетевая активность, bytes/sec 2,068,184 2,049,162 -1

Во второй таблице показаны результаты для пользователей Domino 7, работающих с шаблоном Mail7:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 58 46.9 -19
Операции чтения с диска, KB/sec 18,651 18,138 -3
Операции записи на диск, KB/sec 11,127 11,505 3
Используемая общая память (MB) 1294 1184 -8
Используемая память процесса (MB) 23 46 100
Сетевая активность, bytes/sec 2,068,184 2,051,615 1

Хотя для обоих шаблонов показано значительное уменьшение загрузки CPU, вы можете увидеть, что сервер Domino использует немного больше ресурсов при работе с некоторыми новыми функциональными возможностями, интегрированными в шаблон Domino 7.

Как показывают наши данные тестирования производительности, Domino 7, работающий на Windows 2003 Enterprise Server, имеет несколько значительных преимуществ в производительности по сравнению с Domino 6.5. К ним относятся более высокая эффективность использования CPU, повышенная экономия оперативной памяти и увеличение на 50% количества поддерживаемых в Domino 7 пользователей.

Linux на zSeries

При сравнении Domino 7 с Domino 6.5 на zSeries, мы обнаружили уменьшение эффективности использования CPU от 25 до 30 процентов для традиционной почтовой системы Notes с рабочей нагрузкой R6Mail, и с 10 до 14 процентов (при использовании с возможностью аппаратной компрессии данных zSeries) для ведения журналов транзакций. Кроме того, различные кросс-платформенные улучшения в Domino 7 добавили еще от 10 до 20 процентов экономии процессорного времени (такие как реализация быстрого пула и фрагментация памяти). Мы использовали SLES 8 с SP3 для нашего сравнения Domino 6.5 с Domino 7. Однако мы рекомендуем вам использовать Domino 7 на SLES 9, поскольку наши лабораторные измерения показали примерно 10% экономии использования CPU с SLES 9 по сравнению с SLES 8. Кроме того, SLES 9 является 64-битной операционной системой, и несколько Domino-разделов (DPAR) может быть установлено в одном LPAR.

Эти улучшения эффективности использования CPU были измерены с применением рабочей нагрузки R6Mail. Добавленная в Domino 7 дополнительная функциональность нового почтового шаблона показала от 5 до 15 процентов снижения эффективности использования CPU при выполнении тестов рабочей нагрузки R6Mail. Это могло скомпенсировать некоторые улучшения эффективности использования CPU, обнаруженные нами. В данном разделе описаны улучшения эффективности использования CPU для обоих почтовых шаблонов Domino 6 и Domino 7. Концентрация внимания на улучшении потребления ресурсов CPU будет продолжена в следующих версиях Domino, в том числе, в текущих версиях Domino 7.

Все тесты производительности на zSeries были выполнены на одном логическом разделе (LPAR) на series z990 model 2084-C24. На z990 доступно 24 CPU, 6 из которых были выделены для LPAR теста производительности. Оставшиеся 18 CPU, а также другие машинные ресурсы, были распределены по 13 другим LPAR, используемым для разработки и тестирования Domino. Эта машина имеет четыре загрузчика, такие как z/OS, SLES 8, SLES 9 и REL 4. Для NRPC почтовых тестов мы использовали три из шести CPU для Domino 6.5 и Domino 7, чтобы сильнее загрузить CPU. Domino 6.5 не работает на SLES 9 или REL 4. LPAR теста производительности был настроен на 12GB памяти. Наша LAN была изолирована, для того чтобы устранить влияние сетевого трафика от не относящейся к тестам активности. Все диски распределены в массив Enterprise Storage Server (2105 Model 800), каждый диск сконфигурирован как 3390 model 3. Существовали отдельные файловые системы на каждом томе (дисках) для выполнения Domino, для данных (за исключением клиентских почтовых баз данных) и адресной книги Domino (Names.nsf), а также два тома в файловой системе LVM (logical volume manager) для ведение журналов транзакций. Клиентские почтовые базы данных были распределены равномерно по 52 файловым системам LVM; каждая размещалась на 5 томах в одном LVM, обеспечивая 11.5GB используемого пространства на файловую систему. Для Linux на zSeries была использована файловая система EXT 3. Использовались операционные системы SLES 8 с SP3 или SLES 9 с SP1.

С операционной системой SLES 8 использовалось только 2GB для центральной памяти (из-за 32-битной операционной системы) и 2GB расширенной памяти, используемой для свопинга. С системой SLES 9 мы использовали 12GB общей памяти. В следующей таблице показана наша аппаратная конфигурация:

Модель z990 2084-C24
Количество CPU Три выделенных CPU
Установленная оперативная память 12 GB
Тип DASD тома типов 2105 model 800, 3390 model 3
Файловая система 52 x 5 LVM почтовых баз данных, 7 других томов для Notes-данных, notesbin, Domino Directory, mailbox, utility и translog
Операционная система SLES 8 SP3 / SLES 9 SP1

Перед тестированием мы настроили серверные файлы notes.ini и для Domino 6.5 и для Domino 7 и включили в них следующее: TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_Buffer_Pool_Size_MB=256
Server_Pool_Tasks=100
ServerTasks=Router
NSF_DBCache_MaxEntries=10000

На рисунке 7 показано улучшение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5 с NRPC рабочей нагрузкой почты, реализующей шаблон Mail6 из Domino 6.5 или шаблон Mail7.


Рисунок 7. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 на Linux zSeries
 

В нашей тестовой процедуре мы ожидали один час после запуска/добавления 1000 клиентов, создавая период "устойчивого состояния" после каждого изменения. Показанный процент использования CPU является средним за один час устойчивого состояния. Максимальным числом Notes-клиентов в Domino 6.5 является 10000. Однако Domino 7 способен масштабироваться до 12000 пользователей.

На рисунке 7 показан диапазон улучшения эффективности использования CPU с 15 до 28 процентов при работе Domino 7 с почтовым шаблоном 6.5 и с 9 до 21 процентов при работе Domino 7 с почтовым шаблоном Mail7. Очевидно, что Domino 7 улучшает эффективность использования CPU с обоими шаблонами (Mail6.ntf и Mail7.ntf), по сравнению с Domino 6.5. Мы будем продолжать уделять внимание оптимизации шаблона Mail7 в будущих версиях Domino.

На рисунке 8 отображено повышение эффективности использования CPU для SLES 9. На нем показан диапазон повышения эффективности использования CPU с 1 до 18 процентов при работе Domino 7 с шаблоном Mail6. После достижения количества пользователей 6000 SLES 8 выходит за пределы реальной оперативной памяти. Он постоянно выполняет свопинг страниц. Однако SLES 9 этого не делает; у него есть достаточное количество доступной памяти. Следовательно, мы увидели более значительное повышение эффективности использования CPU в SLES 9 по сравнению с SLES 8 после достижения количества пользователей 6000 в Linux на zSeries.


Рисунок 8. Процент использования CPU с SLES9
 

Рабочая нагрузка генерировала одинаковое количество работы на серверах Domino 6.5 и Domino 7. Для каждого выполнялась передача одинакового количества байт по сети, посылалось одинаковое число сообщений и совершалось одинаковое количество транзакций.

Уменьшение загруженности CPU в Domino 7 преобразуется в повышение стабильности на высоких уровнях рабочей нагрузки, позволяя поддерживать большее количество клиентов на одном сервере Domino 7 в Linux на zSeries. Что еще важнее, снижение требований к CPU в Domino 7 может привести к существенно более низкой общей стоимости владения по сравнению с Domino 6.5 в Linux на zSeries.

z/OS

Для Domino 7, работающем на платформе zSeries z/OS, были использованы аппаратные возможности, присущие zSeries, а также были введены улучшения в код сервера Domino. Первая область интересов: преимущества ведения журналов транзакций против производительности. В то время как ведение журналов транзакций обеспечивает существенные преимущества, за них надо платить дополнительным использованием CPU. Примерно треть этого использования CPU относится к активности по сжатию данных. Для Domino 7 используется аппаратное сжатие данных zSeries. Наши тесты производительности показали от 10 до 11 процентов общего уменьшения загруженности CPU при выполнении Domino 7 на z/OS с разрешенным ведением журналов транзакций с использованием аппаратного сжатия по сравнению с программными алгоритмами сжатия данных, использующегося в Domino 6.5.

Одной из методик, использовавшихся для идентификации потенциальных возможностей повышения производительности в Domino 7, был анализ внутренних операций, возникающих во время тестирования в предельных режимах. Анализируя эти данные на разных платформах, мы обнаружили, что z/OS выполнял больше распределений оперативной памяти сетевых буферов на операции чтения или записи (для каждого Notes-клиента), чем это делалось на некоторых других Domino-платформах. Улучшения алгоритмов распределения памяти для z/OS привели к 7% уменьшения загруженности CPU в наших тестах.

Только с этими изменениями Domino 7 на z/OS показал от 17 до 20 процентов повышения эффективности использования CPU по сравнению с Domino 6.5. Кроме того, различные кросс-платформенные улучшения в Domino 7 добавили еще 10% экономии. Общее улучшение производительности при выполнении почтовых тестов составляет от 25 до 30 процентов для Domino 7 на z/OS по сравнению с Domino 6.5 (подробности ниже).

Эти повышения эффективности использования CPU были измерены при тестировании рабочей нагрузки R6Mail с почтовым шаблоном Domino 6 и выполнении сервера Domino 6.5 в сравнении с Domino 7. Как упоминалось выше, функциональность, включенная в почтовый шаблон Domino 7, могла бы скомпенсировать некоторые из этих улучшений производительности CPU.

Все результаты тестов производительности, описанные в данном разделе, получены для одного логического раздела (LPAR) на series z990 model 2084-C24. На z990 доступно 24 CPU, 6 из которых выделены для LPAR теста производительности. Для этих NRPC тестов почты мы использовали только три из шести CPU. LPAR тест производительности был настроен с 12GB центральной памяти хранения. Мы использовали одну карту Gigabit Ethernet Open Systems Architecture (OSA). Наша сеть изолирована от влияния сетевого трафика. Диски размещены в массиве Enterprise Storage Server (2105 Model 800), каждый диск настроен на 3390 model 3. Есть отдельная файловая система z/FS, размещенная на одном томе (диске) для работы Domino, для данных (за исключением клиентских почтовых баз данных) и для Domino Directory (Names.nsf). Файловая система, распространяющаяся на два тома, распределяется для данных журнала транзакций. Клиентские почтовые базы данных распределяются равномерно по 53 z/FS; каждая занимает 5 томов, обеспечивая 11.5 GB используемого пространства на файловую систему. Была установленная операционная система z/OS (версия 1, выпуск 5).

В следующей таблице приводится аппаратная конфигурация, использовавшаяся в данном тесте:

Модель z990 2084-C24
Количество CPU Три выделенных CPU
Установленная оперативная память 12 GB
Тип DASD тома типов 2105 model 800, 3390 model 3
Файловая система 53 x 5 z/FS почтовых баз данных, 7 других томов предназначены для Notes-данных, notesbin, Domino Directory, mailbox, utility и translog
Операционная система z/OS 1.5

Мы выполнили следующие изменения конфигурации в наших файлах Notes.ini серверов Domino 6.5 и Domino 7:
TRANSLOG_Status=1
TRANSLOG_MaxSize=3000
TRANSLOG_Performance=1
NSF_Buffer_Pool_Size_MB=128
Server_Pool_Tasks=100
ServerTasks=Router
NSF_DBCache_MaxEntries=10000

На рисунке 9 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5 при выполнении NRPC рабочей нагрузки почты и реализации либо шаблона Mail6 из Domino 6.5, либо шаблона Mail7.


Рисунок 9. Процент использования CPU в Domino 7 по сравнению с Domino 6.5 в z/OS на zSeries
 

Как и в тесте для Linux на zSeries, мы ожидали один час после запуска/добавления 1000 клиентов, создавая период "устойчивого состояния". Измеренный процент использования CPU является средним за один час устойчивого состояния. В Domino 6.5 сервер вышел за пределы общей памяти после 9000 клиентов. Однако Domino 7 способен масштабироваться за пределы 10000 клиентов.

На рисунке 9 показан диапазон повышения эффективности использования CPU с 21 до 29 процентов при выполнении Domino 7 с почтовым шаблоном Domino 6.5 и с 10 до 19 процентов при выполнении Domino 7 с почтовым шаблоном Mail7. Очевидно, что Domino 7 повысил эффективность использования CPU как с Mail6.ntf, так и с Mail7.ntf, по сравнению с Domino 6.5.

На рисунке 10 показано повышение производительности задания server на Domino 7. Использование CPU заданием router остается неизменным для Domino 6.5 и Domino 7.


Рисунок 10. Повышение производительности задания server 
 

Рабочая нагрузка генерировала одинаковый объем работы как для сервера Domino 6.5, так и для сервера Domino 7.

Заключение

Этим завершается наш обзор производительности сервера Domino 7, выполняющего рабочие нагрузки от Notes-клиентов. Как вы можете увидеть, Notes/Domino 7 обеспечивает существенные улучшения в масштабируемости на всех протестированных нами платформах, хотя величина улучшений может меняться по причине архитектурных различий. Мы видим, что результаты вышли далеко за ограничение в 10000 пользователей, которое мы имели в Domino 6.5 на конфигурациях, где доступны адекватные ресурсы. На Solaris и iSeries, где у нас есть доступ к несколько большим адресным пространствам, чем на других платформах, мы увидели 18000 тестовых пользователей. На SuSE Linux мы можем воспользоваться преимуществами sys-epoll в ядре для реализации threadpool, аналогичных имеющимся в Domino на других платформах. Это приводит к впечатляющему прыжку в масштабируемости в Linux с 3000 пользователей до 15000. Такое повышение масштабируемости может обеспечить консолидацию серверов, предоставляя ресурсы сервера для дополнительных пользователей.

Как уже упоминалось ранее, эта статья является первой в серии из трех частей. Во второй части мы рассмотрим результаты HTTP-производительности Domino, измеренные с эмулированными пользователями Domino Web Access (при помощи рабочей нагрузки R6iNotes). А в заключительной, третьей части, мы рассмотрим результаты, которые вы можете ожидать в типичной корпоративной среде, полученные при помощи рабочей нагрузки, включающей кластерную репликацию, локальную репликацию и полнотекстовую индексацию; а также трафик Notes-клиентов.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=3073