Вход в личный кабинет:

Забыли пароль? | Регистрация

Адреса компании:

Санкт-Петербург

196158, Санкт-Петербург,
Пулковское шоссе, д. 30,
корп. 4, Лит. А, офис 203

Тел: +7 812 414 95 41

Москва

129085, г. Москва, проезд Ольминского, д. 3а, стр. 3, офис 706

Тел: +7 495 616 00 53

Блог

26.08.2015

Progress OpenEdge: промышленные средства репликации данных в Oracle и MS-SQL

Progress OpenEdge Pro2 Replication

Читать далее →




Десять причин перехода на новые версии OpenEdge (Progress)


Настройка сети в OpenEdge 10.2B Service Pack 06

Вернуться к списку постов

18.07.2012

В OpenEdge 10.2B06 добавлено несколько новых параметров настройки базы данных с лицензией Enterprise. Эти параметры предназначены для улучшения эффективности упреждающих запросов (prefetch queries) к базе в больших системах. Об этих параметрах и будет рассказано далее.

Настройка упреждающей выборки

Настройка поведения упреждающей выборки поможет смягчить две возможные причины проблем с производительностью: высокая нагрузка на System CPU и неэффективное использование сети.

Как известно, высокая нагрузка на System CPU в клиент-серверной OpenEdge-среде связана с механизмом опросов (the poll() mechanism). В крупномасштабных системах влияние этого механизма может привести к краху системы. Управляя частотой вызовов опросов можно снизить влияние механизма на System CPU и увеличить пользовательское использование CPU.

Кроме того, часто, в сети для более эффективной организации пропускной способности, используют большие буферы сообщений. Но, если удаленный клиент способен обработать полученный объем данных быстрее, чем сервер их передаёт, эффект от этого может быть сведен к нулю. Контролируя содержимое и поведение сетевых сообщений, можно более эффективно управлять пропускной способностью сети.

В версии 10.2B06 с помощью новых параметров настройки базы данных появилась возможность управлять содержимым и поведением сетевых сообщений, а также частотой вызова механизма опросов.

Включение задержки упреждающей выборки

До версии OpenEdge 10.2B06 сетевое сообщение, содержащее первую запись с запросом предварительной выборки, немедленно отправлялось запрашивающему её удаленному клиенту. Все последующие сообщения содержали оставшиеся записи. Установив задержку с помощью параметра -prefetchDelay, мы позволяем OpenEdge-серверу полностью заполнить сетевое сообщение, т.е. оно будет содержать и первую запись и все последующие, и только потом сообщение будет отправлено клиенту. При этом продолжительность задержки определяется через два дополнительных параметра, -prefetchNumRecs и -prefetchFactor.

Если использовать параметр -prefetchDelay, то произойдет изменение поведения первого сетевого сообщения. По умолчанию, если параметр -prefetchDelay не указан, то отправка первой записи произойдет в одном сообщении независимо от того, установлены значения параметров -prefetchNumRecs и -prefetchFactor или нет.

Размер буфера упреждающей выборки

Размер буфера упреждающей выборки изменяется параметрами -prefetchNumRecs и -prefetchFactor. Первый параметр (NumRecs) определяет количество записей, которые должны быть помещены в сообщение (целое число). Второй параметр (Factor) определяет процент заполнения сетевого сообщения. Отправка сетевого сообщения произойдет в случае, когда минимум любого из этих параметров будет достигнут. Взаимодействием этих двух параметров управляют следующим образом:

  • Для NumRecs устанавливается чрезвычайно высокое значение, чтобы гарантировать, что значение процента Factor будет минимальным
  • Для Factor устанавливается значение «0» (ноль), чтобы гарантировать, что количество записей определенных через NumRecs будет минимальным.

По умолчанию, объем данных упреждающей выборки в сетевом сообщении контролируется количеством записей (16), что соответствует поведению версий до 10.2B06.

Приоритет упреждающей выборки

В системах с исключительно активным использованием механизма опросов с помощью параметра -pollskip можно добавить возможность пропускать вызов опроса. Этот параметр принимает целое значение, представляющее количество записей, которое будет добавлено в сетевое сообщение во время запроса упреждающей выборки без дополнительного согласования. Pool Skip по умолчанию отключен.

В некоторых случаях, вызов poll() может занимать больше времени, чем добавление записи в сообщение в готовой очереди. Добавляя более одной записи в сообщение за раз можно значительно сократить количество вызовов poll() генерируемых в больших системах. В результате ожидается, что пропуск вызовов poll() значительно повысит общую производительность системы за счет сокращения циклов System CPU, что позволяет увеличить количество циклов User CPU.

Message wait

В средах с высоким сетевым трафиком можно использовать параметр Message wait (-Nmsgwait), благодаря которому сервер будет ждать определенное количество секунд для поддержания связи с удаленным клиентом, прежде чем приступить к поиску других событий, таких как останов базы данных или принудительное отключение удаленного клиента. Использование этого параметра может уменьшить количество системных вызовов, когда сервер находится в режиме ожидания. По умолчанию, значение параметра равно 2 (также как и в предыдущих версиях).

Справочная информация по параметрам

Далее описываются новые параметры, которые доступны для базы данных с лицензией Enterprise:

  • Prefetch delay (-prefetchDelay)
  • Prefetch Num Recs (-prefetchNumRecs)
  • Prefetch Factor (-prefetchFactor)
  • Prefetch Priority (-prefetchPriority)
  • Message Wait (-Nmsgwait)

Prefetch delay (-prefetchDelay)

Operating
system
and syntax

UNIX
Windows

-prefetchDelay

Use
with

Maximum
value

Minimum
value

Single-user
default

Multi-user
default

DBS

Используйте параметр Prefetch delay (-prefetchDelay) чтобы включить задержку при отправке первого сетевого сообщения для запросов с возможностями упреждающей выборки. Задержка упреждающей выборки по умолчанию отключена, это значит, что первое сетевое сообщение будет отправлено сразу, как только в него будет записана первая запись запроса.

При использовании Prefetch delay параметры Prefetch Num Recs (-prefetchNumRecs) и Prefetch Factor (-prefetchFactor) определяют продолжительность задержки.

Prefetch Num Recs (-prefetchNumRecs)

Operating
system
and syntax

UNIX
Windows

-prefetchNumRecs n

Use
with

Maximum
value

Minimum
value

Single-user
default

Multi-user
default

DBS

32766

1

161

1 До 10.2B06 значение 16 было фиксированным

Используйте параметр Prefetch Num Recs (-prefetchNumRecs) для увеличения количества записей размещаемых в сетевом сообщении перед тем, как оно будет отправлено удаленному клиенту.

Установка этого параметра может вызвать задержки в работе удаленного клиента, т.к. он вынужден ждать полного заполнения сетевого сообщения, содержащего записи предварительной выборки. Но в целом производительность системы, как ожидается, улучшится за счет сокращения сетевого трафика. Другой возможный побочный эффект, это когда конкретный удаленный клиент может получать неравномерные по времени ответы от сервера.

На количество записей в сетевом буфере также может влиять параметр -prefetchFactor. Смотри «Размер буфера упреждающей выборки» где рассказывается о взаимодействии этих параметров.

Prefetch Factor (-prefetchFactor)

Operating
system
and syntax

UNIX
Windows

-prefetchFactor n

Use
with

Maximum
value

Minimum
value

Single-user
default

Multi-user
default

DBS

100

0

01

1 Значение по умолчанию 0 определяет поведение до версии 10.2B06

Используйте параметр Prefetch Factor (-prefetchFactor) для установки процента от сетевого сообщения, необходимого для его заполнения предварительно выбранными данными перед отправкой сообщения ожидающему удаленному клиенту.

Количество записей в сетевом сообщении также зависит от параметра -prefetchNumRecs. Смотри «Размер буфера упреждающей выборки» где рассказывается о взаимодействии этих параметров.

Prefetch Priority (-prefetchPriority)

Operating
system
and syntax

UNIX
Windows

-prefetchPriority n

Use
with

Maximum
value

Minimum
value

Single-user
default

Multi-user
default

DBS

32766

0

01

1 Значение по умолчанию 0 определяет поведение до версии 10.2B06

Используйте параметр Prefetch Priority (-prefetchPriority) чтобы задействовать «pollskip», который добавляет n записей в сетевое сообщение во время запроса упреждающей выборки без дополнительного опроса. «Pollskip» происходит только, если предыдущий вызов poll() не возвратил каких-либо ожиданий.

Добавляя более одной записи в сообщение за раз можно значительно сократить количество вызовов poll() генерируемых в больших базах данных. В результате ожидается, что пропуск вызовов poll() значительно повысит общую производительность системы за счет сокращения циклов System CPU позволяя увеличить количество циклов User CPU.

Message Wait (-Nmsgwait)

Operating
system
and syntax

UNIX
Windows

-Nmsgwait n

Use
with

Maximum
value

Minimum
value

Single-user
default

Multi-user
default

DBS

255

1

21

1 Значение по умолчанию 2 определяет поведение до версии 10.2B06

Используйте параметр Message Wait (-Nmsgwait) для указания количества секунд ожидания сервера для поддержания связи с удаленным клиентом, прежде чем приступить к поиску других событий, таких как останов базы данных или принудительное отключение удаленного клиента.

Поддержка виртуальных системных таблиц (VST)

В виртуальную системную таблицу _Startup, чтобы позволить просматривать и изменять указанные в статье параметры, были добавлены следующие поля:

  • _Startup-Prefetch-Delay
  • _Startup-Prefetch-Num_Recs
  • _Startup-Prefetch-Factor
  • _Startup-Prefetch-Priority
  • _Startup-NmsgWait

Поддержка PROMON

Для просмотра и настройки новых параметров в PROMON были внесены изменения в следующие секции:

  • Display startup parameters
  • Alter startup parameters

Display startup parameters

Просмотр параметров из меню:

Shared Resources

Выберите пункт 6 из главного меню PROMON. Пример части измененного экрана этого пункта:

                  Server message wait time (-Nmsgwait): 5
         Delay first prefetch message (-prefetchDelay): Enabled
    Prefetch message fill percentage (-prefetchFactor): 25
    Minimum records in prefetch msg (-prefetchNumRecs): 50
    Suspension queue poll priority (-prefetchPriority): 10

Startup Parameters

Выберите R&D> 1(Status Displays)> 12 (Startup Parameters). Пример части измененного экрана этого пункта:

 LRU2 force skips:                  0
 Server network message wait time:  5
 Delay first prefetch message:      138023459
 Prefetch message fill percentage:  25
 Minimum records in prefetch msg:   50
 Suspension queue poll priority:    10


Alter startup parameters

Для изменения новых параметров на работающей базе данных выберите R&D> 4 (Administrative Functions)> 7 (Server Options). Будет показано следующее меню:

07/17/12        OpenEdge Release 10 Monitor (R&D)
18:04:43        Server Options
                1. Server network message wait time:             5 seconds
                2. Delay first prefetch message:                 Enabled
                3. Prefetch message fill percentage:             25 %
                4. Minimum records in prefetch message:          50
                5. Suspension queue poll priority:               10
                7. Terminate a server

Enter a number, P, T, or X (? for help):

Выберите пункт соответствующий параметру, который необходимо изменить.

Оригинал


Добавить свой комментарий

Ваше имя*:
Ваш E-mail*:
Ваш комментарий*:

Компьютерные системы для бизнеса
© 2010 - 2017 Все права на материалы, находящиеся на этом сайте, охраняются в соответствии с законодательством РФ, в том числе, об авторском праве и смежных правах. При любом использовании материалов сайта ссылка на источник обязательна.