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

Эта статья является второй из серии статей, состоящей из трех частей, которые посвящены улучшениям производительности, измеренным нами в Domino 7. Данная статья рассматривает результаты тестов производительности, эмулирующих пользователей Domino Web Access при помощи нашей рабочей нагрузки R6iNotes. В первой статье "Производительность сервера Lotus Domino 7, Часть 1: Рабочие нагрузки от клиентов Lotus Notes" рассматривались результаты тестов производительности Domino 7, полученные нами при эмулировании Notes-клиентов. В последней статье мы рассмотрим результаты, которые более точно воспроизводят типичные корпоративные системы, используя рабочую нагрузку, в которую входит кластерная репликация, локальная репликация и полнотекстовая индексация, а также трафик от Notes-клиентов.

Повышение производительности, и, следовательно, уменьшение общей стоимости владения (total cost of ownership - TCO) было главной темой в Domino 7. Для пользователей Domino Web Access мы концентрировались на увеличении масштабируемости, уменьшая процент использования CPU пользователем и оптимизируя код для минимизации узких мест, для того чтобы обслужить большее количество пользователей при данном уровне загрузки процессора. Все протестированные нами платформы показали уменьшение загрузки CPU с одним и тем же количеством R6iNotes-пользователей. Экономия CPU представила максимальный уровень повышения производительности, который мы хотели бы видеть в среде пользователя.

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

В остальной части данной статьи мы покажем результаты тестирования производительности, полученные нами на разных платформах. Эти результаты получены для одного Domino-раздела, который не ведет журналы транзакций, за исключением оговоренных случаев. Мы покажем результаты Domino 7 с пользовательскими почтовыми файлами, основанными на 7-ой версии почтового шаблона (dwa7.ntf). Они сравниваются с результатами сервера Domino 6.5, пользовательские почтовые файлы которого основаны на шаблоне 6.5 (iNotes6.ntf).

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

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

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

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) с одним для ведения журналов транзакций Domino (при использовании)
  • один логический том для операционной системы
Операционная система AIX 5.2

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

Domino 6.5 Domino 7
NSF_Buffer_Pool_Size_MB=450
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=450
Server_Pool_Tasks=100
Server_Max_Concurrent_Trans=100
NSF_DbCache_MaxEntries=2000
NSF_DbUCache_Max_Entries=12000
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 были установлены для поддержки большего количества конечных пользователей, достижимого в каждой версии Domino. Перед изменением значений по умолчанию для этих параметров, рекомендуется проанализировать их для оптимизации используемых значений.

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

На рисунке 1 вы увидите существенное уменьшение ресурсов CPU, требуемых для виртуального пользователя R6inotes, по сравнению с тем, что мы имели в Domino 6.5.


Рисунок 1. Использование CPU на AIX
 Использование CPU на AIX

Величина использования процессора меняется в зависимости от загрузки сервера, но при 6500 пользователях Domino 7 загружен примерно на 53% по сравнению с 92% загрузки, которую мы наблюдали в Domino 6.5 с таким же количеством активных пользователей. Это 39-процентное уменьшение загрузки CPU! Мы также увидели по этим тестам, что Domino 7 будет поддерживать 10500 пользователей с такой же загрузкой CPU, что и Domino 6.5 при поддержке 6500 пользователей.

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 6500 6500 нет
Процент использования CPU 92 53 -42
Операции чтения с диска, KB/sec 112,680 186,457 65
Операции записи на диск, KB/sec 1,597,255 1,608,150 0.7
Используемая общая память (MB) 1128 1163 3
Используемая память процесса (MB) 68 128 88
Сетевая активность, bytes/sec 1,823,930 679,017 -63

Из этой таблицы видно, что Domino 7 меньше использует CPU (примерно на 42%), меньше загружает сеть (на 63%), больше использует общей оперативной памяти (примерно на 3%) и операций чтения с диска (на 65% ) при той же нагрузке эмулированных пользователей и при выполнении такой же тестовой программы за тот же период времени. Это четко показывает, как развертывание Domino 7 может способствовать консолидации сервера на AIX/pSeries.

Как мы уже упоминали в данном разделе, наша машина p670 была "разделена" на три логических раздела (LPAR), а зафиксированные результаты получены для одного LPAR. Другие два раздела во время тестирования тоже были интенсивно загружены (поиском неисправностей и тестированием разработки). На p670 мы могли выполнять несколько различных действий и все равно достигать таких замечательных результатов тестирования.

Linux

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

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

В следующей таблице показаны изменения в файле Notes.ini, использованные в тесте и отличные от значений по умолчанию. Особый интерес здесь представляет настройка переменной 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. Из этих таблиц также видно, что работают только те задания server, которые необходимы для данного NotesBench-теста. Это позволяет серверу достичь максимальной производительности при тестировании.

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

В отличие от NRPC на Domino 6.x, Domino Web Access на Linux не требует HTTP-потока и стека для каждого пользователя. Задание HTTP само способно создавать пул, поэтому 40 HTTP-потоков по умолчанию могут поддерживать несколько тысяч пользователей. Это верно как для Domino 6.x, так и для Domino 7; загруженность CPU является ограничивающим фактором количества поддерживаемых пользователей.

В Domino 7 мы существенно уменьшили процент использования CPU, необходимого для поддержки пользователя. На рисунке 2 показано данное уменьшение в процентах, а также как это позволяет Domino 7 поддерживать на 50 процентов пользователей Domino Web Access больше, чем Domino 6.x.


Рисунок 2. Использование CPU на Linux
 Использование CPU на Linux

В следующей таблице показано для сравнения несколько измерений, полученных для 4000 эмулированных пользователей Domino Web Access на обоих серверах (Domino 6.x и Domino 7). Число 4000 было принято потому, что это максимальное количество пользователей, которое могла поддерживать данная тестовая конфигурация аппаратного обеспечения в Domino 6.x.

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 4000 4000 нет
Процент использования CPU 95 59.4 -38
Операции чтения с диска, KB/sec 1483.83 1548.51 4
Операции записи на диск, KB/sec 337.78 352.12 4
Используемая общая память (MB) 664 949 43
Используемая память процесса (MB) 70 92 31
Сетевая активность, bytes/sec 427,407 483,989 13

В этой таблице явно видна экономия CPU в Domino 7. Небольшое увеличение дисковых операций чтения и записи, также как и сетевой активности, является следствием более устойчивого почтового шаблона Domino 7 и различий в используемом сценарии NotesBench-теста. Увеличение использования общей памяти и памяти процесса в Domino 7 является следствием большего объема оперативной памяти, которое мы теперь можем выделить Domino.

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

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

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

Domino 6.5 Domino 7
Server_Max_Concurrent_Trans=1000 Server_Max_Concurrent_Trans=1000
NSF_Buffer_Pool_Size_MB=1500

В Domino 6.5 было принято ограничение - максимум 16000 пользователей. В Domino 7 это ограничение было снято, и на iSeries мы могли работать с 18000 и 20000 пользователей в нашей тестовой конфигурации с шаблонами dwa7.ntf и inotes6.ntf соответственно. Сравнивая загруженность CPU в Domino 6.5 и в Domino 7 при 16000 пользователей, с новым шаблоном dwa7.ntf, используемым с Domino 7, мы обнаружили 13% улучшения. Если мы сравним Domino 6.5 и Domino 7, использующие для обоих тестов один и тот же шаблон inotes6.ntf, то увидим еще большее улучшение (на 32%) для тех же 16000 пользователей. Эти цифры представляют максимальный уровень улучшения эффективности использования CPU, который мы хотели бы видеть в пользовательской среде. Результаты отображены на рисунке 3.


Рисунок 3. Использование CPU на iSeries model 570
 Использование CPU на iSeries model 570

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

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 16,000 16,000 нет
Процент использования CPU 67.0 45.7 -32
Операции чтения, запросов в секунду 115.3 81.6 -29
Операции записи, запросов в секунду 1046.2 1206.3 15
Базовый пул, страниц в секунду 413.0 220.1 -47
Сетевая активность, KB/sec 4308.7 4250.3 -1
Среднее время реакции (msec)
1 GB Ethernet
124.9 137.9 10

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 16,000 16,000 нет
Процент использования CPU 67.0 58.3 -13
Операции чтения, запросов в секунду 115.3 279.6 243
Операции записи, запросов в секунду 1046.2 1902.2 182
Базовый пул, страниц в секунду 413.0 615.4 50
Сетевая активность, KB/sec 4308.7 6999.7 62
Среднее время реакции (msec)
1 GB Ethernet
124.9 166.4 33

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

Эти результаты показывают, что Domino 7 поддерживает большее количество пользователей в одном разделе, а также требует меньше ресурсов CPU для каждого пользователя. Увеличение ресурсов оперативной памяти, дискового пространства и сетевых ресурсов приводит к небольшому увеличению среднего времени реакции. Результаты для шаблона inotes6.ntf были существенно лучше, чем для шаблона dwa7.ntf. В то время как эти таблицы показывают сравнимое время реакции для Domino 6.5 и Domino 7, конфигурация, описанная в следующем разделе, показывает более существенное улучшение времени реакции, поскольку среда Domino 6.5 тестировалась при относительно высокой загрузке CPU.

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-раздел, и были протестированы варианты для 1200 и 1800 пользователей. Эти количества пользователей отражают более типичную пользовательскую конфигурацию для количества пользователей на Domino-раздел по сравнению с конфигурацией iSeries model 570, описанной в предыдущем разделе.

Сравнивая загрузку CPU в Domino 6.5 и Domino 7 (используется новый шаблон dwa7.ntf), мы видим примерно 8% улучшения для 1800 пользователей. Если мы сравним Domino 6.5 и Domino 7, использующие одинаковый шаблон mail6.ntf, то увидим более существенное улучшение - 24% для 1800 пользователей. Эти цифры представляют, наверное, более типичный диапазон повышения производительности, который был бы ожидаем в пользовательской конфигурации, настроенной с меньшим количеством пользователей на раздел. Данные результаты представлены на рисунке 4.


Рисунок 4. Использование CPU на iSeries model 810
 Использование CPU на iSeries model 810

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

В следующих двух таблицах приведены результаты потребления ресурсов при тестировании с обоими шаблонами. Хотя оба шаблона показывают уменьшение загрузки CPU, сервер Domino 7 использует несколько больший объем ресурсов дискового пространства и оперативной памяти для поддержки новых возможностей, интегрированных в новый шаблон dwa7.ntf. Среднее время реакции в обоих случаях было меньше в основном из-за уменьшения требований к ресурсам CPU в Domino 7. Этот эффект наиболее заметен при тестировании Domino 7 с шаблоном inotes6.ntf, благодаря 24% уменьшения загрузки CPU. Некоторые из измененных значений, приведенных в данных таблицах, могут быть преувеличены, поскольку эти конкретные метрики имели низкие изначальные результаты в Domino 6.5, поэтому даже небольшой рост в Domino 7 может показывать большое процентное увеличение.

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 94.6 71.6 -24
Операции чтения с диска, запросов в секунду 4.7 6.5 38
Операции записи на диск, запросов в секунду 112.5 119.6 6
Базовый пул, страниц в секунду 12.3 18.9 53
Сетевая активность, KB/sec 437.3 491.2 12
Среднее время реакции (msec)
GB/sec Ethernet
554.2 250.9 -55

А в этой таблице пользователи Domino 7 используют почтовый шаблон mail7.ntf:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Процент использования CPU 94.6 87.4 -8
Операции чтения с диска, запросов в секунду 4.7 12.1 25
Операции записи на диск, запросов в секунду 112.5 186.6 66
Базовый пул, страниц в секунду 12.3 34.5 280
Сетевая активность, KB/sec 437.3 780.9 178
Среднее время реакции (msec)
1 GB/sec Ethernet
554.2 426.9 -23

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

Solaris 9

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

Модель 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
NSF_Buffer_Pool_Size_MB=1024
server_max_concurrent_trans=100
nsf_dbucache_max_entries=10000
inotes_wa_profilecachesize=10000
MEM_EnablePreAlloc=1
ConstrainedSHMSizeMB=3300
ServerTasks=Router,HTTP

Для тестирования Domino 6.5 мы использовали 1.5GB для буферного пула NSF, но для Domino 7 мы уменьшили его до 1GB из-за увеличенного количества пользователей, которое нужно было поддерживать. Мы также увеличили значения server_max_concurrent_trans, NSF_dbcache_maxentries и inotes_wa_profilecachesize для улучшения обработки дополнительной пользовательской нагрузки.

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

Параметр Domino 6.5 Domino 7
Количество пользователей 10,000 10,000
HTTP-потоки 250 250
Размер прослушивающей очереди 6000 2000
Максимальное число параллельных сетевых сессий 3000 2000
Domino Web Engine - максимальное число кэшированных пользователей 10000 4000

На рисунке 5 вы заметите существенное уменьшение ресурсов CPU, требуемых для виртуального пользователя R6iNotes, по сравнению с тем, что мы имели в Domino 6.5. Величина уменьшения варьируется в зависимости от степени загруженности сервера, но для 5500 пользователей Domino 7 загружен на 51% по сравнению с 86%, которые мы видели для Domino 6.5 с тем же числом активных пользователей. Загрузка CPU снизилась на 41% (относительно)! Мы также видим, что для данного теста производительности Domino 7 будет поддерживать почти 9000 пользователей при той же загрузке CPU, которая имеет место в Domino 6.5 при 5500 пользователях. Мы могли работать максимум с 9750 пользователей на Domino 7 при 97% загрузки CPU.


Рисунок 5. Использование CPU на Solaris 9
 Использование CPU на Solaris 9

В следующей таблице показано потребление ресурсов CPU, дисковой памяти, оперативной памяти и сетевых ресурсов в Domino 6.5 и Domino 7 при тестировании 5500 активных пользователей. Кроме упомянутой выше экономии использования CPU, мы видим приблизительно одинаковой потребление сетевой пропускной способности и небольшое увеличение общей дисковой активности. Различия в потреблении оперативной памяти вызваны, в основном, изменениями в конфигурации, сделанными нами для сервера Domino 7. Например, полугигабайтное уменьшение пула буфера NSF примерно равно уменьшенному объему общей памяти.

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 5500 5500 нет
Процент использования CPU 86 51 -41
Операции чтения с диска, запросов в секунду 1940 1659 -14
Операции записи на диск, запросов в секунду 6697 7351 10
Используемая общая память (MB) 2192 1603 -27
Используемая память процесса (MB) 118 153 30
Сетевая активность, bytes/sec 533,486 525,612 -1

На Solaris сервер Domino 7 показал отличное улучшение масштабируемости, разрешая работу 9750 пользователей на том же аппаратном обеспечении, которое раньше могло обслуживать только 5500 пользователей в Domino 6.5. Кроме того, существенно увеличилась экономия ресурсов CPU, которая может быть очень ценной при планировании консолидации сервера.

Windows 2003 Enterprise Server

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

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

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

Domino 6.5 Domino 7
Show_Server_Performance=1
platform_statistics_enabled=1
iNotes_WA_EnableProfileStats=1
NSF_DBUCACHE_MAX_ENTRIES=12000
iNotes_WA_ProfileCacheSize=11050
NSF_DBcache_maxentries=11050
NSF_Buffer_Pool_Size_MB=512
Show_Server_Performance=1
platform_statistics_enabled=1
server_max_concurrent_trans=100

Мы определили 7000 пользователей для Domino 6.5 и 10000 для Domino 7.0.

На рисунке 6 показаны наши результаты.


Рисунок 6. Использование CPU на Windows 2003 Enterprise Server
 Использование CPU на Windows 2003 Enterprise Server

Как показано на рисунке 6, мы обнаружили существенное уменьшение ресурсов CPU, требуемых для виртуального пользователя R6iNotes, по сравнению с тем, что мы имели для Domino 6.5. Так же как и на других платформах, Domino 7, работающий на Windows 2003 Enterprise Server, предлагает повышение эффективности использования CPU и масштабируемости. Максимальное количество пользователей, поддерживаемых Domino 7, составляет 10500 на платформах Windows 2003. Domino 7 показывает значительное уменьшение загрузки CPU по сравнению с Domino 6.5 с уровнем нагрузки в 7000 пользователей. Domino 6.5 с 7000 виртуальных пользователей использует 92% CPU, в то время как Domino 7 с 7000 виртуальными пользователями использует только 40% CPU. Это 57% относительной экономии ресурсов CPU. Экономия ресурсов CPU увеличивается при увеличении количества виртуальных пользователей Domino 7.

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

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 7000 7000 нет
Процент использования CPU 92 35 -62
Операции чтения с диска, запросов в секунду 21255 13008 -39
Операции записи на диск, запросов в секунду 7345 5869 -20
Используемая общая память (MB) 1369 1140 -17
Используемая память процесса (MB) 63 120 90
Сетевая активность, bytes/sec 881255 649861 -26

А в этой таблице пользователи Domino 7 работают с почтовым шаблонном mail7.ntf:

Ресурс Domino 6.5 Domino 7 Изменение (процент)
Количество пользователей 7000 7000 нет
Процент использования CPU 92 40 -57
Операции чтения с диска, запросов в секунду 21255 19824 -7
Операции записи на диск, запросов в секунду 7345 5975 -19
Используемая общая память (MB) 1369 1250 -9
Используемая память процесса (MB) 63 120 90
Сетевая активность, bytes/sec 881255 655926 -26

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

Linux на zSeries

Для тестов в Linux на платформе zSeries мы использовали один логический раздел (LPAR) на series z990 model 2084-C24. На z990 доступно 24 CPU, 6 из которых были выделены для LPAR теста производительности. Оставшиеся 18 CPU, а также другие машинные ресурсы, были распределены по 13 другим LPAR, используемым для разработки и тестирования Domino. LPAR теста производительности был настроен на 12GB оперативной памяти. На SLES 8 только 2GB были использованы для центральной памяти из-за 32-битной операционной системы, 2GB расширенной памяти были выделены для свопинга. На SLES 9 мы использовали 12GB. Мы использовали одну GB Ethernet-карту Open Systems Architecture (OSA). 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. Мы разрешили ведение журналов транзакции с аппаратным сжатием данных вместо программного алгоритма LZ1. Эта возможность доступна только в Domino 7 на zSeries.

Модель 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
NSF_Buffer_Pool_Size_MB=256
ServerTasks=Router, HTTP
NSF_DBCache_MaxEntries=9000
iNotes_WA_ProfileCacheSize=9000
iNotes_WA_ProfileCacheSize=9000

На рисунке 7 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5; оба выполняют рабочую нагрузку R6iNotes, реализуя либо шаблон iNotes6 из Domino 6.5, либо шаблон dwa7 из Domino 7.


Рисунок 7. Использование CPU на Linux on zSeries
 Использование CPU на Linux on zSeries

На рисунке 7 показан диапазон повышения эффективности использования CPU от 25 до 32 процентов при работе Domino 7 с шаблоном iNotes6, и от 11 до 22 процентов при работе Domino 7 с шаблоном dwa7. Очевидно, что Domino 7 повышает эффективность использования CPU с обоими шаблонами iNotes6.ntf и dwa7.ntf по сравнению с Domino 6.5. Ожидаются вариации шаблонов (пользовательские или поставляемые в готовом виде), основанные на различиях в функциональных возможностях, включенных как часть шаблонов. IBM продолжает следить за этими темами для увеличения эффективности использования CPU, поддерживая, в то же время, расширенную функциональность.

На рисунке 8 показан диапазон повышения эффективности использования CPU от 5 до 12 процентов при работе Domino 7 с шаблоном iNotes6 на SLES 9. SLES 9 не имеет ограничений по памяти, присущих 32-битной архитектуре SLES 8, поэтому SLES 9 способен полностью пользоваться улучшениями эффективности использования CPU в Domino 7 по сравнению с Domino 6.5.


Рисунок 8. Повышение эффективности использования CPU на SLES 9 по сравнению с SLES 8
 Повышение эффективности использования CPU на SLES 9 по сравнению с SLES 8

Рабочая нагрузка генерировала одинаковое количество работы на серверах Domino 6.5 и Domino 7. Для каждого выполнялась передача одинакового количества байт по сети, посылалось одинаковое число сообщений и совершалось одинаковое количество транзакций. В результате, уменьшение загруженности CPU в Domino 7 преобразуется в улучшение стабильности на высоких уровнях рабочей нагрузки, позволяя поддерживать большее количество клиентов на одном сервере Domino 7 в Linux на zSeries. Что еще важнее, облегченные требования к CPU в Domino 7 могут привести к существенно более низкой общей стоимости владения (total cost of ownership) по сравнению с Domino 6.5 в Linux на zSeries.

z/OS

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

Модель 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:
NSF_Buffer_Pool_Size_MB=256
ServerTasks=Router. HTTP
NSF_DBCache_MaxEntries=10000
iNotes_WA_ProfileCacheSize=10000
iNotes_WA_ProfileCacheSize=10000

Мы определили 10000 пользователей для данного теста.

На рисунке 9 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5; оба выполняют рабочую нагрузку R6iNotes и реализуют либо шаблон iNotes6 из Domino 6.5, либо шаблон dwa7 из Domino 7. Данная схема показывает повышение эффективности использования CPU от 27 до 34 процентов при выполнении Domino 7 с шаблоном iNotes6 и от 10 до 24 процентов при выполнении Domino 7 с шаблоном dwa7. Как можно увидеть, Domino 7 повышает эффективность использования CPU с обоими шаблонами (inotes6 и dwa7) по сравнению с Domino 6.5.


Рисунок 9. Использование CPU на Linux on z/OS
 

На рисунке 10 показано, что основное повышение производительности идет от задания HTTP на Domino 7. Задание Router также показывает некоторое улучшение эффективности использования CPU в Domino 7.


Рисунок 10. Использование CPU задачами Server, Router, HTTP и event 
 

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

Резюме

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

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


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