|
|
|||||||||||||||||||||||||||||
|
Производительность сервера Lotus Domino 7, Часть 1Источник: IBM developerWorks Россия
Вышли в свет 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-минутный период:
Разбиение этой рабочей нагрузки на низкоуровневые транзакции Domino показывает следующее распределение:
В следующих разделах данной статьи приведены результаты нашего тестирования для различных платформ. Для тестирования на AIX мы использовали следующее аппаратное обеспечение:
Для оптимизации производительности мы установили следующие параметры в файлы Notes.ini тестовых серверов:
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 7 используют почтовый шаблон Mail7:
Из этих таблиц видно, что Domino 7 использует CPU на 20 и 23 процента меньше, немного меньше оперативной памяти и на 2 и 21 процента меньше I/O операций чтения диска в зависимости от почтового шаблона, используемого на сервере Domino 7. Мы также видим на рисунке 1, что сервер Domino 7 поддерживал от 12000 до 14000 R6Mail-пользователей (в зависимости от используемого почтового шаблона) до того, как процент использования CPU не превысил значения 25. На этом же уровне использования CPU Domino 6 поддерживал только 10000 R6Mail-пользователей.
Наша машина p670 была разбита на три LPAR; эти результаты получены из одного LPAR. Другие два LPAR были также интенсивно использованы во время запусков тестов для поиска неисправностей и тестирования разработки. Мы подчеркнули это для того, чтобы продемонстрировать, насколько хорошо работают LPAR на p670, и что мы могли выполнять несколько различных действий на этой машине, все равно достигая таких замечательных результатов тестирования. В следующей таблице показана конфигурация сервера, используемого нами в NRPC-тестировании производительности:
Система представляет собой "консервативную" 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 сервера:
Особый интерес здесь представляет настройка переменной 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)!
Хотя Domino 7 может обслужить 15000 пользователей, в следующей таблице сравниваются результаты, полученные для 3000 пользователей, поскольку это максимальное количество пользователей, которое может обслужить Domino 6.x. К сожалению, на таком низком уровне масштабирования небольшие изменения в значениях могут показать значительные изменения в процентах. Это необходимо учитывать при интерпретации данных. Также обратите внимание на то, что, поскольку мы теперь имеем больше доступной оперативной памяти для Domino 7, значение общей памяти больше, что позволяет обрабатывать более высокую пользовательскую нагрузку. В первой таблице наши эмулированные пользователи используют почтовый шаблон Mail6:
Во второй таблице показаны результаты с эмулированными Domino 7 пользователями, работающими с шаблоном Mail7:
В итоге, Domino 7 на Linux сделал большой шаг в масштабируемости на NRPC, увеличив количество пользователей раздела на 400 процентов. Это соответствует другим высокопроизводительным серверным платформам. Domino 7 обеспечивает существенные улучшения производительности для среды iSeries. В данном разделе мы рассмотрим результаты для двух различных конфигураций (одна использует iSeries model 570, а другая - iSeries model 810), для того чтобы показать диапазон улучшений, который мы наблюдали при лабораторном тестировании Domino 7. Наша первая тестовая конфигурация использовала iSeries model 570 с 14 процессорами с избыточным объемом оперативной памяти и дисковых ресурсов. Данная конфигурация была выбрана для того, чтобы продемонстрировать результаты работы Domino 7 в неограниченной по ресурсам среде, а также, чтобы использовать ее для тестирования новых возможностей Domino 7 по поддержке большего числа пользователей в одном разделе Domino..
Для всех тестов использовались значения по умолчанию, за исключением увеличения параметра 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).
Эти цифры представляют максимальный уровень улучшения производительности, которое мы можем ожидать в пользовательской среде. Причина такой низкой эффективности использования CPU заключается в том, что данная системная конфигурация используется также для тестирования Domino Web Access, требующего больших ресурсов CPU, чем NRPC. В следующих двух таблицах сравниваются результаты, полученные для 10000 эмулированных Notes-пользователей, работающих на iSeries model 570. В первой таблице наши эмулированные пользователи используют почтовый шаблон Mail6:
А в этой таблице эмулированные пользователи используют почтовый шаблон Mail7:
Хотя для обоих шаблонов демонстрируется значительное уменьшение процента использования CPU, вы можете заметить, что сервер Domino использует несколько больше дискового пространства и оперативной памяти для поддержки новых возможностей, включенных в шаблон Domino 7. Приведенные в этих таблицах результаты показывают, что Domino 7 поддерживает значительное большее количество пользователей в одном разделе, а также понижает требования к производительности CPU для каждого пользователя. Несмотря на некоторую дополнительную работу с памятью и дисками в Domino 7, данная системная конфигурация показала улучшение времени реакции в Domino 7 по сравнению с Domino 6.5 для обоих протестированных почтовых шаблонов. Наша вторая тестовая конфигурация использовала iSeries model 810 с двумя процессорами. Этот сервер оборудован 16 GB оперативной памяти и 63 дисковыми приводами, разбитыми на четыре Domino-раздела.
Мы использовали настройки по умолчанию для обоих тестов 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.
В следующих таблицах приведено сравнение использования ресурсов для каждого почтового шаблона. В первой таблице показаны результаты для 9000 эмулированных пользователей, работающих с почтовым шаблоном Mail6:
Во второй таблице наши пользователи Domino 7 используют почтовый шаблон Mail7:
Хотя оба шаблона показывают уменьшение загрузки CPU, сервер Domino 7 использует несколько больший объем ресурсов дискового пространства и оперативной памяти для поддержки новых возможностей, предоставляемых новым шаблоном Mail7.ntf. Преимущества Domino 7, которые видны для двух конфигураций, описанных в данном разделе, демонстрируют диапазон повышения производительности, которого можно достичь в пользовательской среде. Улучшения производительности будут варьироваться в зависимости от CPU, объема оперативной памяти, дискового пространства и сетевых ресурсов, доступных для работы Domino. Как видно из предыдущих таблиц и рисунков, более значительное повышение производительности может быть достигнуто при доступности большого объема системных ресурсов и при использовании Domino 7 с шаблоном Mail6.ntf. С возросшей способностью Domino 7 к масштабированию до большего числа пользователей в одном Domino-разделе объединение для использования меньшего числа Domino-разделов тоже может обеспечить значительное повышение производительности. Система Sun 6800, используемая для тестирования производительности, состоит из 8 CPU доменов, выделенных из системы с 12 CPU. Мы использовали шесть массивов T3 с девятью приводами в каждом:
Мы сделали следующие изменения в файле Notes.ini на серверах:
Для тестирования 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 активных пользователей:
В следующих таблицах приведены результаты тестирования для обоих шаблонов на максимальном уровне (10000 пользователей), которые мы измеряли для Domino 6.5. В первой таблице приведены результаты для 10000 эмулированных пользователей, работающих с почтовым шаблоном Mail6:
В следующей таблице показаны результаты для пользователей Domino 7, использующих шаблон Mail7:
Память процесса больше в конфигурации с 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.
Как и в большинстве наших тестов, мы настроили серверные файлы Notes.ini:
Так же как и на других платформах, 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 активных пользователей. В следующих двух таблицах приведены результаты использования ресурсов при тестировании серверов с 10000 пользователей (с шаблонами Mail6 и Mail7). В первой таблице показаны результаты, полученные для шаблона Mail6:
Во второй таблице показаны результаты для пользователей Domino 7, работающих с шаблоном Mail7:
Хотя для обоих шаблонов показано значительное уменьшение загрузки CPU, вы можете увидеть, что сервер Domino использует немного больше ресурсов при работе с некоторыми новыми функциональными возможностями, интегрированными в шаблон Domino 7. Как показывают наши данные тестирования производительности, Domino 7, работающий на Windows 2003 Enterprise Server, имеет несколько значительных преимуществ в производительности по сравнению с Domino 6.5. К ним относятся более высокая эффективность использования CPU, повышенная экономия оперативной памяти и увеличение на 50% количества поддерживаемых в Domino 7 пользователей. При сравнении 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 общей памяти. В следующей таблице показана наша аппаратная конфигурация:
Перед тестированием мы настроили серверные файлы notes.ini и для Domino 6.5 и для Domino 7 и включили в них следующее: TRANSLOG_Status=1 На рисунке 7 показано улучшение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5 с NRPC рабочей нагрузкой почты, реализующей шаблон Mail6 из Domino 6.5 или шаблон Mail7.
В нашей тестовой процедуре мы ожидали один час после запуска/добавления 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.
Рабочая нагрузка генерировала одинаковое количество работы на серверах Domino 6.5 и Domino 7. Для каждого выполнялась передача одинакового количества байт по сети, посылалось одинаковое число сообщений и совершалось одинаковое количество транзакций. Уменьшение загруженности CPU в Domino 7 преобразуется в повышение стабильности на высоких уровнях рабочей нагрузки, позволяя поддерживать большее количество клиентов на одном сервере Domino 7 в Linux на zSeries. Что еще важнее, снижение требований к CPU в Domino 7 может привести к существенно более низкой общей стоимости владения по сравнению с Domino 6.5 в Linux на zSeries. Для 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). В следующей таблице приводится аппаратная конфигурация, использовавшаяся в данном тесте:
Мы выполнили следующие изменения конфигурации в наших файлах Notes.ini серверов Domino 6.5 и Domino 7: На рисунке 9 показано повышение эффективности использования CPU в Domino 7 по сравнению с Domino 6.5 при выполнении NRPC рабочей нагрузки почты и реализации либо шаблона Mail6 из Domino 6.5, либо шаблона Mail7.
Как и в тесте для 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.
Рабочая нагрузка генерировала одинаковый объем работы как для сервера 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-клиентов.
|
|