powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обслуживание больших (>250 Гб) баз
98 сообщений из 98, показаны все 4 страниц
Обслуживание больших (>250 Гб) баз
    #38607827
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Поделитесь своим опытом обслуживания больших БД. У меня такая ситуация - есть база ПО АСУТ S-Market ( http://s-market.ru/), размер в данный момент 210 Гб, число коннектов 270-300. Т.к. наша торговая сеть расширяется, увеличивается кол-во магазинов и следовательно число работающих в БД и её размер расширяется. Приходится делать бэкап-рестор,но интервал между ними постоянно уменьшается,а время рестора увеличивается. Для того,чтобы жилось спокойно провожу такие работы по БД:
1. Само собой бэкап-рестор раз в 2-3 месяца (чаще не могу - база работает 24/7,реже - база начинает подтормаживать,ну и рестор идет 14 часов)
2. Каждый день sweep (sweep interval давно уже в 0), после него проверка через gtat-h на предмет застрявших транзакций
3. Каждый день после sweep пересчет селективности индексов (запустил совсем недавно,пока не понятно есть польза или нет от него)
4. Обрезка таблиц перед каждым бэкап-рестором (получаем 10-30 Гб уменьшения БД)
5. Запущена трассировка на поиск медленных запросов (недавно,так что пока ничего не "поймала")
6. Firebird.conf переписан под конфигурацию сервера
Теневые копии и репликацию не использую.
Моё беспокойство в чем - база растет,время между b/r уменьшается, время рестора увеличивается (за год с 8 до 14 часов). Настанет скоро момент,когда ресторится придется раз в месяц и по двое суток. Как можно продлить жизнь БД или ускорить рестор?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38607895
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarрепликацию не используюКак вариант увеличения доступности сделать фаиловер кластер на репликации. Пока проводишь сервисные работы на основной ноде, работает вторая, закончил обслуживание, вернул репликацию, базы выровнялись и можешь снова переключать юзеров на основную ноду. Если клиентская часть программы в будет уметь переключаться, то юзер вообще ничего не заметит, если нет, ну потратится минутка на переконнект, ни о каком даунтаме в полдня речь уже не идет.

Как вообще можно говорить о работе 24х7 если нет кластера?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38607904
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,я такую схему хочу с ibreplicator реализовать,разговаривал с разработчиком и Димой Сибиряковым,они одобрили. Я ещё не тестировал репликацию на продуктиве и боюсь просадки производительности.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38607936
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> 1. Само собой бэкап-рестор раз в 2-3 месяца (чаще не могу - база работает
Gallemar> 24/7,реже - база начинает подтормаживать,ну и рестор идет 14 часов)

А как вообще периодичность рестора выбирается и осуществляется, если 24х7?
Обычно, 24х7 - это, на самом деле, такая фикция, не мешающая рестору.
Ну и плюс есть nbackup (хоть и не буду его советовать) и репликация.

> 2. Каждый день sweep, после него проверка через gtat-h на предмет застрявших транзакций

А вот расскажи-ка про этот пункт поподробней - вручную делается или автоматизировано?

> 4. Обрезка таблиц перед каждым бэкап-рестором (получаем 10-30 Гб уменьшения БД)

Удаление старых записей что ли?

> 5. Запущена трассировка на поиск медленных запросов
> (недавно,так что пока ничего не "поймала")

Так ты какой фильтр по времени-то поставил? Уменьши.

> база растет,время между b/r уменьшается

А почему оно уменьшается, кстати?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38607945
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,
При 24/7 выбираем сутки,договариваемся что товароучет не будет работать,после согласований получаю возможность проводить работы.
Репликация и nbackup не ускорят БД,а b/r провожу именно с этой целью. Nbackup кстати у меня меня есть как альтернатива gbak.
После свипа запускается gstat -h >C:\S-Market\LOG\db_stat_%date%_%VTime%.txt, ну и смотришь данные по счетчикам. Я смотрю сам,а другие через 1с, там есть обработка для этого.
Обрезку данных осуществляю обрезкой старых данных.
Трассировку запустил вчера,так что статистики просто не набрал.
Почему уменьшается время рестора - так база на месте не стоит и "подрастает"
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38607978
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> Репликация и nbackup не ускорят БД,а b/r провожу именно с этой целью

Странная цель. Тем более, если ничего в этой части
(мусор, счётчики) особо не тормозит, о чём тебе уже говорили.

> ну и смотришь данные по счетчикам. Я смотрю сам,

В смысле глазами или парсишь?

> а другие через 1с, там есть обработка для этого.

В смысле, 1С конкретно к FB привязывается или свю внутреннюю
слежубную инфу сообщает? Я просто не в курсе, аж интересно стало.

> Обрезку данных осуществляю обрезкой старых данных.

Дык я и спрашиваю - в чём она заключается? Это архивные данные,
которые в оперативном бэкапе не нужны (ибо есть в архивах) ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608000
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,
База начинает торможить к концу второго месяца после рестора.
Данные по gstat -h смотрю глазами, руки не доходят автоматизировать,т.к. проблема с счетчиками вылезает раз в 2 года.
1с целяется по odbc и тянет запрос из mon$database, потом высчитывается разницу,если больше n - делает оповещение.
Данные обрезаются по документам и продажам,т.к. они есть в OLAP и держать в оперативной базе их не надо.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608037
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar> База начинает торможить к концу второго месяца после рестора.

Это глазами видно и измеряемо? При ежедневном свипе-то?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608040
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roadster

Модератор: Не надо устраивать тут филиал ПТ, пришел в наш раздел, говори по делу.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608049
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar База начинает торможить к концу второго месяца после рестора.

Маловероятно конечно, но такое впечатление что по симптомам смахивает на чрезмерную фрагментацию fs.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608052
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики. Сейчас, когда это добавлено, имеет смысл посмотреть возникнет ли снова проблема или нет. Ибо свип + пересчет статистики это вполне достаточная замена рестора с т.з. производительности.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608055
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> тормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики.

Насколько я понимаю, стабильная периодическая проблема с индексами
может быть при высокой нагрузке и индексах по датам. Да и то - шибко
постараться надо, наверное.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608064
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar1. Само собой бэкап-рестор раз в 2-3 месяцаЭто ни разу не само-собой. Это путь в никуда, и ты это уже начинаешь ощущать.
Мониторь запросы, когда "база начинает подтормаживать" и делай выводы.
Возможно тебе достаточно пару индексов перестроить, а не всю БД пересоздавать.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608098
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамGallemar> База начинает торможить к концу второго месяца после рестора.

Это глазами видно и измеряемо? При ежедневном свипе-то?

Измерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов).
Если свип убрать база начнет тормозить уже через пару-тройку недель.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608108
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrтормоза через два месяца могли быть вызваны как раз отсутствием пересчета статистики. Сейчас, когда это добавлено, имеет смысл посмотреть возникнет ли снова проблема или нет. Ибо свип + пересчет статистики это вполне достаточная замена рестора с т.з. производительности.
Ок,буду смотреть что станет с БД через пару месяцев. Вообще,в начале работы свип отсутствовал вообще (sweep interval выставили в нуль,а запуск вручную зачем то закомментировали), и база начинала тормозить через три недели,после включения свипа вручную - работала три месяца.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608123
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarГаджимурадов РустамGallemar> База начинает торможить к концу второго месяца после рестора.

Это глазами видно и измеряемо? При ежедневном свипе-то?

Измерить не получает,но при работе с ПО ощутимо (медленные выборки,медленные отчеты,медленная запись документов).
Если свип убрать база начнет тормозить уже через пару-тройку недель.

как вариант, на вскидку, b/r создаёт файл в котором таьблицы/индексы и прочие данные расположены упорядочено, если есть запросы идущие natural-ом, то из-за особенностей ввода вывода даже на маленьких табличках, может идти постепенное уменьшение производительности ( после b/r всё работает шустро, но fullscan по размазанной по файлу/диску таблице, в которой пограничная длина строки сильно замедляется ).
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608130
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81> по размазанной по файлу/диску таблице,
NikolayV81> в которой пограничная длина строки сильно замедляется

Это ппц сколько бреда в одном посте про SSD можно написать...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608131
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81из-за особенностей ввода выводаУ автора вроде на ssd все.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608153
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,верно,SSD OCZ Vertex 3 Max Iops, 8 штук, RAID10
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608168
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамNikolayV81> по размазанной по файлу/диску таблице,
NikolayV81> в которой пограничная длина строки сильно замедляется

Это ппц сколько бреда в одном посте про SSD можно написать...


Не увидел в теме, беру свои слова обратно...
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608251
heckfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemar, могу порекомендовать следующее

1.поддерживайте статистику БД в актуальном состоянии, особенно по тем таблицам, по которым большой % изменений I/U/D от общего объема таблицы;

2. также следует следить за выполняющимися SQL, отыскивать медленные, проводить их анализ и оптимизацию. Возможно, существующие индексы становятся неэффективными или опять же, виновата статистика;

3. задумайтесь о репликации данных на slave-server, в перспективе нужно иметь отказоустойчивый кластер.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608256
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heckfi,
по поводу пункта 3 - собираюсь делать репликацию через Ibreplicator, планы вынашивал давно, но пока воздерживался от установки на продуктив. Вызывает опасение возможность сильной просадки по производительности.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608276
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

ibtm ставил? статистика по транзакциям собирается?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608277
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heckfi, могу порекомендовать следующее

1. почитать предыдущие ответы, а не только первый пост.
2. присоединиться к советам, опровергнуть их или дописать свои, но не выступать в качестве К.О.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608278
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarИзмерить не получает,но при работе с ПО ощутимо (медленные
выборки,медленные отчеты,медленная запись документов).
А использовать в этот момент gstat и IBAnalyst, конечно же, ни у кого руки не дошли...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608290
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGallemarИзмерить не получает,но при работе с ПО ощутимо (медленные
выборки,медленные отчеты,медленная запись документов).
А использовать в этот момент gstat и IBAnalyst, конечно же, ни у кого руки не дошли...

Хм,а так я что увижу? Картина по плохим индексам и большим таблицам одна
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608291
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGallemar,

ibtm ставил? статистика по транзакциям собирается?
Нет
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608293
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Ну вот видишь, сколько ещё всего можно посмотреть и замерить :)
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608299
heckfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WildSeryheckfi, могу порекомендовать следующее

1. почитать предыдущие ответы, а не только первый пост.
2. присоединиться к советам, опровергнуть их или дописать свои, но не выступать в качестве К.О.

Вам тоже могу порекомендовать не тралить, а писать по делу.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608302
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryGallemar,

Ну вот видишь, сколько ещё всего можно посмотреть и замерить :)
С ibtm была такая проблема - при коннекте более 200 пользователей вылетал с ошибкой,может сейчас этой проблемы не будет,надо пробовать.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608309
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarХм,а так я что увижу? Картина по плохим индексам и большим таблицам одна

1) Это тебе только кажется.
2) Не только индексами и большими таблицами тормозят сервер.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608310
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarС ibtm была такая проблема - при коннекте более 200 пользователей вылетал с ошибкой
нет такой проблемы. ibtm это такой же клиент, как и твои приложения. Если "ibtm вылетал с ошибкой", то и твои другие коннекты свыше 200 тоже должны были вылетать.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608318
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,Дима,я могу ошибаться,ставил давно. Может аналогичная твоя программа,я помню что она работала как сниффер,пропускала через себя данные,приходилось менятьеё порт на порт ФБ.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608346
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarМожет аналогичная твоя программа,я помню что она работала как сниффер
она не моя, а наша, и это FBScanner. И - да, когда-то и в зависимости от условий могло затыкаться больше 200 коннектов. Но времена меняются, и сейчас несколько другие задачи, при которых через FBScanner пускать все коннекты не требуется. Т.е. можно, но не нужно.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608683
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
heckfiВам тоже могу порекомендовать не тралить, а писать по делу.
Слушаюсь!
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38608859
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,я транзакции при необходимости смотрю через mon$, завтра гляну ibtm.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38611142
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarkdv,я транзакции при необходимости смотрю через mon$, завтра гляну ibtm.
о боже...
прочитай www.ibase.ru/devinfo/optimize.htm .

p.s. ну как же так - вроде база большая, и пользователей достаточно. И про производительность ты интересуешься. Но когда доходит дело до "измерений" - натуральный epic fail.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38611152
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

через ibtm не надо "завтра" глядеть. Его надо было поставить когда тебе об этом говорили (год назад?), и смотреть через 3-4 дня после установки. И до сих пор бы он тихо-мирно собирал данные, которые можно было бы изучать в любой момент.

mon$ ты в любой момент можешь посмотреть. Только вот что ты будешь делать, туда посмотрев? Т.е. что ты ожидаешь увидеть в mon, чтобы тебя увиденное сподвигло на какие-то (какие) действия?

К слову, у нас есть MonLogger для сохранения снимков mon$ и их последующего изучения.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38611554
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,да нет,я на самом деле хороший:) Исправляюсь понемногу.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38611562
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvК слову, у нас есть MonLogger для сохранения снимков mon$ и их последующего изучения.А что это про него не знает ни гугль, ни сайт ib-aid.com ?
Там какая-нить триальная версия имеется ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38611582
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоид,попался!!!!!:) Почту проверь!!!
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612173
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружился старый косяк при обновлении - часть таблиц GTT оказались обычными, при переходе с interbase на firebird часть скриптов не выполнились.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612184
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarОбнаружился старый косяк при обновлении - часть таблиц GTT оказались обычнымиВот вроде каждое слово понимаю, а вместе - никак...
О чём речь-то ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612194
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,да я про потерю производительности. Это возможно одна из причин.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612199
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarчасть скриптов не выполнились
Не выполнилась та часть скриптов, которая из обычных таблиц делала GTT? Или как это связано с GTT?
Gallemarчасть таблиц GTT оказались обычными
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612204
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanНе выполнилась та часть скриптов, которая из обычных таблиц делала GTT? Или как это связано с GTT?


Именно
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612215
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarИменно
Как из обычной таблицы можно сделать временную?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612224
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drop/create :)
Больше удивляет другое: тема стартанула когда себе, а про то, что обновление структуры базы прошло с ошибкой - узнаётся только сейчас ...
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612263
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorovdrop/create :)
Больше удивляет другое: тема стартанула когда себе, а про то, что обновление структуры базы прошло с ошибкой - узнаётся только сейчас ...

Ошибок то небыло ;)

Я так понимаю что производительность падала из-за того что эти таблицы хламом набивались, ведь получается что на логику данные не влияли?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38612270
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А такое вообще легально ?
Код: sql
1.
2.
create table ttt (id int NOT NULL);
recreate global temporary table ttt (id int NOT NULL);


recreate вообще что делает ? Это синтаксический сахар для drop+create ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>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
Обслуживание больших (>250 Гб) баз
    #38613046
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613047
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov> Вторую половину срезал запрет на чтение простыми пользователями.

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

kdvкак ты собираешься обеспечить целостность между mon$attachments и
mon$transaction и остальным?
Никак. Потому что ни к чему она для целей мониторинга.

kdvКакой прок от чтения этих таблиц в нецелостном состоянии?
См. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час.
Потому что протекающие процессы мимолётны их снапшот - бесполезен.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613056
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovвидеть состояние сервера в данную миллисекунду. А не секунду назад и не час.
Потому что протекающие процессы мимолётны их снапшот - бесполезен.Ты про содержимое mon$statements.sql_text ? Так можно user-trace на небольшое время запустить ив логе его глянуть. ИМХО, это менее напряжно будет для базы.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613066
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидТы про содержимое mon$statements.sql_text ?
Я про MON$TRANSACTIONS. Когда софтина получает в лоб "update conflict with transaction
XXXXXX", возникает логичное желание посмотреть что это за транзакция и кому принадлежит.
Немедленно. Не ожидая пока соберётся целый снапшот состояния. Вне зависимости от привилегий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613085
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамКроме того, я не уверен, что реализация таблиц мониторинга в 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.
select * from tmp$attachments 

выдаст то же самое, что и

Код: 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.
SELECT a.mon$attachment_id as "Attachment ID", 
       a.mon$state as "State", 
       a.mon$user as "User", 
       a.mon$role as "Role", 
       a.mon$remote_address as "Remote Address", 
       a.mon$remote_pid as "Remote PID", 
       cs.rdb$character_set_name as "Character Set", 
       a.mon$timestamp as "Established At", 
       a.mon$garbage_collection as "Garbage Collection", 
       r.mon$record_seq_reads as "Non-indexed Reads",
       r.mon$record_idx_reads as "Indexed Reads",
       r.mon$record_inserts as "Records Inserted",
       r.mon$record_updates as "Records Updated",
       r.mon$record_deletes as "Records Deleted",
       r.mon$record_backouts as "Records Backed Out",
       r.mon$record_purges as "Records Purged",
       r.mon$record_expunges as "Records Expunged",
       io.mon$page_reads as "Page Reads",
       io.mon$page_writes as "Page Writes",
       io.mon$page_fetches as "Page Fetches",
       io.mon$page_marks as "Page Marks"
from mon$attachments a
join rdb$character_sets cs on (a.mon$character_set_id = cs.rdb$character_set_id)
left join mon$record_stats r on (a.mon$stat_id = r.mon$stat_id)
left join mon$io_stats io on (a.mon$stat_id = io.mon$stat_id)



Гаджимурадов РустамВот, и у тебя понимания предмета и целей нет, а других про суть вещей учить собрался.
ну спасибо.

Dimitry SibiryakovСм. выше: видеть состояние сервера в данную миллисекунду. А не секунду назад и не час.
Потому что протекающие процессы мимолётны их снапшот - бесполезен.
извини, но это чешуя. Потому что все равно чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения.
"не снапшот" mon$ всего лишь облегчит серверу обращение к mon$ - не надо будет делать снапшот всех mon$ таблиц при обращении к любой, и на сотнях коннектов обращение к mon$ будет слегка побыстрее, чем N секунд - , но сути mon$ и сути использования mon$ это никак не поменяет.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613101
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Насчет "реализации" - она может быть какая угодно

При чём тут смысл, назначения, поля и пр, если речь шла
конкретно о реализации? Если бы таблицы мониторинга
(что тут, что там) были "безвредными" при использовании,
то и применять их можно было как угодно, в хвост и в гриву.
Но у FB, увы, есть свои "особенности" (про IB не в курсе).

kdv> ну спасибо.

На здоровье. С таким подходом, действительно, какие-то
общие рекомендации составлять не стоит.

> извини, но это чешуя.

Чешуя - это то, что ты тут написал. Во-первых, если
это облегчит работу серверу - это хорошо или плохо?
Во-вторых, на данный момент не на момент выполнения,
а на момент старта транзакции - что две большие разницы.
В-третьих, про суть использования mon$ у каждого своя -
у тебя своя, у него своя (и я с ним согласен), у кого-то
третьего - будут свои цели, тут можно долго рассуждать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613187
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВо-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы.
и ты меня еще попрекаешь "непониманием предмета"? mon$ заполняются не при старте транзакции, а при первом обращении к любой mon$, и данные там будут вовсе не на "момент старта транзакции". а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию.

Гаджимурадов РустамНо у FB, увы, есть свои "особенности" (про IB не в курсе).
у IB все то же самое.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613202
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> а вот для перечитывания содержимого mon - да, надо рестартовать транзакцию.

Ну и?

> у IB все то же самое.

В смысле те же тормоза? Или тоже тормоза, но не такие жёсткие?
У них же SMP много раньше появилось, там нет оптимизаций?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613231
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНу и?
признавать свою ошибку будешь, или как? а то брякнуть легко:
" Во-вторых, на данный момент не на момент выполнения,
а на момент старта транзакции - что две большие разницы.
"

Гаджимурадов РустамВ смысле те же тормоза? Или тоже тормоза, но не такие жёсткие?
У них же 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$, тут уже можно делать какие-то оценки.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613237
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ SuperClassic обращение к mon$ должно быть побыстрее, но разницу разве что Таблоид может сказать.я не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как. Про бешеный расход памяти забыли давно, а по скорости они ничем не уступает. Заваливается весьма редко, так что причин для возврата к CS нет.
В трёшке опрос мониторинга идёт быстрее чем в 2.5 (при одинаковой арх-ре).

kdvКроме того, если бы (да кабы) для mon$ можно было ограничиваться своим id, например, при запросе с where mon$attachment_id = self оно бы спрашивало только "свой" процесс, исключая остальные... Но увы, в данном случае where работает "поверх" уже готового результата.Угу. И это действительно - "увы" :-/
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613261
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как.
я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613266
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvТаблоидя не сравнивал Classic vs SuperClassic, ибо у нас последний уже года два как.
я имел в виду - у тебя же есть стенд, и "молотилки", можно было бы проверить при одинаковой нагрузке на CS и SC тем же monlogger, или просто замером select count(*) from mon$attachments.я проверю это, но попозжее. Сейчас тут с новым ОЛТП-тестом ковыряюсь, много времени на него уходит.

Кстати: а MonLogger, когда только-только я ткнул по нему мышкой, и до момента, когда он получит снимок мон-таблиц, - он вот этот промежуток времени где-то регистрирует ? Т.е. меня интересует: пишет ли он в лог время ОЖИДАНИЯ отклика всех коннектов на команду select ... from mon$... ?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613274
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> признавать свою ошибку будешь, или как? а то брякнуть легко:

Подучи русский язык. Каждый последующий вызов будет
выдавать то же самое, независимо от момента выполнения.
Но ты, конечно, можешь поспорить, что запрос делается
на пару миллисекунд позже старта транзакции, да.

> Но увы, в данном случае where работает "поверх" уже готового результата.

Кстати, это тоже большой минус и заслуживает тикета.

> Так что пока выгода от mon$ в RC лишь гипотетическая.
> Практическая - да, однозначно

Это просто феерия какая-то! В мемориз! (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613280
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамПодучи русский язык.
еще раз спрашиваю, ты признаешь, что содержимое mon$ не заполняется при старте транзакции, о чем ты лично заявил?
" Во-вторых, на данный момент не на момент выполнения,
а на момент старта транзакции - что две большие разницы.
"

Гаджимурадов РустамЭто просто феерия какая-то! В мемориз! (с)
а я где-то говорил, что разницы не будет?
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613291
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> о чем ты лично заявил?

Ты действительно не понимаешь смысл написанного?
Даже с третьего раза?

> а я где-то говорил, что разницы не будет?

Трудно сказать, у нас разное понимание одних и тех
же слов. "гипотетическая" и "Практическая" - да, это
близко к сомнению, как минимум. Если не к мнению
"а нафиг оно нужно" (о чём ты как раз точно заявлял).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613324
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамТы действительно не понимаешь смысл написанного? Даже с третьего раза?
разъясни мне, пожалуйста, смысл тобой написанного. непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)?

Гаджимурадов РустамЕсли не к мнению "а нафиг оно нужно" (о чём ты как раз точно заявлял).
я не силен в использовании mon$ "a la Таблоид". Я их использую для поиска проблем. А для этого снапшот mon$ вполне достаточен. То, что я тоже был на стороне "mon$ аки RC в RC" - не спорю, и не протестую. Одновременно я вижу, что большинство и разработчиков и админов вообще не в состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613331
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvОдновременно я вижу, что большинство и разработчиков и админов вообще не в
состоянии использовать mon$, хотя, казалось бы, оно уже 8 лет существует.
Дык в том-то и вопрос: "для чего их на практике можно использовать?"

Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то
совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ
репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не
понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы
выяснить почему оно так тормозит на ровном месте.

PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613350
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> разъясни мне, пожалуйста, смысл тобой написанного.

Если ты подзабыл, то всегда можно промотать страницу и
перечитать, это дело пары секунд. А смысл очень простой -
на данный момент mon-ы фризятся независимо от уровня
изоляции транзакции - т.е. мало того, что это недешевая
операция, так она ещё и в RC работать не будет - вернее,
будет, но не как в RC, а как в снапшоте. Что обсуждалось
уж года три, наверное, но воз и ныне там - то ли ДЕ чего-то
опасается (несовместимость, неконсистентность и пр.), то
ли "приоритет у тикета низкий", то ли с реализацией не
определился, то ли ещё что. А тут ещё ты появляешься с
противоположной ортодоксальной позицией в духе
"оставьте всё как есть, консистентность наше всё!".

Про то, что select (и delete?) игнорирует where-предикат я
даже как-то забыл, но тут трудно что-то изменить, наверное.

> непонятно, почему так сложно признать свою ошибку (или описку, или я не знаю что)?

Признать ошибку мне не жалко, даже если её не было.
От меня не убудет. Но, если ты забыл, то напомню,
что ты написал некую фигню, увтерждая что мнение
собеседника - чешуя, а когда тебе в трёх пунктах
объяснили, что это ты фигню несёшь - ты ухватился
за разницу между моментом старта транзакции и запроса,
как-будто кто-то утверждал, что стартанула транзакция -
и все коннекты сразу данные в "мониторинг" скинули.

> Я их использую для поиска проблем.
> А для этого снапшот mon$ вполне достаточен
> Одновременно я вижу, что большинство и разработчиков
> и админов вообще не в состоянии использовать mon$

Ну, "мне не надо, как есть хватает, а большинство -
вообще неграмотные" - хороший подход, достойный. :)
Лично мне оно тоже мало нужно, знаешь ли, ибо ни в
каких триггерах оно у меня не сидит. Но это не значит,
что там нечего улучшать и подсказать этим самым
"неграмотным" для чего и как лучше использовать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613384
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Возвращаясь к топику: вот сегодня ТС мучил свою базу репликацией. Показывал какие-то
совершенно жуткие цифры: производительность репликатора 56 записей в секунду, загрузка ЦПУ
репликатором - 0, Firebird - 7%. Средняя очередь запросов к диску - 1. Я совершенно не
понимаю как это может быть. И не представляю что можно посмотреть в MON$-таблицах чтобы
выяснить почему оно так тормозит на ровном месте.

PS: Gallemar, результат fb_lock_print ты, кстати, так и не показал.

Дима,всё будет,связь с сервером получил только поздно вечером,уже поздно было что либо запускать.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613467
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЕсли ты подзабыл, то всегда можно промотать страницу и перечитать, это дело пары секунд.
я твою фразу тебе три раза привел, и перечитывал неоднократно.

kdv - чтобы увидеть данные, нужно сделать select * from mon$, и результат запроса зафиксируется на момент его выполнения.
ГР - Во-вторых, на данный момент не на момент выполнения, а на момент старта транзакции - что две большие разницы.

?

Гаджимурадов РустамНо, если ты забыл, то напомню, что ты написал некую фигню, увтерждая что мнение собеседника - чешуя, а когда тебе в трёх пунктах объяснили, что это ты фигню несёшь
там была совершенно конкретная фраза про "чешую". 15871904 Твои "три пункта были"
- про то, что mon$ в RC могли бы занимать меньше ресурсов
- про то, что "на момент старта транзакции" - mon$ заполняются? Или что "на момент"?
- про то, что при использовании mon$ у каждого свои цели.

пункты 1 и 3 я не отрицаю, но они не относились к "видеть состояние сервера в данную миллисекунду и не час назад", что я и назвал чешуей.
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613748
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОК, нет, при старте старте транзакции все коннекты не ломятся
формировать данные мониторинга. Это чрезвычайно важная
корректировка, определяющая, особенно в контексте разговора.

kdv> пункты 1 и 3 я не отрицаю

Аминь и на этом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Обслуживание больших (>250 Гб) баз
    #38613781
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какой топик у меня популярный получился,ещё бы кто нить помнил с чего всё началось:)
http://www.sql.ru/forum/1088852-a/emulyaciya-hhd-ram
...
Рейтинг: 0 / 0
98 сообщений из 98, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Обслуживание больших (>250 Гб) баз
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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