powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Отключение запросов при длительности более установленного предела по времени
15 сообщений из 15, страница 1 из 1
Отключение запросов при длительности более установленного предела по времени
    #38740409
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
1. Получил задание от начальника обеспечить отключение запросов клиентов БД при длительности более установленного предела по времени (ну пока он выбрал 30 сек).
Потому что могут при большом наплыве завалить все сайты.
Сам в данном пока точно не силен, и хочу попросить помощи, что надо сначала почитать, какой примерно общий план должен быть.
2. Ранее получал задание включить монитор тяжелых запросов, по времени.
ИМХО, ведь данное связано все, не так ли?
В общем, буду благодарен любой подсказке по плану действий общему и по тому, с чего начать читать.
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38743262
A.Panskikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Тарасенко,

RTFM! Либо смотрим на устаревший гувернер, который поволит убивать коннекты по пороговым значениям uow, либо сразу смотрим на workload manager.

Andy
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38745521
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда такой вопрос, а его (Workload manager) скачать и установить надо? либо он уже входит в комплект ИБМ, его только подключить надо?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38746751
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понимаю, что это надстройка DB2, и начиная только с версии 9.7?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38747456
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Александр Тарасенко1. Получил задание от начальника обеспечить отключение запросов клиентов БД при длительности более установленного предела по времени (ну пока он выбрал 30 сек).Какая версия db2, и на чем написаны клиентские приложения?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38748900
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия DB2 на веб-сервере:

Код: plsql
1.
2.
3.
DB21085I  Instance "db2inst" uses "32" bits and DB2 code release "SQL09019" with level identifier "020A0107".
Informational tokens are "DB2 v9.1.0.10", "s110109", "MI00380", and Fix Pack "10".
Product is installed at "/opt/db2/v9.1"



Клиентские приложения - IBM Lotus Notes 7.

В планах был перенос на версию 9.7, но когда именно будет - неизвестно.
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38749846
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр ТарасенкоВерсия DB2 на веб-сервере:

Код: plsql
1.
2.
3.
DB21085I  Instance "db2inst" uses "32" bits and DB2 code release "SQL09019" with level identifier "020A0107".
Informational tokens are "DB2 v9.1.0.10", "s110109", "MI00380", and Fix Pack "10".
Product is installed at "/opt/db2/v9.1"



Клиентские приложения - IBM Lotus Notes 7.

В планах был перенос на версию 9.7, но когда именно будет - неизвестно.
Я не знаю, что используют в Lotus Notes для написания программ.
Если JDBC, то свойство http://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.wn.doc/doc/c0051316.html?lang=encommandTimeout появилось в 9.7.7, и, по-моему, в 9.1 и 9.5 его нет.
Вам придется использовать java.sql.Statement.setQueryTimeout метод, т.е. изменять приложение.

Если CLI, то там примерно та же картина - в 9.1 конфигурационного параметра (QueryTimeout) нет, можно только SQL_ATTR_QUERY_TIMEOUT атрибут установить программно.
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38798850
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Если CLI, то там примерно та же картина - в 9.1 конфигурационного параметра (QueryTimeout) нет, можно только SQL_ATTR_QUERY_TIMEOUT атрибут установить программно."

Марк, а можно чуть подробнее, плиз?
установить где данный параметр?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38799106
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Тарасенко,

rc = SQLSetStmtAttr (hstmt, SQL_ATTR_QUERY_TIMEOUT, (SQLPOINTER)600, SQL_IS_UINTEGER);
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38803096
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще один вопрос в данной теме, по Говернеру, db2gov.
Какой существует способ, чтобы повесить его автостартом на БД, чтобы работало при запуске БД и соот-но выключалось затем?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38803752
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запустил DB2 Governor в расписании.
На базе DB2 9.7 все ОК.

Но на базе 9.1, где собственно и надо реализовать прерывание процессов, почему-то не пашет FORCE.
Тот же формат, что выполнялся на DB2 9.7:

Код: plaintext
1.
2.
3.
interval 1; dbname ibmsampl; account 1;

time 9:00 20:00 setlimit cpu 30 action force;

в логе гувернера записи о запуске процессов есть, они физически длятся больше 30 секунд.
Но вот прерываться - не прерываются и соот-но в логе записей с FORCE нет.
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38804542
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ТарасенкоЗапустил DB2 Governor в расписании.
На базе DB2 9.7 все ОК.

Но на базе 9.1, где собственно и надо реализовать прерывание процессов, почему-то не пашет FORCE.
Тот же формат, что выполнялся на DB2 9.7:

Код: plaintext
1.
2.
3.
interval 1; dbname ibmsampl; account 1;

time 9:00 20:00 setlimit cpu 30 action force;

в логе гувернера записи о запуске процессов есть, они физически длятся больше 30 секунд.
Но вот прерываться - не прерываются и соот-но в логе записей с FORCE нет.

данный вопрос закрыт (дело было в настройках самой БД, database monitor настройки были OFF) ,

однако все-таки очень хотелось бы узнать, как сделать так, чтобы при перезапуске сервера (и соответственно всех БД DB2 на ней) данный процесс (db2gov) включался на нужной БД?
т.е. обеспечение автостарта процесса есть ли?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38816086
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ТарасенкоВсе-таки очень хотелось бы узнать, как сделать так, чтобы при перезапуске сервера (и соответственно всех БД DB2 на ней) данный процесс (db2gov) включался на нужной БД?
т.е. обеспечение автостарта процесса есть ли?

попробую повториться плиз ...
Как сделать так, чтобы процесс DB2 Governer стартовал при перезапуске инстанса и соответственно необходимой БД DB2?

Может ли это быть связанным с тем, что в IBM DB2 Express-C:
Код: plaintext
The following extra features are not supported: Advanced Copy Services, row compression, connection concentrator, DBF partitioning,  DB2 governor , PureScale data sharing, geodetic extender, HADR, Homogeneous Q replication, Sybase compatibility, Label Based Access Control, Row and Column Access Control (RCAC), MQT's, MDC, online reorg, query parallelism, query patroller, table partitioning and workload management.
?

и, если этот тот самый вариант, есть ли способ (ну кроме покупки платной версии) автозапуска гувернера?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38816491
Александр Тарасенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новые вводные, сорь
у меня IBM DB2 Enterprise Server Edition.
Отсюда и вопросы:
1. Есть ли какой-то настроечный файл Гувернера? типа того, что запускается при db2gov start, но забитый по умолчанию и где он находится?
2. Как его включить?
3. Есть ли какие-то ограничения либо противопоказания для запуска гувернера при помощи расписания процессов LDAP, например в Apache Directory Studio?
...
Рейтинг: 0 / 0
Отключение запросов при длительности более установленного предела по времени
    #38816764
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Александр Тарасенко,

С помощью Task Center повесьте выполнение процедуры раз в несколько минут.
my_db2gov
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
create procedure my_db2gov(p_maxtime int, p_force int, out p_handles_to_force varchar(128))
begin
  select substr(xmlserialize(
  xmlquery('$L/text()' passing XMLAGG(XMLELEMENT(NAME "a", ','||rtrim(char(i.agent_id)))) as "L")
  as varchar(128)), 2) into p_handles_to_force
  from sysibmadm.snapappl_info i
--  join sysibmadm.snapstmt s on s.agent_id=i.agent_id
  join sysibmadm.snapappl a on a.agent_id=i.agent_id
  where i.appl_id<>application_id()
--  and s.stmt_stop is null and timestampdiff(2, char(current timestamp - s.stmt_start)) > p_maxtime
  and a.uow_stop_time is null and timestampdiff(2, char(current timestamp - a.uow_start_time)) > p_maxtime
  ;

  if (coalesce(p_handles_to_force, '') <> '' and p_force=1) then
    call admin_cmd('force application ('||p_handles_to_force||')');
  end if;
end@



В примере:
Код: plaintext
call my_db2gov(30, 1, ?)
будет отключать приложения, выполняющие транзакцию более 30 секунд (в данный момент приложение может не выполнять команд вообще, а только иметь открытую транзакцию более 30 секунд).
При этом надо включить параметры инстанса: DFT_MON_TIMESTAMP, DFT_MON_UOW

Если надо отключать активные долго играющие запросы, закомментируйте 2 строки с использованием sysibmadm.snapappl и ее полей и раскомментируйте 2 строки с использованием sysibmadm.snapstmt и ее полей.
При этом надо включить параметры инстанса: DFT_MON_TIMESTAMP, DFT_MON_STMT.

Нет под рукой 9.1, но должно работать.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Отключение запросов при длительности более установленного предела по времени
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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