Режим СОЗДАТЬ СЛОВАРЬ ЗАНОВО (Администратор-Серверный) |
Содержится в пункте АКТУАЛИЗАЦИЯ главного меню .
Режим служит для формирования заново всего файла словаря (инвертированного файла) на основании всех документов текущей БД.
Режим применяется в случае, когда необходимо актуализировать инвертированный файл в связи со значительным количеством неактуализированных документов (т.е. когда значение системного параметра ЗАПИСЕЙ НЕАКТУАЛИЗИРОВАННЫХ достаточно велико по сравнению с общим объемом базы данных), а также в случае восстановления БД после ее разрушения или утраты. |
Процесс формирования словаря заново для больших баз данных может оказаться достаточно продолжительным - поэтому система предлагает возможность поэтапного выполнения этого процесса. Для этого существуют три подрежима, реализующие основные этапы процесса создания словаря:
•ТОЛЬКО ОТБОР;
•ТОЛЬКО СОРТИРОВКА;
•ТОЛЬКО ЗАГРУЗКА.
Правило:
Этапы должны выполняться строго в той последовательности, как они указаны в меню. |
Режим является монопольным, т.е. вызывает монопольную блокировку БД.
Внимание: |
ВНИМАНИЕ! Если процесс формирования инвертированного файла или его отдельные этапы завершаются аварийно - завершающее сообщение не получено, - необходимо запустить их повторно. При этом аварийное завершение полного процесса или его последнего этапа (ТОЛЬКО ЗАГРУЗКА) означает, что инвертированный файл БД разрушен (является недоброкачественным). Если повторный запуск процессов не приводит к положительному результату, необходимо провести действия по восстановлению БД в целом. |
Введена МНОГОПРОЦЕССОРНАЯ технология для режима СОЗДАТЬ СЛОВАРЬ ЗАНОВО.
|
(ИРБИС64) - что позволяет СУЩЕСТВЕННО ускорить выполнение этого режима (дополнительно используется новый исполняемый модуль IrbisMultiLoad.exe).
Выигрыш по времени получается существенным на БОЛЬШИХ БД (>100 тыс.) и при количестве ядер (процессоров) на менее двух.
В связи с этим введен новый паоаметр в IRBISA.INI в секции [MAIN]
MULTILOAD=N
где N - количество параллельных процессов.
Значение параметра MULTILOAD по умолчанию - равно реальному количеству ядер/процессоров в системе.
Также введен дополнительный параметр (в секции [MAIN]):
MULTISORT=
который имеет смысл ТОЛЬКО при MULTILOAD>1 и определяет: используется (значение 1 - по умолчанию) или не используется (значение 0) многопроцессорная обработка на этапе СОРТИРОВКИ при создании словаря.
Введение данного параметра связано с тем, что при определенных условиях (зависящих от кол-ва процессов и объема БД) многопроцессорная сортировка оказывается МЕДЛЕННЕЕ однопроцессорной. (Здесь нет возможности вдаваться в подробности, почему так происходит, - скажу лишь, что связано это с тем, что собственно процесс сортировки включает разбиение исходных данных на части.) Тестирование показало, что на двухядерной машине (MULTILOAD=2) при любых объемах БД многопроцессорная сортировка (MULTISORT=1) идет быстрее, чем однопроцессорная. А вот на машине с 8 процессорами для БД объемом в диапазоне 200-300тыс. многопроцессорная сортировка идет медленнее однопроцессорной (при объемах БД меньше и больше этих значений многопроцессорная "выигрывает")
Ниже приводятся результаты испытаний новой загрузки для БД Электронного каталога объемом 485 тыс.документов на компьютерах разной мощности:
Компьютер Pentium Dual-Core (2-ух ядерный) 2.6 ГГц, 1.99 Гб ОЗУ
Кол-во процессов: 1 (MULTILOAD<2) - время выполнения: 6 час. 27 мин. 3 сек.
Кол-во процессов: 2 (MULTILOAD=2) - время выполнения: 3 час. 36 мин. 42 сек.
Кол-во процессов: 3 (MULTILOAD=3) - время выполнения: 4 час. 13 мин. 10 сек.
Компьютер Intel Xeon 8 процессоров 2.6 ГГц, 2.0 Гб ОЗУ
Кол-во процессов: 1 (MULTILOAD<2) - время выполнения: 6 час. 16 мин. 32 сек.
Кол-во процессов: 8 (MULTILOAD=8) - время выполнения: 1 час. 8 мин. 17 сек.
Кол-во процессов: 10 (MULTILOAD=10) - время выполнения: 1 час. 11 мин. 47 сек.
См. также:
АКТУАЛИЗАЦИЯ режимы АРМа Администратор-Серверный
СОЗДАТЬ СЛОВАРЬ ЗАНОВО режим АРМа Администратор-Клиент.