
Многопоточная проверка индекса
С OpenEdge 12.8 LTS cистемные администраторы баз данных теперь имеют возможность инициировать многопоточные проверки индекса, которые позволяют параллельно обрабатывать записи для каждого ключа и анализировать порядок их следования. Внедрение многопоточности оптимизирует выполнение последовательных операций, значительно повышая общую производительность системы.
В настоящее время многопоточная обработка поддерживается исключительно для двух вариантов онлайн-проверки индекса: третьего и четвертого. Оба этих варианта автоматически задействуют многопоточность, если аппаратные и программные ресурсы системы позволяют это. По умолчанию при запуске утилиты PROUTIL IDXCHECK активируется четвертый вариант проверки индекса, известный как “Validate key order”. Рекомендуется также использовать третий вариант проверки, “Validate record for each key”, при каждом запуске PROUTIL IDXCHECK для обеспечения полноты анализа.
Для повышения удобства пользователей интервал между отчетами о ходе проверки индекса был увеличен с 10 000 до 500 000 обрабатываемых ключей. Важно отметить, что многопоточные проверки индекса, как и другие аналогичные утилиты, не поддерживают работу с word-индексами.
Новые параметры утилиты для активации многопоточности
-thread 0 | 1
Этот параметр активирует многопоточную проверку индекса. По умолчанию многопоточная проверка включена для опций 2, 3 и 4. Значение 0 указывает на отключение потоковой обработки, значение 1 — на активацию потоковой проверки. Использование многопоточности позволяет выполнять последовательные операции одновременно, что повышает производительность системы. Потоки не создаются при оффлайн проверке индекса. Для опции 2 создание потоков не происходит для объектов с небольшими объемами данных. Опции 3 и 4 не создают потоки для индексов типа word или небольших индексов.
-threadnum num-thread
Этот дополнительный параметр задает максимальное количество потоков, которые могут быть созданы основным процессом для проверки индекса. Если параметр -threadnum не указан, то количество потоков определяется следующим образом:
- При наличии менее шести процессоров, количество потоков равно количеству процессоров.
- При наличии шести или более процессоров, максимальное количество потоков по умолчанию составляет шесть.
Эти настройки обеспечивают оптимальное использование ресурсов системы и предотвращают ее перегрузку.
Максимальное количество потоков, которое может быть задано с помощью параметра -threadnum, не должно превышать количество доступных процессоров. Если указанное значение превышает количество процессоров, параметр -threadnum автоматически устанавливается равным количеству процессоров.
Для опций 3 и 4 фактическое количество запущенных потоков может отличаться от указанного значения, так как утилита проверки индекса автоматически определяет количество потоков на основе структуры индексных деревьев. Если все ключевые элементы в индексном дереве идентичны, то утилита запускается в однопоточном режиме.
Для получения дополнительной информации рекомендуется ознакомиться с разделом документации, посвященным квалификаторам утилиты PROUTIL IDXCHECK.