Это старая версия документа.
Настройка производительности БД
Всё нижеследующее относится к OpenEdge 10.1С/10.2B, в которой большинство остальных параметров по умолчанию выставлены в оптимальное значение.
Параметры БД в скрипте bq41d
RunAPW="yes" # Запускать Async Page Writer ? (yes/no) BQNAPW="2" # Сколько именно AP Writer'ов (n_disks+1) ? RunBIW="yes" # Запускать Before-Image Writer ? (yes/no) RunAIW="yes" # Запускать After-Image Writer ? (yes/no) BQNdbbufs="131072" # Буфер кэша БД в блоках, рекомендуется = <размер БД> * 1-2%, в примере = 1 ГБ BQNlocks="200000" # Общее число блокировок в БД, рекомендуется = <кол-во лицевых счетов> * 2 BQParams="-semsets <BQNusers/20-50>"
Оптимизация размера блока и кластера BI-файла
База данных выполняет непрерывный процесс синхронизации содержимого разделяемой памяти с состоянием базы на диске, в рамках которого в фоновом режиме измененные блоки данных пишутся на диск. Новый цикл синхронизации начинается с открытием очередного кластера журнала before-image. Увеличение размера кластера журнала before-image приводит к увеличению интервала между контрольными точками, что дает процессам записи APWs необходимое время для их работы.
Для проверки эффективности обработки транзакций необходимо выяснить частоту выполнения контрольных точек используется экран Checkpoints утилиты bq41d mon → R&D → 3. Other → 4. Checkpoints. Например:
Ckpt ------ Database Writes ------ No. Time Len Freq Dirty CPT Q Scan APW Q Flushes Duration Sync Time 32 18:13:47 8693 0 713 0 0 0 0 0.02 0.00 31 17:11:42 3725 3725 729 0 0 0 0 0.06 0.01 30 16:47:51 1431 1431 266 0 0 0 12 0.02 0.01 ...
В идеальном состоянии интервал между проверками должен составлять около минуты или более, а число буферов, сброшенных на диск в контрольной точке (колонка Flushes), должно быть равным или близко к нулю. Если они короче минуты, то следует увеличить размер кластера. Однако его не следует делать слишком большим, оно не должно превышать 131072.
Узнать текущий размер блока и кластера файла before-image можно, запустив утилиту bq41d mon → R&D → 1. Status Displays → 9. BI Log. Например:
Before-image block size: 8192 bytes Before-image cluster size: 512 kb (524288 bytes)
Изменить размер блока файла before-image можно следующим образом (размер блока указывается в байтах):
bq41d stop bq41d trunc –biblocksize 8
Изменить размер кластера файла before-image можно следующим образом (размер кластера указывается в килобайтах) :
bq41d stop bq41d trunc -bi 16384
Возможно одновременное изменение размеров блока и кластера файла before-image:
bq41d stop bq41d trunc –biblocksize 8 -bi 16384
Перестройка индексов (начиная с 10.2B06)
Предполагается, что:
- 50% оперативной памяти и 16 процессорных ядер могут быть выделены под процесс перестройки индексов
- индексы располагаются в отдельных областях БД (подробнее - Рекомендуемая структура БД QBIS.Bank)
- в каталоге, указанном в параметре -T в файле bisquit.pf, имеется достаточное кол-во свободного пространства для размещения временных файлов сортировки
bq41d stop bq41d trunc bq41d backup bq41d truncate area "op-i" bq41d truncate area "history-i" bq41d truncate area "signs-i" bq41d truncate area "olap-i" bq41d truncate area "other-i" bq41d truncate area "perm-i" bq41d truncate area "acct-i" bq41d truncate area "pos-i" bq41d truncate area "msg-i" bq41d truncate area "text-i" bq41d truncate area "mart-i" bq41d idxbuild all -mergethreads 2 –threadnum 2 -datascanthreads 16 -B 1024 –TF 50 –TMB 64 –TB 64 –TM 32 -rusage -silent