Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE12.5 HWM vs LWM / 3 сообщений из 3, страница 1 из 1
14.11.2009, 00:46
    #36310327
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE12.5 HWM vs LWM
Господа, помогите пожалуйста понять как работает пара HWM/LWM.
Когда оба параметра одинаковы - понятно - эскалация наступает как только количество обновляемых записей (таблицы) в транзакции превышает установленный параметр.

А вот что происходит если установить LWM меньше чем HWM.
Дока этого не запрещает авторThe row lock promotion LWM must be less than or equal to row lock promotion HWM.

Я, к сожалению, не могу проверить, т.к. у меня не доступа.

Например, если установить LWM = 200 и HWM = 400.
Что произойдёт если запустить обновление на 300 записей.
Будет ли эскалация до табличного уровня?

Заранее спасибо!
...
Рейтинг: 0 / 0
14.11.2009, 16:05
    #36310630
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE12.5 HWM vs LWM
Kru wrote:

> Господа, помогите пожалуйста понять как работает пара HWM/LWM.

Всё достаточно просто. Есть LWM PCT и HWM.

Low watermark и High Watermark выражаются в количестве локов.
PCT -- это процент от объёма таблицы.

Типично эскалацию конфигурируют так, что

LWM < PCT < HWM

PCT, естественно, домноженный на размер таблицы .

LWM нужен для запрещения наступления эскалации до определённого уровня.
Если указанное кол-во локов не достигнуто, эскалация никогда не наступает. Т.е.
вы как бы говорите серверу: "я могу выделить каждой транзакции как минимум LWM
локов на работу с этой таблицей".

HWM нужен наоборот для принуждения наступления эскалации после
определённого уровня. Если указанное кол-во локов достигнуто, эскалация
гарантированно случится. Этот параметр говорит: "я НЕ МОГУ выделить транзакции
более чем HWM локов на работу с этой таблицей".

PCT -- вообще имеет смысл только тогда, когда его значение находится
в диапазоне от LWM до HWM. Потому что до LWM эскалации точно не будет, а после
HWM она точно случится. Нужен он для более точной настройки работы с каждой
таблицей. Ещё раз, задаётся он в процентах от размера таблицы, в кол-ве локов
(на самом деле -- страниц или записей). Ну и третье правило работы эскалации
таково: при превышении количество локов над величиной N * PCT, где N -
размер всей таблицы в страницах или строках, эскалация наступает. Т.е. этим
параметром вы как бы говорите серверу: "Если кто-то залочит более 30% таблицы,
должна произойти эскалация".

Ну и надо напомнить, что эскалация конфигурируется на двух уровнях:

на уровне сервера

на уровне отдельной таблицы.

Но применяется всегда к отдельной таблице.
Если для таблицы эскалация не задана, для неё действуют
значения уровня сервера. Именно поэтому лучше конфигурировать
ДЛЯ КАЖДОЙ ТАБЛИЦЫ.

Вот, собственно, и всё.

> Например, если установить LWM = 200 и HWM = 400.
> Что произойдёт если запустить обновление на 300 записей.
> Будет ли эскалация до табличного уровня?

В данном случае будет зависить от PCT.
Можно точно сказать, что эскалация возможна. Но не обязательно
случится.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 16:06
    #36312897
Kru
Kru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE12.5 HWM vs LWM
MasterZiv
Kru wrote:

> Господа, помогите пожалуйста понять как работает пара HWM/LWM.

Всё достаточно просто. Есть LWM PCT и HWM.

Low watermark и High Watermark выражаются в количестве локов.
PCT -- это процент от объёма таблицы.

Типично эскалацию конфигурируют так, что

LWM < PCT < HWM

PCT, естественно, домноженный на размер таблицы .

LWM нужен для запрещения наступления эскалации до определённого уровня.
Если указанное кол-во локов не достигнуто, эскалация никогда не наступает. Т.е.
вы как бы говорите серверу: "я могу выделить каждой транзакции как минимум LWM
локов на работу с этой таблицей".

HWM нужен наоборот для принуждения наступления эскалации после
определённого уровня. Если указанное кол-во локов достигнуто, эскалация
гарантированно случится. Этот параметр говорит: "я НЕ МОГУ выделить транзакции
более чем HWM локов на работу с этой таблицей".

PCT -- вообще имеет смысл только тогда, когда его значение находится
в диапазоне от LWM до HWM. Потому что до LWM эскалации точно не будет, а после
HWM она точно случится. Нужен он для более точной настройки работы с каждой
таблицей. Ещё раз, задаётся он в процентах от размера таблицы, в кол-ве локов
(на самом деле -- страниц или записей). Ну и третье правило работы эскалации
таково: при превышении количество локов над величиной N * PCT, где N -
размер всей таблицы в страницах или строках, эскалация наступает. Т.е. этим
параметром вы как бы говорите серверу: "Если кто-то залочит более 30% таблицы,
должна произойти эскалация".

Ну и надо напомнить, что эскалация конфигурируется на двух уровнях:

на уровне сервера

на уровне отдельной таблицы.

Но применяется всегда к отдельной таблице.
Если для таблицы эскалация не задана, для неё действуют
значения уровня сервера. Именно поэтому лучше конфигурировать
ДЛЯ КАЖДОЙ ТАБЛИЦЫ.

Вот, собственно, и всё.

> Например, если установить LWM = 200 и HWM = 400.
> Что произойдёт если запустить обновление на 300 записей.
> Будет ли эскалация до табличного уровня?

В данном случае будет зависить от PCT.
Можно точно сказать, что эскалация возможна. Но не обязательно
случится.



Огромное спасибо!
Всё теперь стало очень понятно :-)
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE12.5 HWM vs LWM / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]