powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обслуживание больших (>250 Гб) баз
25 сообщений из 98, страница 3 из 4
Обслуживание больших (>250 Гб) баз
    #38612286
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81Я так понимаю что производительность падала из-за того что эти таблицы
хламом набивались
Ага, ага. А бэкап-рестор тогда помогал с какого перепугу?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612393
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,

MonLogger пока по каким-то странным соображениям включен в FBScanner. Т.е. при покупке FBScanner оно доступно на deploy.ib-aid.com , отдельно от дистрибутива фбсканера.

ТаблоидА что это про него не знает ни гугль, ни сайт ib-aid.com ?
Там какая-нить триальная версия имеется ?
будем чинить это дело. Тебе - хоть сейчас вышлю, но не уверен, что у меня последняя версия.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612395
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvТебе - хоть сейчас вышлю, но не уверен, что у меня последняя версия.А вышли, плз, для "домашнего просмотра". Обещаю, разумеется, никуда никому не "показывать".
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612474
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидА вышли, плз, для "домашнего просмотра". Обещаю, разумеется, никуда никому не "показывать".
я твой email не нахожу. помню что p<номер>..., но ... Лезет только старое kuntsevo, от 2003 года. Кинь мне письмо на kdv@ibase.ru.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612481
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovNikolayV81Я так понимаю что производительность падала из-за того что эти таблицы
хламом набивались
Ага, ага. А бэкап-рестор тогда помогал с какого перепугу?..


Тоже подумал об этом, после написания. Непонятная ситуация...
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612503
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvКинь мне письмо на kdv@ibase.ru.Ушло.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612604
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидУшло.
пышло. как софтина?
надо сказать, что стали чаще встречаться разработчики-администраторы, которые насилуют (!) сервер обращением к mon$-таблицам каждые 5 сек или хотя бы 1 раз в минуту. Хочу заметить, что
- обращение к mon$ нагружает сервер
- при большом количестве пользователей (200-400) получение снимка mon$ даже в одном коннекте может занимать больше минуты
- mon$ скорее предназначены для поиска проблем в конкретный момент времени, но не для регулярного мониторинга

поэтому мы не стали делать сервис, который регулярно сохраняет состояние mon$. В сервисах по оптимизации мы советуем получать содержимое mon$ через MonLogger вручную, не чаще 5-6 раз в сутки. Этого вполне достаточно для определения проблем. Для определения остальных проблем производительности - другие средства.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612691
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvкак софтина?Пока не запускал, тут кое-чё надо доделать. Но я до неё доберусь, будь спок! :-)
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612747
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvнадо сказать, что стали чаще встречаться разработчики-администраторы, которые насилуют (!) сервер обращением к mon$-таблицам каждые 5 сек или хотя бы 1 раз в минуту. Хочу заметить, что
...
- mon$ скорее предназначены для поиска проблем в конкретный момент времени, но не для регулярного мониторинга

У себя использую 2 таких запроса:
Оба вызываются только одним пользователем

Получить список активных коннектов (раз в 15 мин)
Код: sql
1.
select list(mon$attachment_id) from mon$attachments where mon$attachment_id <> current_connection



Самая старая пишущая транзакция (часть репликации, примерно раз в 1 мин).
Код: sql
1.
select min(mon$timestamp), min(mon$transaction_id) from mon$transactions where mon$read_only = 0 and mon$attachment_id <> current_connection



Можно ли получить то, что мне надо каким либо иным способом? И стоит ли заморачиваться?
Пользователей 30-40
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612843
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийПолучить список активных коннектов (раз в 15 мин)
Код: sql
1.
select list(mon$attachment_id) from mon$attachments where mon$attachment_id <> current_connection



Самая старая пишущая транзакция (часть репликации, примерно раз в 1 мин).
Код: sql
1.
select min(mon$timestamp), min(mon$transaction_id) from mon$transactions where mon$read_only = 0 and mon$attachment_id <> current_connection

1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ?
2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612904
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ?
2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW.

1) Сами номера играю роль. Но здесь не столь важно
2) А если она еще не изменила?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612907
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийТаблоид1) что даст список id коннектов ? нужно просто их число или действительно сами номера играют роль ?
2) самая старая пишущая не значит, что она что-то поменяла с момента своего старта! я бы искал ту RW, что меняла данные, а не просто RW.

1) Сами номера играю роль. Но здесь не столь важно
2) А если она еще не изменила?ну так через минуту ведь снова будет опрос ? и если она поменяет, то будет самой старой.
Хотя всё равно не понимаю, что вы будете делать, если за эту минуту успела стартовать и быстро завершиться какая-то RW-транзакция, поменявшая данные: она же исчезнет из mon$transactions. И вслед за ней стартанет другая Tx - и вот её вы поймаете скоим скриптом. А с первой, "исчезнувшей", что делать ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612926
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк ЕвгенийПолучить список активных коннектов (раз в 15 мин)
и что это дает?
я не очень понимаю. Я понимаю, когда надо получить список длинных коннектов, там длинных транзакций, что они делали в это время, и т.д.
Если делать снимок mon$, то надо делать снимок всех mon$, и для исследования проблем, а не просто "раз в 15 минут".
Просто так делать снимки mon - не вижу смысла, вообще.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612933
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Товарищи, а почему бы нам хотя бы тут
(раз ни в каких доках этого нет) не составить
некие рекомендации и бест-практис для
использования таблиц мониторинга?

Скажем, навскидку мне представляется так:

1. Есть смысл использовать мон-таблицы
для получения информации "о себе" - для
контроля в db-триггерах, например.

2. Мало смысла использовать мон-таблицы
для контроля "загруженности" БД, кроме как
"на текущий момент" (т.е. вручную, а не в
фоне, автоматом). С увеличением количества
коннектов ситуация резко ухудшается. Для DBA
разумнее использовать аудит для этих целей.

3. Кроме п.1 основное назначение таблиц
мониторинга, ИМХО - это delete-операции
над ними (особенно "зависшие запросы").
Впрочем, тут надо уточнить у ДЕ или кто
там был автором концепта.

4. Еще пункты, замечания?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612940
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамсоставить некие рекомендации и бест-практис для использования
таблиц мониторинга?
Первая рекомендация по использованию таблиц мониторинга: не использовать таблицы мониторинга.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612950
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Ты, Зин, на грубость нарываешься, Все, Зин, обидеть норовишь (с)

ЗЫ. всему свой инструмент
ЗЗЫ. таблоид не в курсе и учить его бесполезно
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612953
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrТы, Зин, на грубость нарываешься, Все, Зин, обидеть норовишь (с)
А то! Сделала же чья-то светлая голова их снапшотом... Это снизило половину их стоимости.
Вторую половину срезал запрет на чтение простыми пользователями. Что полезного вообще
можно получить из сухого остатка - у меня при всей фантазии идей нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612984
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТоварищи, а почему бы нам хотя бы тут (раз ни в каких доках этого нет) не составить некие рекомендации и бест-практис для использования таблиц мониторинга?
первичным, imho, является понимание того, что представляют собой таблицы mon$ - содержимое, т.е. откуда берется информация, которую видно в mon$, как mon$ "наполняются", и т.п. Как только это становится понятно, остальные вопросы отпадают сами собой.
В противном случае возникает ситуация "я буду запрашивать mon$ каждые 5 секунд - 15 минут, только я не понимаю, зачем я это делаю".

Гаджимурадов РустамВпрочем, тут надо уточнить у ДЕ или кто там был автором концепта.
сложно сказать, т.к. впервые системные таблицы мониторинга появились в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет. mon$ появились в Firebird в версии 2.1, которая вышла в 2008 году, т.е. 6 лет назад (бета была в 2006 году).

Dimitry SibiryakovСделала же чья-то светлая голова их снапшотом...
ну а нафиг они нужны не снапшотом? как ты собираешься обеспечить целостность между mon$attachments и mon$transaction и остальным? Какой прок от чтения этих таблиц в нецелостном состоянии? Почитай fb-architect что-ли лет на 8 назад.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613002
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

иногда может быть достаточно консистентности на уровне запроса, чтобы джойны фигню не выдавали. А если читать разные таблицы отдельными запросами и ожидать чего-то вменяемого - тут уж ССЗБ. У меня давно уже есть желание привязать уровень снапшота мониторинга (транзакция/запрос) к уровню изоляции. Юзаешь снапшот - все работает как раньше, хочешь извращений - юзай RC. Как минимум один бонус тут есть - меньше транзакций стартовать, если нужно часто дергать мониторинг.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613020
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrЗЫ. всему свой инструмент
ЗЗЫ. таблоид не в курсе и учить его бесполезноВ смысле ? :-) В продакшене мы вытравили запросы к монам еще полтора года взад, когда столкнулись с необъяснимо долгой установкой коннектов. А в тесте на ОЛТП, который сейчас готовлю, запросы есть только в when-блоках, когда надо стек вызовов построить, дабы в базу его затолкать. Но это выключается легко одним исправлением.

А вообще, беспокоит два гондураса.
Г-1. Сейчас, если я запрашиваю только ОДНУ таблицу: select count(*)from mon$attachments - ФБ начнёт собирать инфу во все другие mon$-таблички, хотя они мне нафиг не нужны.
Г-2. Если база сильно загружена и я запустил какой-то сложный запрос к монам, то сбор инфы может длиться 10-15 минут (я такое много раз наблюдал). Допустим, ждать надоело и я срубил этот запрос. ФБ при этом всё равно будет продолжать сбор всей инфы, не реагируя на то, что ожидатель-получатель уже "ушёл."

Это будет как-то исправлено ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613027
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам1. Есть смысл использовать мон-таблицы для получения информации "о себе" - для контроля в db-триггерах, например.Что именно ? Есть несколько полезных контекст-переменных в SYSTEM. Лучше их брать, чем в mon$ лазить.

Гаджимурадов Рустам2. Мало смысла использовать мон-таблицы для контроля "загруженности" БД, кроме как "на текущий момент" (т.е. вручную, а не в фоне, автоматом). С увеличением количества
коннектов ситуация резко ухудшается.Тормозит ли сейчас база, выясняется пока что только эмпирически: либо усера орут, либо сам видишь. В любой базе есть несколько десятков запросов, которые выполняются сотни-тысячи раз в день, и которые всегда должны летать, т.е. их время должно быть до 30 мс. И вот если именно эти запросы начали клинить, тогда - точно, "ку-ку".
Полезно было бы иметь что-то типа watcher'a, который отслеживал бы падение скорости заранее вбитых в его память запросов (в параметризованном виде, ес-сно).

Гаджимурадов РустамДля DBA разумнее использовать аудит для этих целей.Аудит, запущенный с time_threshold = NNNN, где NNNN > 1000 (к примеру), не даст быстрого ответа: тормозит ли сейчас база или нет. Ибо там будут в т.ч. и запросы вида "Дай мне оборотку за 10 лет" - а это не признак заклинивания. Просто такие критерии задали.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613029
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже такую рекомендацию знаю, но нужно
таки быть объективным и привести хотя бы
пару примеров полезного применения. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613038
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЯ тоже такую рекомендацию знаю, но нужно таки быть объективным и привести хотя бы пару примеров полезного применения. :)Ты про периодическую отслежку времени вып-я запросов, которые должны "всегда летать" ? Или про какую рекомендацию речь ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613040
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид> Или про какую рекомендацию речь ?

Про ДСовскую "Зинкину грубость" - пост почему-то
только сегодня отослался, хотя написан был ещё вчера.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613044
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> появились в InterBase 7.0 как минимум в 2003 году, т.е. существуют в IB уже 15 лет.
Ась?.. Чавось???


--
Vladimir A.Bakhvaloff
E-Mail: zirra1969<bark>gmail<dot>com

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 98, страница 3 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обслуживание больших (>250 Гб) баз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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