Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Добрый вечер!
Приложение внешнее и 3-х звенное. Сервер приложений Web Sphere, DB2- 9.7. Непонятно, почему в базе такое количество rollback. Например 20 000 commit и почти такое же количество rollback.
Причем делаю скриптом проверку :
select COMMIT_SQL_STMTS,ROLLBACK_SQL_STMTS from SYSIBMADM.SNAPDB;

И даже в Toad счетчик растет после вышеуказанного скрипта, а вот если в командном окне выполнять тот же скрипт, то счетчик commit - ов не растет.
Может я чего то не понимаю и для DB2 нормальное такое количество commit и rollback, ведь это сервак должно грузить, не?
Спасибо знатокам Db2 за ответы!
18 фев 14, 18:35    [15584635]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Марк, может вы подскажите про "внутренности" DB2
19 фев 14, 12:20    [15588648]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4949
medoed,

Добрый день.

Ваш вопрос похож на "а это что, нормально для машины, что она едет со скоростью 60 км в какой-то промежуток времени и много сигналит". :)

(commit_sql_stmts + int_commits + rollback_sql_stmts + int_rollbacks) - это количество транзакций с момента активации базы.
Много это или мало - трудно сказать, т.к. ни нагрузка, ни время, за которое эти транзакции произошли вы не приводите.

Если вопрос о том, что соотношение commits и rollbacks выглядит странным, то это да. Но DB2 обычно сама не завершает транзакции, если её не просят. Может, у вас там код так в сфере написан, что оно так много откатывает.
Возьмите одно из соединений, которое больше всех откатывает, и посмотрите, что за запросы оно отправляет в базу с помощью event monitor for activities, например.
19 фев 14, 13:36    [15589589]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Mark Barinstein
medoed,

Добрый день.

Ваш вопрос похож на "а это что, нормально для машины, что она едет со скоростью 60 км в какой-то промежуток времени и много сигналит". :)

(commit_sql_stmts + int_commits + rollback_sql_stmts + int_rollbacks) - это количество транзакций с момента активации базы.
Много это или мало - трудно сказать, т.к. ни нагрузка, ни время, за которое эти транзакции произошли вы не приводите.

Если вопрос о том, что соотношение commits и rollbacks выглядит странным, то это да. Но DB2 обычно сама не завершает транзакции, если её не просят. Может, у вас там код так в сфере написан, что оно так много откатывает.
Возьмите одно из соединений, которое больше всех откатывает, и посмотрите, что за запросы оно отправляет в базу с помощью event monitor for activities, например.


Марк, спасибо за ответ! DB2 вообще странная, я бы сравнил её в разрезе стиральных машин, как вятка автомат с Bosh. Что там она крутит и вертит, непонятно (я про вятку), а вот с MSSQL (Bosh) там все ясно, там берёшь профайлер, которые не троит и настраиваешь на лету, хочешь по имени aplication, хочешь по login, по hostname и т.д.! Вы меня поймите, после того, как profiler db2 троит в логе простешие операции при аудировании, поверишь во что угодно))
Но впрочем ясно куда копать, в клиентское приложение спасибо!
19 фев 14, 15:20    [15590775]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4949
medoed,

Нет, я не могу вас понять. Если вы не разбираетесть в кнопочках на стиральной машине, вы не сможете нормально стирать.
Да, есть в event monitor for statements такая особенность, что он селект разбивает на части. Но почему это проблема DB2?
Не нравится, используйте event monitor for activities. Он не разбивает запросы на части, с ним вы можете делать абсолютно то же, что вы перечислили для MSSQL.
19 фев 14, 15:49    [15591044]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Mark Barinstein
medoed,

Нет, я не могу вас понять. Если вы не разбираетесть в кнопочках на стиральной машине, вы не сможете нормально стирать.
Да, есть в event monitor for statements такая особенность, что он селект разбивает на части. Но почему это проблема DB2?
Не нравится, используйте event monitor for activities. Он не разбивает запросы на части, с ним вы можете делать абсолютно то же, что вы перечислили для MSSQL.

И визуально настраивается, только с с помощью мыши event monitor for activities, без скриптов, без включения каких то опций на базе, да? Полный аналог SQL Profiler?
19 фев 14, 17:18    [15591872]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
medoed
Mark Barinstein
medoed,

Нет, я не могу вас понять. Если вы не разбираетесть в кнопочках на стиральной машине, вы не сможете нормально стирать.
Да, есть в event monitor for statements такая особенность, что он селект разбивает на части. Но почему это проблема DB2?
Не нравится, используйте event monitor for activities. Он не разбивает запросы на части, с ним вы можете делать абсолютно то же, что вы перечислили для MSSQL.

И визуально настраивается, только с с помощью мыши event monitor for activities, без скриптов, без включения каких то опций на базе, да? Полный аналог SQL Profiler?


Отвечу за Марка, в DB2 это надо скриптами делать, а в нормальных платформах - есть визуальные инструменты, встроенные в MS студию. Так что в очередной раз не зачет DB2, имхо...
19 фев 14, 17:26    [15591941]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4949
medoed,

В DataStudio правой кнопкой мыши на базе и Start Tuning.
Если интересно, посморите.
19 фев 14, 19:02    [15592810]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
m&m
Guest
medoed
... а в нормальных платформах - есть визуальные инструменты, встроенные в MS студию. Так что в очередной раз не зачет DB2, имхо...

по такой логике - aix не нормальная платформа. бо кнопочек для мыши нет.
19 фев 14, 19:30    [15593013]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Mark Barinstein,

Ну теоретически можно покрутить поставить [url= http://www.ibm.com/developerworks/ru/downloads/datastudio1/index.html ]студию[/url]. Но похоже, для каждой задачи в db2 своя студия нужна:-) Не появилось ничего толкового кстати для отслеживания online блокировок, чтоб прям было видно, кому плохо и скрипты виновника соответсвенно запрос виновник блокировок, желательно бы все визуально и наглядно, не?
19 фев 14, 22:58    [15594174]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
m&m
medoed
... а в нормальных платформах - есть визуальные инструменты, встроенные в MS студию. Так что в очередной раз не зачет DB2, имхо...

по такой логике - aix не нормальная платформа. бо кнопочек для мыши нет.

Ну да черный экран и батники, это то что нужно в 21 веке, за этим будущее:-):-):-)
19 фев 14, 22:59    [15594183]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
m'n'm
Guest
medoed
...черный экран и батники, это то что нужно в 21 веке, за этим будущее:-):-):-)

Лучше черный экран и скрытый в его зияющей абиссали искуcственный интеллект, управляющий всем.
20 фев 14, 12:32    [15597042]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
medoed
Не появилось ничего толкового кстати для отслеживания online блокировок, чтоб прям было видно, кому плохо и скрипты виновника соответсвенно запрос виновник блокировок, желательно бы все визуально и наглядно, не?


Не знаю насчёт "нового", но старое показывает блокировки довольно наглядно:

http://members.tripod.com/chuzhoi_files/index.html

вариант для 9.7 работает и с 10.5. Ну... качество этой утилиты неидеально, больше как демонстрация возможностей сойдёт. СУБД-то содержит в себе много чего интересного, а вот с гуем всё время как-то не везёт. Для 3d-party-разработчиков беда с комьюнити и платёжеспособным спросом. Иногда у меня случаются приступы вида "а не заняться ли самому", но как-то быстро проходят.
20 фев 14, 15:24    [15598927]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
medoed
Ну да черный экран и батники, это то что нужно в 21 веке, за этим будущее:-):-):-)

А вовсю используемая процедурная, то бишь dBase-во-Clipper'ная логика, внутри sql-сервера, в 21-м веке - это совершенно нормально, ага.
20 фев 14, 15:26    [15598953]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Victor Metelitsa
medoed
Ну да черный экран и батники, это то что нужно в 21 веке, за этим будущее:-):-):-)

А вовсю используемая процедурная, то бишь dBase-во-Clipper'ная логика, внутри sql-сервера, в 21-м веке - это совершенно нормально, ага.

Ога, Ога!!!

Это смотря на каких объемах работать, вы пробовали поправить какой нить скрипт посложнее, сгенеренный универсальным framework LINQ, например? Ну и по процедурному подходу работает магазин OZON (правда там конечно MSSQL), ничего вроде, летает)) И всякие Framework и конструкторы ала акцесс идут в сад , когда записей > 100 лямов...
20 фев 14, 16:17    [15599425]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Victor Metelitsa
medoed
Не появилось ничего толкового кстати для отслеживания online блокировок, чтоб прям было видно, кому плохо и скрипты виновника соответсвенно запрос виновник блокировок, желательно бы все визуально и наглядно, не?


Не знаю насчёт "нового", но старое показывает блокировки довольно наглядно:

http://members.tripod.com/chuzhoi_files/index.html

вариант для 9.7 работает и с 10.5. Ну... качество этой утилиты неидеально, больше как демонстрация возможностей сойдёт. СУБД-то содержит в себе много чего интересного, а вот с гуем всё время как-то не везёт. Для 3d-party-разработчиков беда с комьюнити и платёжеспособным спросом. Иногда у меня случаются приступы вида "а не заняться ли самому", но как-то быстро проходят.

Позвольте спросить и где вы там видите эскалацию блокировок (желательно в виде графа), кто виновник, кому плохо. Когда возникла блокировка и прям со скриптами (виновника и блокируемого)? У MSSQL, то что я описал раннее, есть утилиты, причем тоже бесплатные!
20 фев 14, 16:20    [15599469]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
m'n'm
medoed
...черный экран и батники, это то что нужно в 21 веке, за этим будущее:-):-):-)

Лучше черный экран и скрытый в его зияющей абиссали искуcственный интеллект, управляющий всем.

По мне уж лучше Windows c его мелкими недочетами и intelligence студий, чем командная строка и батники.
Но впрочем полно в мире извращенцев, зачем им интерфейс
20 фев 14, 16:25    [15599549]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
medoed
Позвольте спросить и где вы там видите эскалацию блокировок (желательно в виде графа), кто виновник, кому плохо. Когда возникла блокировка и прям со скриптами (виновника и блокируемого)? У MSSQL, то что я описал раннее, есть утилиты, причем тоже бесплатные!


Про эскалацию в виде графа не понял, про скрипты тоже (это вы так текущие выполняемые sql-выражения называете?), а дерево зависимостей блокировок показывается при включённом "show lock dependency". Control Center, царствие ему небесное, теоретически это тоже умел, насчёт нынешнего эклипсного инструмента не знаю (очень редко запускаю).
20 фев 14, 17:41    [15600316]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
С выражением "эскалация блокировок" я понимаю ситуацию, когда блокировки меньшей гранулярности (напр., блокировки на записи) преобразуются в блокировку большей (напр., таблицу целиком), а вы, наверное, что-то другое.

"Show lock dependency" - правой кнопкой по списку коннектов.

CC показывает меньше.
20 фев 14, 17:48    [15600366]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Victor Metelitsa
Member

Откуда: Тюмень
Сообщений: 2550
medoed
Это смотря на каких объемах работать, вы пробовали поправить какой нить скрипт посложнее, сгенеренный универсальным framework LINQ, например? Ну и по процедурному подходу работает магазин OZON (правда там конечно MSSQL), ничего вроде, летает)) И всякие Framework и конструкторы ала акцесс идут в сад , когда записей > 100 лямов...

Не знаю про сгенерённые скрипты, я вручную пишу. Записей обычно только десятки миллионов, но они весьма широкие (авиабилеты и связанное с ними).
20 фев 14, 17:51    [15600397]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Victor Metelitsa
medoed
Позвольте спросить и где вы там видите эскалацию блокировок (желательно в виде графа), кто виновник, кому плохо. Когда возникла блокировка и прям со скриптами (виновника и блокируемого)? У MSSQL, то что я описал раннее, есть утилиты, причем тоже бесплатные!


Про эскалацию в виде графа не понял, про скрипты тоже (это вы так текущие выполняемые sql-выражения называете?), а дерево зависимостей блокировок показывается при включённом "show lock dependency". Control Center, царствие ему небесное, теоретически это тоже умел, насчёт нынешнего эклипсного инструмента не знаю (очень редко запускаю).

Это вы про Data Studio говорите от IBM, в ней можно посмотреть зависимость блокировок? Я имел в виду, как бы иерархию именно запросов, на верхнем уровне, кто блокирует, ниже кого блокируют, ну и конечно запросы синфой, кто выполняет и сколько запрос уже выполдняется, чтоб у верхнего и нижнего уровня отображались эти данные. Мы используем Toad для работы Db2, надо конечно попробовать поиграться с Data Studio от IBM, может что то дельное появилось.
20 фев 14, 18:10    [15600571]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Victor Metelitsa
medoed
Это смотря на каких объемах работать, вы пробовали поправить какой нить скрипт посложнее, сгенеренный универсальным framework LINQ, например? Ну и по процедурному подходу работает магазин OZON (правда там конечно MSSQL), ничего вроде, летает)) И всякие Framework и конструкторы ала акцесс идут в сад , когда записей > 100 лямов...

Не знаю про сгенерённые скрипты, я вручную пишу. Записей обычно только десятки миллионов, но они весьма широкие (авиабилеты и связанное с ними).

Я имел в виду автомат, не всегда прокатывает на больших объемах, а процедура как раз может выручить, скрипт может затеряться, а процедура, вроде как родная вещь для РСУБД, имхо!
20 фев 14, 18:12    [15600583]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4949
medoed
Не появилось ничего толкового кстати для отслеживания online блокировок, чтоб прям было видно, кому плохо и скрипты виновника соответсвенно запрос виновник блокировок, желательно бы все визуально и наглядно, не?

Насчет графики - мне она не нужна для задачи понять, как решить проблему. Как правило в онлайне такие проблемы не решаются.
Мне гораздо удобнее получить в файлах истории транзакций и потом их анализировать. Вряд ли я буду сидеть и наблюдать за базой в онлайне. Информацию удобнее накапливать в соотв. мониторе и потом спокойно анализировать в удобное для этого время.
Но если очень хочется, то есть MON_LOCKWAITS, раньше была SNAPLOCKWAIT.
Из этого представления можно довольно просто сделать дерево со всей информацией, и если я увижу, что блокировка висит "долго", то я могу отключить виновника сразу.
Историю транзакций всех участников я могу получить на сервере командой
db2pd -apinfo
Графика для этого мне опять же не нужна.
21 фев 14, 18:00    [15607000]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
medoed
Member

Откуда:
Сообщений: 944
Mark Barinstein
medoed
Не появилось ничего толкового кстати для отслеживания online блокировок, чтоб прям было видно, кому плохо и скрипты виновника соответсвенно запрос виновник блокировок, желательно бы все визуально и наглядно, не?

Насчет графики - мне она не нужна для задачи понять, как решить проблему. Как правило в онлайне такие проблемы не решаются.
Мне гораздо удобнее получить в файлах истории транзакций и потом их анализировать. Вряд ли я буду сидеть и наблюдать за базой в онлайне. Информацию удобнее накапливать в соотв. мониторе и потом спокойно анализировать в удобное для этого время.
Но если очень хочется, то есть MON_LOCKWAITS, раньше была SNAPLOCKWAIT.
Из этого представления можно довольно просто сделать дерево со всей информацией, и если я увижу, что блокировка висит "долго", то я могу отключить виновника сразу.
Историю транзакций всех участников я могу получить на сервере командой
db2pd -apinfo
Графика для этого мне опять же не нужна.

Марк, я уважаю Вас как специалиста, это правда! Но что вы имеете против, насчет графики, зачем мне настраивать какие то мониторы, лазить по файлам, копаться в логах и мониторить транзакции? Как раз в online и удобно, поставил себе админ утилиту, оперативно выявил проблему и закрыл, через час, а не на следующий день, разбирая суточные логи! Насчет накапливания можно и так, настроил SQL профайлер, визуально на запросы и ждешь сколько нужно, потом опять же можно выгрузить хоть в файл трассировки, хоть в xml формат (или тоже логирование в файл).
Ну и чтобы добить Вас и ваши доводы))) В MSSQL уже в 2005 SQL появились операторы pivot и unpivot например, а как с этим в Db2.
Ну и как следствие слабости Db2, в том числе вот: T-SQL язык года
Марк, сильно не расстраивайтесь, уверен к 15 версии Db2, они подтянут (если конечно раньше не закроют её).
24 фев 14, 10:46    [15617709]     Ответить | Цитировать Сообщить модератору
 Re: Колич-во commit и rollback - непонятно...  [new]
A.Panskikh
Member

Откуда: Москва
Сообщений: 120
"товарис-ч не понимает, товарисчу нужно объяснить"

medoed,

когда выполняются тысячи транзакций в секунду, совершенно непонятно что там визуализировать? Поэтому специалисты, обслуживающие такие системы смотрят на вас с недоумением. В db2 нет готовых графических тулзов, потому что предоставляемые интерфейсы позволяют получить видение на систему в любом виде не напрягаясь. И любой специалист имеет собственный набор подобных инструментов, под разные задачи и системы. И практически все они являются скриптами, работающими в автономном режиме. Хотите графики рисовать - тот же perfmon цепляет счетчики от db2.

Если вам необходимо разобраться в блокировках - есть несколько возможностей. Самый простой и эффективный, IMHO,

db2set DB2_CAPTURE_LOCKTIMEOUT=ON

Если необходимо раскопать глубже, включаете трассировку.

Andy

Знакомящиеся с юниксами сначала бьются в истерике, потом читают документацию и блаженствуют.
Знакомящиеся с виндами сначала блаженствуют, потом читают документацию ...
26 фев 14, 09:04    [15630341]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить