Эта статья является второй из серии статей, состоящей из трех частей, которые посвящены улучшениям производительности, измеренным нами в 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 мы использовали следующее аппаратное обеспечение:
| Модель | 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. |
| Активные логические тома | Пять:
|
| Операционная система | 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
Величина использования процессора меняется в зависимости от загрузки сервера, но при 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 мы могли выполнять несколько различных действий и все равно достигать таких замечательных результатов тестирования.
Конфигурация сервера, использованного для данного тестирования производительности 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:
|
| Операционная система | 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
В следующей таблице показано для сравнения несколько измерений, полученных для 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. Это обеспечивает гибкость при планировании консолидации сервера или расширения, предоставляя возможность добавления большего числа пользователей или дополнительных приложений.
Domino 7 обеспечивает существенное повышение производительности для систем iSeries. В данном разделе мы рассмотрим результаты для двух конфигураций (одна использует iSeries model 570, а другая - iSeries model 810), для того чтобы показать вам диапазон улучшений, который мы наблюдали при лабораторном тестировании Domino 7.
Наша первая тестовая конфигурация использовала 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
Возможно, что при переходе на 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 с двумя процессорами. Этот сервер, оборудованный 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
Опять же, есть вероятность того, что при переходе на 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-разделов может обеспечить дополнительное повышение производительности.
Система 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, дисковой памяти, оперативной памяти и сетевых ресурсов в 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
Как показано на рисунке 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 мы использовали один логический раздел (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
На рисунке 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
Рабочая нагрузка генерировала одинаковое количество работы на серверах Domino 6.5 и Domino 7. Для каждого выполнялась передача одинакового количества байт по сети, посылалось одинаковое число сообщений и совершалось одинаковое количество транзакций. В результате, уменьшение загруженности CPU в Domino 7 преобразуется в улучшение стабильности на высоких уровнях рабочей нагрузки, позволяя поддерживать большее количество клиентов на одном сервере Domino 7 в Linux на zSeries. Что еще важнее, облегченные требования к CPU в Domino 7 могут привести к существенно более низкой общей стоимости владения (total cost of ownership) по сравнению с Domino 6.5 в Linux на zSeries.
Все тесты производительности, описанные в данном разделе, выполнены для одного выделенного логического раздела (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. Величины роста производительности для разных платформ различны, но, в общем, мы видим существенные улучшения на самых нагруженных серверах.
Научиться
- Оригинал статьи "Lotus Domino 7 server performance, Part 2".
- В первой статье данной серии "Производительность сервера Lotus Domino 7, Часть 1: Рабочие нагрузки от клиентов Lotus Notes" рассматриваются результаты тестирования производительности Domino 7, полученные нами при эмулировании Notes-клиентов.
- Дополнительная информация по рабочей нагрузке R6Mail, использующейся в данной статье, содержится в статье по Lotus на developerWorks: "Новые рабочие нагрузки Domino 6 NotesBench: Тяжелее по запросу!".
- Дополнительная информация по server.load и рабочей нагрузке R6Mail содержится в "Руководстве администратора Domino".
- Дополнительная информация по всем функциональным возможностям Lotus Notes 7 содержится в статье по Lotus на developerWorks: "Новые функциональные возможности Lotus Notes и Domino Designer 7.0".
- Дополнительная информация по новым функциональным возможностям Lotus Domino 7 содержится статье "Новые функциональные возможности Lotus Domino 7.0".
- Дополнительная информация по продуктам Lotus Notes и Domino размещена на странице Lotus Notes/Domino.
Обсудить
- Подключайтесь к сообществу developerWorks, участвуя в форуме Lotus на developerWorks Россия.
Рич Бак (Rich Buck) имеет большой опыт работы в IBM над производительностью. Рич занимается всем спектром операционных систем, поддерживаемых Domino, а в настоящее время специализируется на Solaris.
Ву В Хуанг (Wu W Huang) является членом группы Lotus Domino Performance, специализирующимся на платформе zSeries.
Дэйв Джонсон (Dave Johnson) в настоящее время является членом группы iSeries System Performance со специализацией на производительности Domino. Группа Дэйва также ответственна за аудит NotesBench для IBM eServer iSeries.
Анжело Линн (Angelo Lynn) работает инженером по производительности в группе Domino Performance Team. В настоящее время занимается производительностью Domino на Windows-платформах. Недавно закончил Northeastern University.
Энди Нолет (Andy Nolet) работает с пользователями по вопросам производительности Notes с конца 90-х годов. Перед приходом в группу Domino Performance Энди работал в Lotus Support.