Дисковая подсистема ввода-вывода — самое общее «узкое» место. Операции ввода-вывода выполняются в течении относительно длительного времени и образуют более длинные очереди, что приводит к высокому коэффициенту использования диска и неиспользуемым циклам центрального процессора. Чтобы определить показатели среднего времени ответа, воспользуйтесь инструментом iostat во время ожидаемой пиковой нагрузки.
Операции записи на диск, чтения с диска и обновления могут быть последовательными или случайными. Случайные операции чтения и обновления — самые общие операции доступа в развертываниях eDirectory.
Ниже перечислены некоторые решения для обработки случайных рабочих нагрузок.
Увеличьте объем ОЗУ. Это позволит кэшировать часто используемые данные или выполнить упреждающее считывание данных на уровне файловой системы. Кроме того, это позволит кэшировать DIB в подсистеме FLAIM.
Воспользуйтесь выделенными томами для DIB. Для томов, созданных ближе к шпинделю, производительность файловой системы выше. Используйте выделенные тома для RFL и других журналов.
Со временем по мере повышения латентности дисков из-за фрагментации их следует дефрагментировать.
Добавьте отдельные диски для журнала RFL FLAIM. Ведение журналов этого типа можно выполнять на высокоскоростных дисках.
Воспользуйтесь средой RAID 10(1+0) с большим количеством дисков.
Размер файлов, созданных eDirectory, может вырасти до 4 ГБ. Файловые системы, оптимизированные для работы с большими файлами, работают эффективно с eDirectory.
В Solaris™ файловая система Veritas* VxFS основана на экстентах. В ней метаданные файловой системы оптимизированы для больших файлов. Файловая система UFS косвенно основана на блоках. В ней метаданные файловой системы хранятся в большом количестве блоков. Она даже может быть распределена для больших файлов, что приводит к замедлению работы UFS при выполнении операций с ними.
В Linux™ файловая система Reiser — это быстрая журнализированная файловая система (JFS), которая обеспечивает более высокую производительность по сравнению с ext3 в больших наборах DIB. Однако производительность режима журналирования ext3 с обратной записью соответствует производительности файловой системы Reiser, хотя режим упорядоченного журналирования данных обеспечивает их лучшую согласованность. XFS — это высокопроизводительная журнализированная файловая система (JFS), которая позволяет обрабатывать большие файлы и обеспечивает плавную передачу данных. eDirectory 8.8 SP8 поддерживается на 32- и 64-разрядных платформах SLES 11, которые имеют файловую систему XFS.
FLAIM поддерживает блоки размером 4 КБ и 8 КБ. По умолчанию задан размер 4 КБ. Такой же размер по умолчанию задан для блоков в Linux (tune2fs -l device). Однако в Solaris файловая система UFS создана с блоками размером 8 КБ по умолчанию (df -g mountpoint). Если размер блока FLAIM меньше размера блока файловой системы, могут происходить частичные записи блока. Если размер блока базы данных больше чем размер блока файловой системы, отдельные операции чтения и записи блока разделяются на последовательности отдельных физических операций ввода-вывода. Поэтому всегда нужно поддерживать размер блока FLAIM таким же, как и размер блока файловой системы.
Размерами блока можно управлять только при создании DIB. Чтобы создать DIB с размером 8 КБ, добавьте строку "blocksize=8192" в файл _ndsdb.ini.
Выбор правильного размера блока зависит от среднего размера записи FLAIM в ваших развертываниях. Чтобы определить размер блока, который лучшего всего подойдет для вашего развертывания, необходимо провести эмпирическое тестирование правильного набора тестовых данных.