[Примечание редактора: Результаты, представленные в настоящей статье, получены на основе выполнения тестовых программ в управляемой среде. Хотя при создании тестовой программы были предприняты усилия по включению обычных пользовательских действий, реальные пользователи могут использовать Lotus Domino не так, как это сделано в тестовой программе. Следовательно, данные цифры должны восприниматься исключительно как информация для понимания относительной производительности версий Lotus Domino. Они не являются рекомендациями для реального развертывания. За помощью по планированию нагрузки обращайтесь к вашему поставщику аппаратного оборудования.]
Это первая статья о производительности IBM Lotus Domino 7 с хранилищем IBM DB2 (по сравнению с традиционным NSF-хранилищем) для пользовательских почтовых файлов. В данной статье рассматриваются IBM DB2 Universal Database (UDB) для Linux, UNIX и Microsoft Windows с Lotus Domino 7.0.1 и IBM DB2 V8.2 Fix Pack 9 (FP9). Lotus Domino с DB2-хранилищем была сначала доступна как ограниченная версия для пользователей Lotus Domino 7.0. В данной статье приведены результаты тестов производительности, эмулирующих пользователей почтовой системы Notes с использованием рабочей нагрузки R6Mail (дополнительная информация по этой рабочей нагрузке приведена в прилагающемся файле "Описание рабочей нагрузки R6Mail").
В данной статье показано, как Lotus Domino с DB2-хранилищем, работающая локально на той же самой аппаратной конфигурации, масштабируется до 15000 Notes-пользователей (эмулированных) на конфигурациях, в которых доступны адекватные ресурсы. В ней приведены результаты тестов, полученные на четырехпроцессорном сервере IBM pSeries, использующем один Domino-раздел и 64-битный экземпляр DB2, выполняющийся на AIX 5.3.
Главной целью этих тестов была демонстрация масштабируемости почтового сервера Domino с DB2-хранилищем для пользовательских почтовых файлов, которые достаточно велики для обычной развернутой корпоративной почтовой системы. Поскольку DB2-сервер может масштабироваться до нескольких терабайт данных, для каждого пользователя размер почтового файла начинался с 240 MB по сравнению с 20 MB в предыдущей статье о производительности Lotus Domino 7. Все конечные отчеты NotesBench используют начальный размер почтового файла примерно 20 MB для снижения требований к занимаемому хранилищем пространству во время выполнения тестов.
ПРИМЕЧАНИЕ: Назначение данной статьи - продемонстрировать производительность Lotus Domino с хранилищем IBM DB2. Эти данные не должны сравниваться с Lotus Domino и обычным NSF-хранилищем.
Все результаты представляют время реакции Lotus Domino, длящееся меньше секунды. Для целей тестирования выполняется только задание router (исключения оговариваются), для того чтобы избежать влияния данных от внешней активности. Мы надеемся, что вы найдете эту информацию полезной и узнаете об улучшениях, которых сможете добиться при использовании Lotus Domino 7 с DB2-хранилищем.
C настроенным хранилищем в 9 TB DB2 может поддерживать 15000 пользовательских почтовых файлов. Поскольку CPU не является ограничением для этого теста, мы запретили четыре CPU в логическом разделе (LPAR), используя команду bindprocessor на уровне операционной системы IBM AIX.
Сервер AIX также настроен на использование 32 GB пространства для свопинга или для страничной подкачки на одном из внутренних дисковых томов. В таблице 1 показана детальная конфигурация тестируемой системы.
Таблица 1. Детальная конфигурация тестируемой AIX-системы
| Модель | P560Q |
| Тип/скорость процессора | Система содержит восемь физических Power5 CPU с тактовой частотой 1.5 GHz и установлена на одном LPAR. Используемый для этих тестов LPAR настроен на применение четырех CPU. |
| Установленная память | 32 GB of RAM |
| Активные физические приводы |
|
| Активные логические тома |
|
| Операционная система | IBM AIX 5.3 |
Мы создали DB2 UDB V8.2 FP9 с 64-битным экземпляром, обрабатывающий почтовое хранилище Domino для 15000 пользователей. Почтовые данные Domino полностью размещаются в одной базе данных под названием DOMINO в каталоге DB2. Мы настроили несколько менеджеров базы данных и параметры конфигурации базы данных DOMINO на оптимальную производительность, как указано в таблице 2.
Таблица 2. Детальная информация о тестируемой AIX-системе
| Конфигурация менеджера базы данных | DIAGLEVEL = 1 SHEAPTHRES = 20000 MAXAGENTS = 400 Все переключатели монитора базы данных по умолчанию поставлены в OFF |
| Конфигурация базы данных DOMINO | DBHEAP = 102400 CATALOGCACHE_SZ = 25000 LOGBUFSZ = 256 UTIL_HEAP_SZ = 5000 LOCKLIST = 4096 SHEAPTHRES_SHR = 8192 SORTHEAP = 1024 STMTHEAP = 8192 APPLHEAPSZ = 1024 PCKCACHESZ = 100000 MAXLOCKS = 75 CHNGPGS_THRESH = 50 NUM_IOCLEANERS = 16 NUM_IOSERVERS = 3 MAXAPPLS = 300 MAXFILOP = 1900 LOGFILSIZ = 16384 LOGPRIMARY = 40 LOGSECOND = 5 SOFTMAX = 240 |
| Переменные Db2set | DB2_ASYNC_IO_MAXFILOP=10000 DB2_HISTORY_FILTER=T DB2_USE_ALTERNATE_PAGE_CLEANING=YES |
| Параметры BufferPool | 1.6GB Bufferpool для базы данных DOMINO |
База данных DOMINO в DB2 настроена по умолчанию на группирование 10:1. Это означает, что 10 пользовательских почтовых баз данных размещены в одном табличном пространстве (tablespace) в базе данных DB2. Каждый пользовательский почтовый файл начинается с размера 240 MB, каждое табличное пространство в DB2 имеет размер приблизительно 2.4 GB; существует 1500 табличных пространств в девяти логических томах RAID 0 (настроенных с файловыми системами JFS2).
Lotus Domino 7.0.1 установлен на LPAR под своей собственной учетной записью UNIX (являющейся частью группы DB2 admin) и настроен на работу с DB2, как описано в "Справочном руководстве администратора Lotus Domino". Мы установили дополнительный 32-битный экземпляр DB2 под этой учетной записью для CLI-доступа сервера Domino, но этот экземпляр не запускается во время тестирования. Мы также настроили несколько параметров Notes.ini для оптимизации производительности сервера Domino.
INI-параметры с префиксом DB2 предназначены, в основном, для Lotus Domino с DB2-хранилищем. Другие INI-параметры относятся к NSF-хранилищу. Причиной установки NSF_BUFFER_POOL_SIZE_MB меньше, чем DB2, является то, что DB2 буферизирует все данные почтовой базы данных, поэтому для Lotus Domino не требуется большой bufferpool, который кэширует данные почтовой базы в оперативной памяти.
NSF_Buffer_Pool_Size_MB=210 Server_Pool_Tasks=100 Server_Max_Concurrent_Trans=100 NSF_DbCache_MaxEntries=15000 ServerTasks=Router,LDAP DB2DMS_CREATE_SIZE=400 DB2DMS_EXTEND_SIZE=256 DEBUG_DB2SEARCH_CTL=00030005 DB2NIF_POOLSIZE_MB=320 DB2POOLRESIZEMAX=250 |
Данные производительности для Lotus Domino с DB2-хранилищем
При запуске теста R6Mail с использованием NotesBench мы обнаружили, что Lotus Domino 7 с DB2-хранилищем может поддерживать 15000 пользователей на четырехпроцессорном сервере AIX. На рисунке 1 показаны характеристики производительности сервера как функция нагрузки (эмулированные пользователи).
Рисунок 1. Производительность сервера как функция нагрузки
Как показано на рисунке 1, Lotus Domino с DB2-хранилищем масштабируется линейно с количеством эмулированных R6Mail-пользователей до максимума в 15000 пользователей, протестированных в данной конфигурации. Нет ограничений по аппаратным ресурсам на данном сервере, за исключением ограничений в дисковом пространстве для хранения более объемных пользовательских почтовых файлов.
Поскольку в данной конфигурации мы использовали 64-битный экземпляр DB2, мы настроили несколько размеров пулов памяти и размеры кучи для использования преимуществ 32 GB физической RAM; в частности, bufferpool для базы данных DOMINO в DB2 был увеличен до 1.6 GB для кэширования большего объема данных. Для 15000 R6Mail-пользователей мы увидели 80 процентный коэффициент использования на сервере DB2. Также, поскольку Lotus Domino генерирует много различных уникальных SQL-команд для доступа к данным в DB2, мы увеличили пакетный кэш (package cache), указываемый параметром конфигурации базы данных PCKCACHESZ, до 400 MB. Для 15000 R6Mail-пользователей сервер DB2 выполняет в среднем 160000 SQL-команд в минуту, включая команды SELECT, INSERT, DELETE и UPDATE.
Lotus Domino использует пул соединений для всех SQL-запросов к DB2. Для ограничения максимального количества параллельных приложений, которые могут работать на сервере DB2, мы установили MAXAPPLS в 300. Этот параметр контролирует ресурсы, например, общую кучу приложений, используемую параллельными приложениями на сервере DB2. Этого все еще достаточно для поддержки высокой параллельности запросов к DB2 от 15000 R6Mail-пользователей. Для 15000 R6Mail-пользователей мы увидели примерно 240 параллельных агентских процессов DB2, выполняющихся на сервере. Этот параметр должен быть настроен в производственной среде на основе количества параллельных запросов к DB2. Мы определили, что 150-200 - это хорошее начальное значение параметра конфигурации базы данных MAXAPPLS для Lotus Domino с DB2-хранилищем.
Значения Server_Pool_Tasks и Server_Max_Concurrent_Trans в Notes.ini установлены на поддержку большого количества конечных пользователей. Однако перед изменением значений по умолчанию этих параметров рекомендуется проанализировать их для оптимизации используемых значений.
В настоящее время Lotus Domino 7 с традиционным NSF-хранилищем поддерживает одновременно 15000 пользователей почтовой системы Notes, используя рабочую нагрузку R6Mail почти на всех серверных платформах.
Используя Lotus Domino 7, мы хорошо поработали над обеспечением масштабируемого сервера Domino с DB2-хранилищем для хранения Domino-данных – как почтовых файлов, так и прикладных данных. Мы продемонстрировали, что Lotus Domino 7.0.1 с DB2-хранилищем для почтовой среды может легко поддерживать одновременно 15000 пользователей почтовой системы Notes, используя рабочую нагрузку R6Mail, при условии, что сервер имеет достаточно ресурсов процессорного времени и оперативной памяти.
Мы также хотели показать, что DB2 может хранить несколько гигабайт или терабайт данных с большими и более реальными размерами почтовых файлов. Приведенные здесь результаты продемонстрировали масштабируемость почтового сервера Domino с DB2-хранилищем пользовательских почтовых файлов, размер которых достаточно велик для представления типичной корпоративной почтовой среды.
Мы выполнили тщательное тестирование и анализ производительности для оптимизации как кода Lotus Domino 7 (и выше), так и сервера DB2 8.2 для достижения такой масштабируемости. Мы будем продолжать улучшение потребления ресурсов и оптимизацию конфигурации Lotus Domino с DB2-хранилищем в готовящихся версиях Lotus Domino, для того чтобы обеспечить хорошую альтернативу традиционному NSF-хранилищу.
Научиться
-
Оригинал статьи "IBM Lotus Domino with IBM DB2 storage for Lotus Notes mail users".
-
Прилагающийся к статье файл "Описание рабочей нагрузки R6Mail".
-
Страница developerWorks Lotus Performance.
-
Статья по Lotus на developerWorks "Новые рабочие нагрузки Domino 6 NotesBench: Тяжелее по запросу!".
-
Статья по Lotus на developerWorks "Производительность сервера Lotus Domino 7, Часть 1".
-
Статья по Lotus на developerWorks "Производительность сервера Lotus Domino 7, Часть 2".
-
Статья по Lotus на developerWorks "Производительность сервера Lotus Domino 7, Часть 3".
-
Статья по Lotus на developerWorks "Новые возможности в Lotus Domino 7.0".
Получить продукты и технологии
-
Загрузите пробную версию Lotus Domino с developerWorks.
-
Загрузите пробную версию Lotus Notes с developerWorks.
Обсудить
- Примите участие в обсуждении материала на форуме.
-
Примите участие в форуме Lotus на developerWorks Россия и подключайтесь к сообществу developerWorks.