Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
dvp:db:parameters [2013/04/12 13:57]
serge
dvp:db:parameters [2017/07/25 11:07] (текущий)
serge [Перестройка индексов (начиная с 10.2B06)]
Строка 3: Строка 3:
 Всё нижеследующее относится к OpenEdge 10.1С/​10.2B,​ в которой большинство остальных параметров по умолчанию выставлены в оптимальное значение. Выбор средств оптимизации работы брокера зависит от того, какая лицензия на OpedEdge DB используется. Многие действенные средства оптимизации недоступны в лицензиях ниже Enterprise DB. Всё нижеследующее относится к OpenEdge 10.1С/​10.2B,​ в которой большинство остальных параметров по умолчанию выставлены в оптимальное значение. Выбор средств оптимизации работы брокера зависит от того, какая лицензия на OpedEdge DB используется. Многие действенные средства оптимизации недоступны в лицензиях ниже Enterprise DB.
  
-==== Рекомендуемые параметры запуска брокера Progress для оптимизации производительности ==== +===== Рекомендуемые параметры запуска брокера Progress для оптимизации производительности =====
-=== Параметры БД в скрипте bq41d ===+
 В запускающем скрипте ''​bq41d''​ собраны все основные параметры,​ влияющие на производительность данного инстанса БД: В запускающем скрипте ''​bq41d''​ собраны все основные параметры,​ влияющие на производительность данного инстанса БД:
   RunAPW="​yes"​ #​ Запускать Async Page Writer ? (yes/no)   RunAPW="​yes"​ #​ Запускать Async Page Writer ? (yes/no)
Строка 10: Строка 9:
   RunBIW="​yes"​ #​ Запускать Before-Image Writer ? (yes/no)   RunBIW="​yes"​ #​ Запускать Before-Image Writer ? (yes/no)
   RunAIW="​yes"​ #​ Запускать After-Image Writer ? (yes/no)   RunAIW="​yes"​ #​ Запускать After-Image Writer ? (yes/no)
-  BQNdbbufs="​131072" # Буфер кэша БД в блоках,​ рекомендуется = 2% от размера БД, в примере ​= 1 ГБ+  BQNdbbufs="​350000" # Буфер кэша БД в блоках,​ рекомендуется = 2% от размера БД, в примере ​~ 2.8 ГБ для размера блока 8КБ
   BQNlocks="​200000"​ #​ Общее число блокировок в БД, рекомендуется = <​кол-во лицевых счетов>​ * 2   BQNlocks="​200000"​ #​ Общее число блокировок в БД, рекомендуется = <​кол-во лицевых счетов>​ * 2
   BQParams="​-semsets <​BQNusers/​20-50>"​    BQParams="​-semsets <​BQNusers/​20-50>"​
Строка 16: Строка 15:
 Чтобы изменённые параметра вступили в действие,​ необходимо перезапустить брокер БД: ''​bq41d stop; bq41d start''​. Чтобы изменённые параметра вступили в действие,​ необходимо перезапустить брокер БД: ''​bq41d stop; bq41d start''​.
  
-=== Размер буферного пула базы (параметр BQNdbbufs) ===+==== Размер буферного пула базы (параметр BQNdbbufs) ​====
 Значение параметра задается в блоках базы данных. Рекомендуемое начальное значение для основной базы – 2% от размера БД. С течением времени это значение необходимо корректировать,​ учитывая показания Progress Monitor'​а - ''​bq41d mon''​ -> 5. Activity, и наблюдать значение поля “Buffer Hits”. В момент активной работы с базой оно не должно быть меньше 95%, рекомендуется поддерживать значение на уровне 98-99%. Значение параметра задается в блоках базы данных. Рекомендуемое начальное значение для основной базы – 2% от размера БД. С течением времени это значение необходимо корректировать,​ учитывая показания Progress Monitor'​а - ''​bq41d mon''​ -> 5. Activity, и наблюдать значение поля “Buffer Hits”. В момент активной работы с базой оно не должно быть меньше 95%, рекомендуется поддерживать значение на уровне 98-99%.
-  * Если значение поля “Buffer Hits” < 95%, параметр –B необходимо увеличить.+  * Если значение поля “Buffer Hits” < 98%, параметр –B необходимо увеличить.
   * Если значение поля “Buffer Hits” >= 99%, параметр –B увеличивать бессмысленно.   * Если значение поля “Buffer Hits” >= 99%, параметр –B увеличивать бессмысленно.
 Слишком большое значение параметра ведет к непроизводительному расходу памяти и может быть причиной падения производительности. Слишком большое значение параметра ведет к непроизводительному расходу памяти и может быть причиной падения производительности.
Строка 33: Строка 32:
   Increase Params increasing buffer pools size (-B) from 131072 to 262144. (13980)   Increase Params increasing buffer pools size (-B) from 131072 to 262144. (13980)
  
-=== Размер таблицы блокировок (параметр BQNlocks) ===+==== Размер таблицы блокировок (параметр BQNlocks) ​====
 Рекомендуемое значение параметра равно удвоенному количеству лицевых счетов. Значение параметра необходимо увеличить при получении сообщения Progress “SYSTEM ERROR: Record lock table too small. Increase -L parameter.” Рекомендуемое значение параметра равно удвоенному количеству лицевых счетов. Значение параметра необходимо увеличить при получении сообщения Progress “SYSTEM ERROR: Record lock table too small. Increase -L parameter.”
  
Строка 48: Строка 47:
    ​Increase Params increasing lock table size (-L) from 200000 to 400000 . (13979)    ​Increase Params increasing lock table size (-L) from 200000 to 400000 . (13979)
  
-=== Количество попыток спин-блокировки (-spin) ===+==== Количество попыток спин-блокировки (-spin) ​====
 Этот параметр доступен в лицензии не ниже Enterprise, в лицензии Workgroup он заблокирован в значение 1. Рекомендуемое начальное значение - 5000. В дальнейшем,​ значение параметра необходимо периодически корректировать. Для этого наблюдайте значения поля “sema” (“sema/​s”) в выводе команды sar –m и значение поля “%sys” в выводе команды sar –u за 1-2 типовых рабочих дня. При наличии в поле “sema” значений,​ измеряющихся сотнями и тысячами,​ попробуйте увеличивать (по 1000-2000) значение параметра -spin, наблюдая,​ чтобы это не приводило к заметному увеличению среднего значения поля “%sys”. При этом пиковые значения поля “sema” должны уменьшаться. Этот параметр доступен в лицензии не ниже Enterprise, в лицензии Workgroup он заблокирован в значение 1. Рекомендуемое начальное значение - 5000. В дальнейшем,​ значение параметра необходимо периодически корректировать. Для этого наблюдайте значения поля “sema” (“sema/​s”) в выводе команды sar –m и значение поля “%sys” в выводе команды sar –u за 1-2 типовых рабочих дня. При наличии в поле “sema” значений,​ измеряющихся сотнями и тысячами,​ попробуйте увеличивать (по 1000-2000) значение параметра -spin, наблюдая,​ чтобы это не приводило к заметному увеличению среднего значения поля “%sys”. При этом пиковые значения поля “sema” должны уменьшаться.
  
 Изменять значение параметра рекомендуется в файле ''​bisquit.pf''​ одновременно для всех брокеров на данном сервере. Изменять значение параметра рекомендуется в файле ''​bisquit.pf''​ одновременно для всех брокеров на данном сервере.
  
-=== Количество наборов семафоров(-semsets) ===+==== Количество наборов семафоров(-semsets) ​====
 Этот параметр доступен в лицензии не ниже Enterprise DB. По умолчанию значение параметра равно 3. При большом (сотни) количестве одновременно работающих пользователей необходимо его увеличить для начала до значения,​ равного количеству одновременно работающих пользователей,​ поделенное на 50. При этом должно уменьшаться значение поля “sema” (“sema/​s”) вывода команды sar –m. Этот параметр доступен в лицензии не ниже Enterprise DB. По умолчанию значение параметра равно 3. При большом (сотни) количестве одновременно работающих пользователей необходимо его увеличить для начала до значения,​ равного количеству одновременно работающих пользователей,​ поделенное на 50. При этом должно уменьшаться значение поля “sema” (“sema/​s”) вывода команды sar –m.
  
 Изменить значение параметра можно, дописав через пробел параметр со значением в список параметров,​ определенных в переменной BQParams запускающего скрипта. Изменить значение параметра можно, дописав через пробел параметр со значением в список параметров,​ определенных в переменной BQParams запускающего скрипта.
  
-=== Использование асинхронной записи в файлы базы данных === +==== Использование асинхронной записи в файлы базы данных ​==== 
-== Запуск Async Page Writer ==+=== Запуск Async Page Writer ​===
 Возможность асинхронной записи в файлы базы данных доступна в лицензии не ниже Enterprise. Для включения асинхронной записи необходимо запустить как минимум один специальный агент (APW). Процесс APW можно запустить при старте брокера. Для этого в запускающем скрипте bq41d  установите значения переменных:​ Возможность асинхронной записи в файлы базы данных доступна в лицензии не ниже Enterprise. Для включения асинхронной записи необходимо запустить как минимум один специальный агент (APW). Процесс APW можно запустить при старте брокера. Для этого в запускающем скрипте bq41d  установите значения переменных:​
   RunAPW="​yes"​ #​ Запускать Async Page Writer ? (yes/no)   RunAPW="​yes"​ #​ Запускать Async Page Writer ? (yes/no)
Строка 69: Строка 68:
 Если значение поля “Writes by APW” значительно меньше,​ следует увеличить количество APW либо при работающем брокере (утилитой ''​bq41d exec proapw $BQ/​db/​bisquit''​),​ либо с перезапуском брокера,​ изменив значение переменной BQNAPW в запускающем скрипте. Если значение поля “Writes by APW” значительно меньше,​ следует увеличить количество APW либо при работающем брокере (утилитой ''​bq41d exec proapw $BQ/​db/​bisquit''​),​ либо с перезапуском брокера,​ изменив значение переменной BQNAPW в запускающем скрипте.
  
-== Запуск Before Image Writer ==+=== Запуск Before Image Writer ​===
 Для асинхронной записи в журнал before-image также используется специальный агент (BIW). В отличие от APW, BIW может быть запущен только один. Чтобы запустить BIW при старте брокера в запускающем скрипте ''​bq41d''​ установите значение переменной:​ Для асинхронной записи в журнал before-image также используется специальный агент (BIW). В отличие от APW, BIW может быть запущен только один. Чтобы запустить BIW при старте брокера в запускающем скрипте ''​bq41d''​ установите значение переменной:​
   RunBIW="​yes"​ # Запускать Async Before-Image Writer ? (yes/no)   RunBIW="​yes"​ # Запускать Async Before-Image Writer ? (yes/no)
 и перезапустите брокер БД. и перезапустите брокер БД.
  
-== Запуск After Image Writer ==+=== Запуск After Image Writer ​===
 Для асинхронной записи в журнал after-image также используется специальный агент (AIW), который тоже может быть запущен только один. Чтобы запустить AIW при старте брокера в запускающем скрипте ''​bq41d''​ установите значение переменной:​ Для асинхронной записи в журнал after-image также используется специальный агент (AIW), который тоже может быть запущен только один. Чтобы запустить AIW при старте брокера в запускающем скрипте ''​bq41d''​ установите значение переменной:​
   RunAIW="​yes"​ #​ Запускать After-Image Writer ? (yes/no)   RunAIW="​yes"​ #​ Запускать After-Image Writer ? (yes/no)
 и перезапустите брокер БД. и перезапустите брокер БД.
  
-==== Оптимизация размера блока и кластера журнала before-image ====+===== Оптимизация размера блока и кластера журнала before-image ​=====
 База данных выполняет непрерывный процесс синхронизации содержимого разделяемой памяти с состоянием базы на диске, в рамках которого в фоновом режиме измененные блоки данных пишутся на диск. Новый цикл синхронизации начинается с открытием очередного кластера журнала before-image. Увеличение размера кластера журнала before-image приводит к увеличению интервала между контрольными точками,​ что дает процессам записи APWs необходимое время для их работы. База данных выполняет непрерывный процесс синхронизации содержимого разделяемой памяти с состоянием базы на диске, в рамках которого в фоновом режиме измененные блоки данных пишутся на диск. Новый цикл синхронизации начинается с открытием очередного кластера журнала before-image. Увеличение размера кластера журнала before-image приводит к увеличению интервала между контрольными точками,​ что дает процессам записи APWs необходимое время для их работы.
  
Строка 103: Строка 102:
 Изменить размер блока журнала before-image можно следующим образом (размер блока указывается в килобайтах):​ Изменить размер блока журнала before-image можно следующим образом (размер блока указывается в килобайтах):​
   bq41d stop   bq41d stop
-  bq41d trunc –biblocksize ​8+  bq41d trunc –biblocksize ​16
 Изменить размер кластера журнала before-image можно следующим образом (размер кластера указывается в килобайтах) : Изменить размер кластера журнала before-image можно следующим образом (размер кластера указывается в килобайтах) :
   bq41d stop   bq41d stop
Строка 109: Строка 108:
 Возможно одновременное изменение размеров блока и кластера журнала before-image:​ Возможно одновременное изменение размеров блока и кластера журнала before-image:​
   bq41d stop   bq41d stop
-  bq41d trunc –biblocksize ​-bi 16384+  bq41d trunc –biblocksize ​16 -bi 16384
  
   OpenEdge Release 10.2B07 as of Fri Sep  7 02:15:05 EDT 2012   OpenEdge Release 10.2B07 as of Fri Sep  7 02:15:05 EDT 2012
Строка 116: Строка 115:
   Before-image block size set to 8 kb (8192 bytes). (3781)   Before-image block size set to 8 kb (8192 bytes). (3781)
  
-==== Перестройка индексов (начиная с 10.2B06) ====+===== Перестройка индексов (начиная с 10.2B06) ​=====
 Предполагается,​ что: Предполагается,​ что:
   * 50% оперативной памяти и 4 процессорных ядра могут быть выделены под процесс перестройки индексов   * 50% оперативной памяти и 4 процессорных ядра могут быть выделены под процесс перестройки индексов
Строка 136: Строка 135:
   bq41d truncate area "​text-i"​   bq41d truncate area "​text-i"​
   bq41d truncate area "​mart-i"​   bq41d truncate area "​mart-i"​
-  bq41d idxbuild all -mergethreads ​–threadnum ​-datascanthreads ​-B 1024 –TF 50 –TMB 64 –TB 64 –TM 32 -rusage -silent+  bq41d idxbuild all -mergethreads ​–threadnum ​-datascanthreads ​-B 1024 –TF 50 –TB 64 –TM 32 -rusage -silent 
 +   
 +{{tag>​progress prodb performance}}