NOTE: Данное приложение представляет собой измененную статью Novell® Application Notes, опубликованную в январе 1995.
В некоторых случаях для дополнительных пространств имен требуется дополнительная память для кеширования каталогов и управления. Если на томе NetWare® инсталлируются дополнительные пространства имен, то для определения размера требуемой памяти и соответствующей настройки сервера необходимо следовать данным в этом приложении рекомендациям. Эти рекомендации учитывают все дополнительные требования памяти пространств имен.
Для каждого пространства имен, установленного на томах сервера NetWare, требуются определенные модули поддержки (программы NLMTM - загружаемые модули NetWare), а также изменения в таблицах элементов каталогов (Directory Entry Table - DET) сервера. Модулям поддержки требуется минимум памяти. Однако при изменениях каждой таблицы DET тома для каталогового кеша требуется дополнительная память сервера при достаточно сложной структуре каталогов.
Независимо от того, используются пространства имен или нет, все операции с файлами и каталогами осуществляются с помощью единого распределяемого и управляемого операционной системой NetWare кеша каталогов. Назначение кеша каталогов состоит в сохранении в блоках DET считанной с диска информации для ее повторного использования.
В системе NetWare 2 в оперативной памяти осуществлялось кеширование всей таблицы DET, однако с ростом емкости дисков для многих серверов полное кеширование каталогов стало нереальным. Например, файловой системе DOS, содержащей 500000 файлов, требуется 65 Мб оперативной памяти только для кеширования таблицы элементов каталогов. В системах NetWare 3TM и NetWare 4TM для кеширования каталогов используется новая технология кеширования (MRU - most recently used). В соответствии с этой технологией при запросе новых блоков DET из кеша удаляются те блоки, обращение к которым было произведено раньше (least-recently-used - LRU). Стратегия MRU представляет собой эффективное средство, позволяющее использовать небольшой кеш-буфер для доступа к очень большой структуре данных.
Для управления размером кеш-буфера каталога NetWare также использует систему авторегуляции, основанную на специфике использования каталогов.
Когда на томе установлено пространство имен, в таблицу DET тома для каждого файла включается дополнительный каталоговый элемент. Например, на томе, поддерживающем DOS, NFS и HPFS, система NetWare поддерживает три элемента каталога для каждого файла - по одному элементу для каждого установленного пространства имен, включая DOS.
В процессе создания файлов и других файловых операций несколько каталоговых элементов пространств имен, соотвествующих определенному файлу, остаются смежными и размещаются в одном и том же блоке DET на диске и в кеше. Такой метод неразрывной связи имеет преимущество перед методом, при котором элементы не являются смежными и системе приходится читать несколько блоков DET для доступа ко всем ссылкам DET одного и того же файла.
При использовании только встроенной в NetWare поддержки DOS каждый прочитанный в кеш блок содержит 32 элемента, которые предоставляют информацию для 32 файлов. Это обеспечивает доступ к информации для 32 файлов без необходимости чтения с диска другого блока DET. Количество файлов, описываемых в блоке DET, важно, потому что дополнительные пространства имен существенно изменяют его.
При кешировании DET после добавления на одном или нескольких томах сервера одного или более пространств имен необходима дополнительная память. Доступ клиентов NetWare к тому с установленными дополнительными пространствами имен может быть замедлен, так как информация, хранимая в одном кеш-буфере каталога, соответствует уже не 32 файлам. Она определяется количеством установленных на томе пространств имен и представляет 16, 10 или 8 файлов в блоке DET.
Например, если, кроме пространства имен DOS, загружается пространство имен Macintosh, клиенты DOS и Macintosh при выполнении одной и той же задачи должны обрабатывать десять каталоговых блоков (вместо пяти, когда используется только пространство имен DOS). При добавлении пространства имен Macintosh блок элемента каталога по-прежнему хранит 32 элемента, но теперь каждый файл представлен двумя элементами (по одному на каждое пространство имен), а тот же самый блок содержит информацию только для 16 файлов. При добавлении еще одного пространства имен каждый файл будет определяться тремя элементами, а в блоке DET будет представлено всего 10 файлов. Добавление четвертого дополнительного пространства имен приведет к наличию четырех элементов на файл, и в каждом блоке DET будет представлено только восемь файлов.
Эффективность использования кеша каталога уменьшается обратно пропорционально количеству установленных пространств имен.
Для вычисления основного объема требуемой памяти сервера используйте рабочую таблицу приложения А "Вычисление требуемой оперативной памяти". Кроме основного объема памяти, для дополнительных пространств имен необходимо по шесть байтов памяти на каждый элемент каталога.
Используя представленные в начале рабочей таблицы приложения А переменные, умножьте (П7 * 0,006) на количество дополнительных пространств имен, установленных на сервере. (П7 - максимальное количество файлов, которые будут находиться на сервере.) Если дополнительные пространства имен установлены на определенных томах, этот расчет нужно сделать только для максимального количества файлов на данных томах.
Определение размера кеша каталогов, как и настройка любого параметра NetWare, в значительной степени зависит от загрузки рассматриваемого сервера, а также от характера доступа пользователей сервера к каталогам. Ключевым моментом является частота использования функций открытия, закрытия и создания файлов, а также каталогового поиска. При низкой интенсивности обработки произвольное количество пользователей совместно использует небольшое количество каталогов или деятельность каждого пользователя связана с небольшой областью каталогов. Интенсивная обработка представляет собой работу произвольного количества пользователей, но их деятельность охватывает очень большое количество каталогов и файлов.
При небольшой загрузке сервера Вам не нужно выделять для кеша больше памяти, чем установлено в NetWare по умолчанию. Значения по умолчанию позволяют NetWare выделять 20 буферов немедленно по запросу, а затем выделять их по мере необходимости вплоть до максимального значения - 512 кеш-буферов каталогов (2 Мб). Для большинства серверов NetWare этого вполне достаточно.
При интенсивной нагрузке сервера Вы можете скорректировать автоматическую настройку NetWare, выделив до 8 Мб памяти для кеширования каталогов немедленно по запросу, а затем до 16 Мб общей каталоговой кеш-памяти. Эти установки позволяют NetWare кешировать до 4096 блоков кеша каталога. Для этого установите в файле AUTOEXEC.NCF сервера следующие параметры SET:
SET maximum directory cache buffers = 4000 SET minimum directory cache buffers = 2000
Этот принцип используется для настройки кеша каталога, если оба описанных выше принципа не отвечают Вашим условиям.
Прежде всего, позвольте Вашему серверу поработать несколько недель в рабочем режиме. Это даст возможность системе автоматической настройки NetWare выделить соответствующее количество кеш-буферов каталога.
Затем воспользуйтесь программой MONITOR.NLM, чтобы посмотреть количество выделенных кеш-буферов. Его значение содержится в поле "Кеш-буферы каталога" на экране "Общая информация" и используется в приведенной ниже таблице. Чтобы рассчитать новое количество кеш-буферов, умножьте это значение на общее число пространств имен (включая поддержку DOS).
Для | Выполните |
---|---|
Поддержки DOS | Действий не требуется |
Поддержки DOS и одного дополнительного пространства имен | Умножьте количество кеш-буферов каталога на 2. |
Поддержки DOS и двух дополнительных пространств имен | Умножьте количество кеш-буферов каталога на 3. |
Поддержки DOS и трех дополнительных пространств имен | Умножьте количество кеш-буферов каталога на 4. |
Поддержки DOS и четырех дополнительных пространств имен | Умножьте количество кеш-буферов каталога на 5. |
Используйте полученное количество буферов для установки нового минимального значения для сервера, как показано в параметрах SET ниже. После установки минимального значения установите максимальное значение, превышающее минимум по крайней мере на 100 буферов, оставляя тем самым некоторый запас памяти для пиковых рабочих нагрузок.
SET minimum directory cache buffers = новое_количество_буферов SET maximum directory cache buffer = новый_максимум_буферовЭти новые установки позволят NetWare свободно выделять новые кеш-буферы каталогов в среде с несколькими пространствами имен и позволят увеличить вероятность того, что (1) многократно используемое содержимое кеш-буферов каталогов останется в кеше и что (2) это содержимое останется в кеше дольше. Такое кеширование каталогов предназначено для поддержки систем, использующих дополнительные пространства имен. При таком кешировании достигается наименьшее время чтения пути.
Если, несмотря на эти изменения и установочный период, сервер не выполняет ожидаемого распределения кеш-памяти, значит, особенности доступа пользователей к каталогам не требуют дополнительного кеширования. С другой стороны, если Ваш сервер использует весь доступный кеш, значит, особенности доступа пользователей к каталогам сложнее, чем Вы ожидали.
На основании анализа особенностей используемых конечными пользователями приложений и требований к времени ответа, возможно, придется увеличить общее количество ресурсов для кеширования каталогов. В конце концов, цена такого добавления невысокая: каждые дополнительные 100 кеш-буферов добавляют в кеш 3200 элементов каталога, занимая 0,4 Мб оперативной памяти сервера.
Следует помнить, что любая память, предоставляемая для кеша каталогов, берется из файлового кеша. Если для кеширования каталогов Вы продолжаете использовать память из файлового кеша, на сервере может потребоваться установка дополнительной памяти после определения размера памяти для кеша каталогов.
Назад | Содержание | Вперед