|
|
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> первичным, imho, является понимание того, что представляют собой mon$-таблицы Это первичным ИМХО не явлется, а когда речь касается рекомендаций/подсказок - вообще нафиг не нужная инфа. > сложно сказать, т.к. впервые системные таблицы мониторинга появились > в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет. > mon$ появились в Firebird в версии 2.1, которая вышла в 2008 году, т.е. 6 лет > назад (бета была в 2006 году). У тебя, похоже, с арифметикой совсем худо. Кроме того, я не уверен, что реализация таблиц мониторинга в IB как-то схожа с оными в FB. > ну а нафиг они нужны не снапшотом? Вот, и у тебя понимания предмета и целей нет, а других про суть вещей учить собрался. Это (смена уровня изоляции) обсуждалось уже раза три, ИМХО, не меньше, в т.ч. с твоим участием, если мне не изменяет память. ДЕ вроде тогда даже согласился, что пусть работают как RC, а кому надо - пусть вручную в снапшоте запускают. Но увы, это так и осталось на уровне разговоров (впрочем, тройка ещё не вышла, ХЗ). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:52:47 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov> Вторую половину срезал запрет на чтение простыми пользователями. Для этого есть гранты. Даже собирались на сей счёт отдельную роль вводить, если мне не изменяет память. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 11:53:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvну а нафиг они нужны не снапшотом? Чтобы видеть чем сервер мается в данную конкретную миллисекунду. kdvкак ты собираешься обеспечить целостность между mon$attachments и mon$transaction и остальным? Никак. Потому что ни к чему она для целей мониторинга. kdvКакой прок от чтения этих таблиц в нецелостном состоянии? См. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:01:48 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovвидеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен.Ты про содержимое mon$statements.sql_text ? Так можно user-trace на небольшое время запустить ив логе его глянуть. ИМХО, это менее напряжно будет для базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:05:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ТаблоидТы про содержимое mon$statements.sql_text ? Я про MON$TRANSACTIONS. Когда софтина получает в лоб "update conflict with transaction XXXXXX", возникает логичное желание посмотреть что это за транзакция и кому принадлежит. Немедленно. Не ожидая пока соберётся целый снапшот состояния. Вне зависимости от привилегий. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 12:26:44 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамКроме того, я не уверен, что реализация таблиц мониторинга в IB как-то схожа с оными в FB. а ты не помнишь, как я ругался (при выходе ИБ 7.5), что идея была из Firebird, а первой ее реализовал InterBase? Структура таблиц tmp$ и mon$ слегка отличается, например, в tmp$attachments есть уже "суммированные" столбцы по транзакциям и коннектам в отношении record/page io, и нет фишек типа remote process, исходно была возможность удалять коннекты и отменять транзакции, и т.д. Но смысл и назначение - ровно то же самое. Насчет "реализации" - она может быть какая угодно, и разумеется, в IB нет "реализации" tmp$ для классика, и код писали разные люди, но mon$ и tmp$ показывают одно и тоже. Например, в IBExpert пункты Services/Database monitoring показывают одинаковую информацию и для соединений с IB, и для соединений с FB, хотя запросы слегка разные. Например, Код: sql 1. выдаст то же самое, что и Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. Гаджимурадов РустамВот, и у тебя понимания предмета и целей нет, а других про суть вещей учить собрался. ну спасибо. Dimitry SibiryakovСм. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час. Потому что протекающие процессы мимолётны их снапшот - бесполезен. извини, но это чешуя. Потому что все равно чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения. "не снапшот" mon$ всего лишь облегчит серверу обращение к mon$ - не надо будет делать снапшот всех mon$ таблиц при обращении к любой, и на сотнях коннектов обращение к mon$ будет слегка побыстрее, чем N секунд - , но сути mon$ и сути использования mon$ это никак не поменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 13:25:58 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> Насчет "реализации" - она может быть какая угодно При чём тут смысл, назначения, поля и пр, если речь шла конкретно о реализации? Если бы таблицы мониторинга (что тут, что там) были "безвредными" при использовании, то и применять их можно было как угодно, в хвост и в гриву. Но у FB, увы, есть свои "особенности" (про IB не в курсе). kdv> ну спасибо. На здоровье. С таким подходом, действительно, какие-то общие рекомендации составлять не стоит. > извини, но это чешуя. Чешуя - это то, что ты тут написал. Во-первых, если это облегчит работу серверу - это хорошо или плохо? Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. В-третьих, про суть использования mon$ у каждого своя - у тебя своя, у него своя (и я с ним согласен), у кого-то третьего - будут свои цели, тут можно долго рассуждать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 13:50:26 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВо-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. и ты меня еще попрекаешь "непониманием предмета"? mon$ заполняются не при старте транзакции, а при первом обращении к любой mon$, и данные там будут вовсе не на "момент старта транзакции". а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию. Гаджимурадов РустамНо у FB, увы, есть свои "особенности" (про IB не в курсе). у IB все то же самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 17:04:25 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию. Ну и? > у IB все то же самое. В смысле те же тормоза? Или тоже тормоза, но не такие жёсткие? У них же SMP много раньше появилось, там нет оптимизаций? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 17:30:37 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамНу и? признавать свою ошибку будешь, или как? а то брякнуть легко: " Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. " Гаджимурадов РустамВ смысле те же тормоза? Или тоже тормоза, но не такие жёсткие? У них же SMP много раньше появилось, там нет оптимизаций? давай, включи мозг. У IB есть только суперсервер, все коннекты в одном адресном пространстве, соответственно таблицы мониторинга можно быстро заполнить. У ФБ наиболее используемы Classic, где процессы самостоятельны, поэтому любое обращение к mon$, даже гипотетически RC, должно опросить все запущенные процессы (при этом сами процессы могут заниматься всяким разным). То есть, сейчас обращение к mon$ получает всю инфу из процесса. Теоретическое RC будет получать только нужную инфу из процессов - mon$transactions, mon$statements, и т.д. Но получение даже частичной информации все равно будет ресурсозатратным. В SuperClassic обращение к mon$ должно быть побыстрее, но разницу разве что Таблоид может сказать. Кроме того, если бы (да кабы) для mon$ можно было ограничиваться своим id, например, при запросе с where mon$attachment_id = self оно бы спрашивало только "свой" процесс, исключая остальные... Но увы, в данном случае where работает "поверх" уже готового результата. Так что пока выгода от mon$ в RC лишь гипотетическая. Практическая - да, однозначно, но вопрос в % выигрыша. p.s. тестами сравнения mon$ в супере, классике и суперклассике, и tmp$, я не занимался, нет конкретного интереса. MonLogger запоминает время, которое потребовалось на получение информации из mon$, тут уже можно делать какие-то оценки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 18:29:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvВ SuperClassic обращение к mon$ должно быть побыстрее, но разницу разве что Таблоид может сказать.я не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. Про бешеный расход памяти забыли давно, а по скорости они ничем не уступает. Заваливается весьма редко, так что причин для возврата к CS нет. В трёшке опрос мониторинга идёт быстрее чем в 2.5 (при одинаковой арх-ре). kdvКроме того, если бы (да кабы) для mon$ можно было ограничиваться своим id, например, при запросе с where mon$attachment_id = self оно бы спрашивало только "свой" процесс, исключая остальные... Но увы, в данном случае where работает "поверх" уже готового результата.Угу. И это действительно - "увы" :-/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 19:08:49 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Таблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:02:51 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvТаблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments.я проверю это, но попозжее. Сейчас тут с новым ОЛТП-тестом ковыряюсь, много времени на него уходит. Кстати: а MonLogger, когда только-только я ткнул по нему мышкой, и до момента, когда он получит снимок мон-таблиц, - он вот этот промежуток времени где-то регистрирует ? Т.е. меня интересует: пишет ли он в лог время ОЖИДАНИЯ отклика всех коннектов на команду select ... from mon$... ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:09:30 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> признавать свою ошибку будешь, или как? а то брякнуть легко: Подучи русский язык. Каждый последующий вызов будет выдавать то же самое, независимо от момента выполнения. Но ты, конечно, можешь поспорить, что запрос делается на пару миллисекунд позже старта транзакции, да. > Но увы, в данном случае where работает "поверх" уже готового результата. Кстати, это тоже большой минус и заслуживает тикета. > Так что пока выгода от mon$ в RC лишь гипотетическая. > Практическая - да, однозначно Это просто феерия какая-то! В мемориз! (с) Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:28:28 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамПодучи русский язык. еще раз спрашиваю, ты признаешь, что содержимое mon$ не заполняется при старте транзакции, о чем ты лично заявил? " Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. " Гаджимурадов РустамЭто просто феерия какая-то! В мемориз! (с) а я где-то говорил, что разницы не будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 20:44:36 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> о чем ты лично заявил? Ты действительно не понимаешь смысл написанного? Даже с третьего раза? > а я где-то говорил, что разницы не будет? Трудно сказать, у нас разное понимание одних и тех же слов. "гипотетическая" и "Практическая" - да, это близко к сомнению, как минимум. Если не к мнению "а нафиг оно нужно" (о чём ты как раз точно заявлял). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 21:13:45 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамТы действительно не понимаешь смысл написанного? Даже с третьего раза? разъясни мне, пожалуйста, смысл тобой написанного. непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)? Гаджимурадов РустамЕсли не к мнению "а нафиг оно нужно" (о чём ты как раз точно заявлял). я не силен в использовании mon$ "a la Таблоид". Я их использую для поиска проблем. А для этого снапшот mon$ вполне достаточен. То, что я тоже был на стороне "mon$ аки RC в RC" - не спорю, и не протестую. Одновременно я вижу, что большинство и разработчиков и админов вообще не в состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 23:10:40 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdvОдновременно я вижу, что большинство и разработчиков и админов вообще не в состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует. Дык в том-то и вопрос: "для чего их на практике можно использовать?" Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы выяснить почему оно так тормозит на ровном месте. PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2014, 23:33:12 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
kdv> разъясни мне, пожалуйста, смысл тобой написанного. Если ты подзабыл, то всегда можно промотать страницу и перечитать, это дело пары секунд. А смысл очень простой - на данный момент mon-ы фризятся независимо от уровня изоляции транзакции - т.е. мало того, что это недешевая операция, так она ещё и в RC работать не будет - вернее, будет, но не как в RC, а как в снапшоте. Что обсуждалось уж года три, наверное, но воз и ныне там - то ли ДЕ чего-то опасается (несовместимость, неконсистентность и пр.), то ли "приоритет у тикета низкий", то ли с реализацией не определился, то ли ещё что. А тут ещё ты появляешься с противоположной ортодоксальной позицией в духе "оставьте всё как есть, консистентность наше всё!". Про то, что select (и delete?) игнорирует where-предикат я даже как-то забыл, но тут трудно что-то изменить, наверное. > непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)? Признать ошибку мне не жалко, даже если её не было. От меня не убудет. Но, если ты забыл, то напомню, что ты написал некую фигню, увтерждая что мнение собеседника - чешуя, а когда тебе в трёх пунктах объяснили, что это ты фигню несёшь - ты ухватился за разницу между моментом старта транзакции и запроса, как-будто кто-то утверждал, что стартанула транзакция - и все коннекты сразу данные в "мониторинг" скинули. > Я их использую для поиска проблем. > А для этого снапшот mon$ вполне достаточен > Одновременно я вижу, что большинство и разработчиков > и админов вообще не в состоянии использовать mon$ Ну, "мне не надо, как есть хватает, а большинство - вообще неграмотные" - хороший подход, достойный. :) Лично мне оно тоже мало нужно, знаешь ли, ибо ни в каких триггерах оно у меня не сидит. Но это не значит, что там нечего улучшать и подсказать этим самым "неграмотным" для чего и как лучше использовать. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 00:25:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы выяснить почему оно так тормозит на ровном месте. PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал. Дима,всё будет,связь с сервером получил только поздно вечером,уже поздно было что либо запускать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 07:15:01 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЕсли ты подзабыл, то всегда можно промотать страницу и перечитать, это дело пары секунд. я твою фразу тебе три раза привел, и перечитывал неоднократно. kdv - чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения. ГР - Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы. ? Гаджимурадов РустамНо, если ты забыл, то напомню, что ты написал некую фигню, увтерждая что мнение собеседника - чешуя, а когда тебе в трёх пунктах объяснили, что это ты фигню несёшь там была совершенно конкретная фраза про "чешую". 15871904 Твои "три пункта были" - про то, что mon$ в RC могли бы занимать меньше ресурсов - про то, что "на момент старта транзакции" - mon$ заполняются? Или что "на момент"? - про то, что при использовании mon$ у каждого свои цели. пункты 1 и 3 я не отрицаю, но они не относились к "видеть состояние сервера в данную миллисекунду и не час назад", что я и назвал чешуей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 12:35:11 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
ОК, нет, при старте старте транзакции все коннекты не ломятся формировать данные мониторинга. Это чрезвычайно важная корректировка, определяющая, особенно в контексте разговора. kdv> пункты 1 и 3 я не отрицаю Аминь и на этом. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 20:36:22 |
|
||
|
Обслуживание больших (>250 Гб) баз
|
|||
|---|---|---|---|
|
#18+
Какой топик у меня популярный получился,ещё бы кто нить помнил с чего всё началось:) http://www.sql.ru/forum/1088852-a/emulyaciya-hhd-ram ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2014, 21:24:51 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38613101&tid=1563701]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 436ms |

| 0 / 0 |
