Регистрация

Resource monitoring

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Resource monitoring

Сообщение dmikai » Вт май 27, 2014 1:14 pm

А расскажите, пожалуйста, как пользоваться виртуальной таблицей _Resrc.
Что всё это значит?

Код: Выделить всё
_Resrc-Id _Resource-Name         _Resource-Lock        _Resource-Wait   _Resource-Wait-Time
───────── ─────────────── ───────────────────── ───────────────────── ─────────────────────
        1 Shared Memory                       0                     0                     0
        2 Record Lock                 132673869                   440                     0
        3 Schema Lock                         0                     0                     0
        4 Trans Commit                   753556                     0                     0
        5 DB Buf I Lock                16716039                  4156                     0
        6 Record Get                  442122233                     1                     0
        7 DB Buf Read                  35257926                     0                     0
        8 DB Buf Write                  1326746                     0                     0
        9 DB Buf Backup                       0                     0                     0
       10 DB Buf S Lock              9079419119                 48078                     0
       11 DB Buf X Lock                13975861                 11273                     0
       12 DB Buf Avail                        0                     0                     0
       13 12                                  0                     0                     0
       14 BI Buf Read                      5342                     0                     0
       15 BI Buf Write                   540897                 26871                     0
       16 AI Buf Read                         2                     0                     0
       17 AI Buf Write                   381142                   412                     0
       18 17                                  0                     0                     0
       19 TXE Share Lock               15782796                     0                     0
       20 TXE Update Lock               2060665                   934                     0
       21 TXE Commit Lock               1366873                  3243                     0
       22 TXE Excl Lock                       0                     0                     0
       23 22                                  0                     0                     0

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Resource monitoring

Сообщение George » Вт май 27, 2014 1:34 pm

dmikai писал(а):А расскажите, пожалуйста, как пользоваться виртуальной таблицей _Resrc.

Для этого надо знать как в Progress'е работают протоколы доступа к различным ресурсам, но детально это нигде не документировано. Есть только неполная информация (например в Dan Foreman's VST Guide) и какие-то догадки.
Что всё это значит?

Большое значение в поле wait значит что ресурс загружен, маленькое - что за данный ресурс конкуренция отсутствует. Т.е. достаточно оперировать на уровне "болит-не болит" и при этом "анатомию" знать необязательно.

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Вт май 27, 2014 4:21 pm

А как можно интерпретировать эти записи?

2 Record Lock
5 DB Buf I Lock
6 Record Get
10 DB Buf S Lock
11 DB Buf X Lock
19 TXE Share Lock
20 TXE Update Lock
21 TXE Commit Lock
22 TXE Excl Lock

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Resource monitoring

Сообщение George » Вт май 27, 2014 6:12 pm

dmikai писал(а):А как можно интерпретировать эти записи?

2 Record Lock
Затрудняюсь с ответом. :D

5 DB Buf I Lock
Чтение индексного блока, с требованием предоставить возможность эксклюзивной локировки этого блока, если того потребует перестройка индексного дерева.

6 Record Get
Когда требуется прочитать фрагментированную запись, то нельзя освобождать замок на блок, в котором находится голова записи, пока не прочитан блок, в котором находится её продолжение. Если же запись состоит только из одного фрагмента, то этот протокол при чтении записи не используется.

10 DB Buf S Lock
Чтение данных их блока без намерения эти данные тут же модифицировать. Например 'for each table no-lock'.

11 DB Buf X Lock
Блок взят для того, чтобы записать (изменить) в нём данные.

19 TXE Share Lock
20 TXE Update Lock
21 TXE Commit Lock
22 TXE Excl Lock
Это части transaction end lock protocol. TXE Share Lock появился только в 9.1A. Другие ресурсы меняли названия в версиях с 8.3 по 10.2B. Т.е. этот протокол менялся (совершенствовался) еще совсем недавно. Его подробного описания нет. Можно в экспериментах, например создавая одну запись, посмотреть сколько каких ресурсов будет задействовано. Результат будет неочевидным.

Кстати, часть данных из _Resrc дублируется в _TxeLock.

Я сейчас в фоновом режиме работаю над программой PPT: performance probe tests. Программа будет выполнять некоторые элементарные тесты и замерять время, которое на них пришлось потратить. Точнее сколько она успеет сделать за отведенное для тестов время (речь всего о сотне миллисекунд на тест одного типа). Одновременно программа будет снимать показатели текущей загруженности ресурсов базы. И, разумеется, она будет знать какую часть в этой нагрузке создает сама программа. На экран будет выводиться отношение текущих результатов к лучшему результату предыдущих запусков и процент её собственной нагрузки от общей активности в базе. Для интерпретации этих данных не требуется понимать как работает база - всё должно быть просто как в тесте на беременность. В online режиме можно покрутить параметры вроде -spin'а. Если результаты PPT улучшаются, значит "крутим" в правильную сторону. Если нет, то "крутим" в другую сторону или другие параметры. Занимаюсь я этой задачей в свободное от работы время, а его почти нет. Но если кто-то захочет по участвовать в тестировании программы, то в добровольцы можно записываться уже сейчас. :wink:

Старожил
Аватара пользователя
Сообщения: 1523
Зарегистрирован: Чт сен 27, 2001 4:00 am
Откуда: Москва

Re: Resource monitoring

Сообщение dmi » Вт май 27, 2014 8:35 pm

George писал(а): Занимаюсь я этой задачей в свободное от работы время, а его почти нет. Но если кто-то захочет по участвовать в тестировании программы, то в добровольцы можно записываться уже сейчас. :wink:


Записывайте, могу на трех разных IBM-серверах p-серии запустить
/dmi

http://pro4gl.ru - 4gl блог

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Ср май 28, 2014 11:17 am

И я тоже поучаствую - есть зоопарк из солярисов и линухов

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Ср май 28, 2014 11:36 am

А в каких единицах измеряется поле _Resource-Wait?

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Resource monitoring

Сообщение George » Ср май 28, 2014 12:42 pm

dmikai писал(а):А в каких единицах измеряется поле _Resource-Wait?


Из книги Progress System Tables Guide by Dan Foreman:
_Resrc-wait - Number of times a process waited on this resource.
т.е. в штуках.

Кстати для TXE "update" и "commit" locks поле _TxeLock._Txe-Waitss содержит: Number of queued locks held simultaneously. Это дополнительный штрих к конкуренции за ресурсы.

Стоит ли создать отдельную ветку для PPT (performance probe tests)? Есть некоторые вопросы по интерфейсным делам - что и как отображать на экране. Впрочем могу спросить и через личку.

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Чт май 29, 2014 11:40 am

Получается, что чем больше WAIT, тем хуже?

За последние дни у меня в топе "DB Buf S Lock", а сегодня - "BI Buf Write".

На что обратить внимание?

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Resource monitoring

Сообщение George » Чт май 29, 2014 3:48 pm

dmikai писал(а):На что обратить внимание?


Если бы мне здоровье позволяло, то я бы больше внимания обращал на женщин. Но в ближайшее время внимание, скорее всего, придется уделять запасам пива в предверии ЧМ в Бразилии. :wink:

Стоит ли в данном случае вообще обращать внимание на ожидания "BI Buf Write"? Какой процент времени эти ожидания составляют от продолжительности транзакций?

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Чт май 29, 2014 6:26 pm

Вот как-то так получается.
Единицы измерения - штук в минуту
Вложения
chart2.png
chart2.png (94.44 КБ) Просмотров: 7234

Старожил
Аватара пользователя
Сообщения: 2871
Зарегистрирован: Ср май 12, 2004 6:03 pm
Откуда: Питер

Re: Resource monitoring

Сообщение George » Чт май 29, 2014 6:48 pm

dmikai писал(а):Вот как-то так получается.

Значения ожиданий действительно слишком большие, но для выявления причины нужны полные данные. Явно видны всплески продолжительностью несколько минут. Если они повторяются каждый день примерно в одно и тоже время, то можно попытаться "забрасывать невод" в виде "короткого" dbmon'а, т.е. в нужный период запускать скрипт dbmon, скажем, на 100 20-секундных интервалов (общее время сбора статистики будет больше получаса). Я готов посмотреть полученные данные.

Кстати какая версия Progress'а, включая сервис-пак?

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Пн июн 02, 2014 3:25 pm

OpenEdge Release 10.1B03 as of Fri Nov 2 23:38:34 EDT 2007

Во время пиков идёт достаточно сильная активность на базе.
И база при этом отвечает нормально.
Интересно - можно ли выжать больше?
Вложения
chart3.png
chart3.png (36.91 КБ) Просмотров: 7201

Старожил
Аватара пользователя
Сообщения: 510
Зарегистрирован: Чт сен 21, 2006 12:19 am
Откуда: Рига, Латвия

Re: Resource monitoring

Сообщение dmikai » Пн июн 02, 2014 3:27 pm

Скажем характеристика второго пика заметно отличается от остальных.

Вернуться в PROGRESS - АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2