powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Sweep / Garbage collector, мусор убран, но база растет
78 сообщений из 78, показаны все 4 страниц
Sweep / Garbage collector, мусор убран, но база растет
    #39684662
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Сервер Firebird 2.5, база размером 5GB, за сутки вырастает примерно на 1GB.
Полезных данных, которые нужны и остаются в базе не слишком много, допустим 100MB в сутки.
Рост размера базы напрямую зависит от таблицы с переменными данными. В течение дня миллионы записей в нее пишутся и из нее удаляются (INSERT/DELETE). UPDATE - нет.

В конфиге:
#GCPolicy = combined

Т.е. получается так - на утро база 5GB, к вечеру 6GB.

Если делаю так:
1) sweep,
2) бэкап,
3) ресторе
получаю базу 5.1GB.

Если делаю только sweep, то база продолжает расти, и к следующему вечеру ее размер 7GB.

Как я себе понимаю механизм работы:
1) сборщик мусора, после не сильно большого количества (по умолчанию) транзакций, должен сам чистить мусор (размер базы не уменьшается), и новые инсерты происходят в ранее выделенное и освобожденное место базы. То что происходит в течение дня.
2) sweep - ручная чистка, после которой размер базы не уменьшается и аналогично сборщику мусора, запись начинает происходит в ранее отведенное место.

Как бы база должна (образно) за первые сутки вырасти 1GB, и затем потихоньку расти, на свои 100MB в сутки. Но чистка делается, а база продолжает расти.

Где ошибка, что не так?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684667
Filippov Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

не совсем понятен пункт "1) sweep"
Зачем его делать, если все равно есть пункт "3) ресторе" , который в любом случае делает файл со свежей базой.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684669
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Filippov Dmitry,
Согласен, написал, потом понял что глупость написал, при бека/ресторе оно не надо. По факту sweep делается каждую ночь, а бекап/ретсоре раз в неделю.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684675
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperousсборщик мусора, после не сильно большого количества (по умолчанию) транзакций
если есть активные транзакции, то не все старые версии превращаются в мусор.
Если сборщик убирает мусор, то это место используется повторно.
Если не убирает, версии не становятся мусором, и сборщику убирать нечего.
Сборка мусора работает постоянно, это не sweep.

Imperousа база продолжает расти.
прямо на гиг в день, даже при ручном запуске sweep каждый день? Значит нет мусора и версии не убираются, а значит есть длинные активные транзакции. С которыми надо бороться в приложениях.
http://www.ibase.ru/sweep
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684676
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous сборщик мусора, после не сильно большого количества (по умолчанию) транзакций, должен сам чистить мусор (размер базы не уменьшается), и новые инсерты происходят в ранее выделенное и освобожденное место базы. То что происходит в течение дня.

судя по всему у тебя CS/SC там нет фоновой сборки мусора, так что мусор от твоих DELETE никто кроме тебя не прочистит (SELECT по тем данным которые были удалены)

sweep кроме продвижения OIT может ничего и не сделать, если у тебя активные транзакции удерживающие версии

давай сюда gstat -h
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684697
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Database header page information:
Flags 0
Checksum 12345
Generation 348725
Page size 4096
ODS version 11.2
Oldest transaction 284034
Oldest active 289718
Oldest snapshot 289718
Next transaction 346482
Bumped transaction 1
Sequence number 0
Next attachment ID 2138
Implementation ID 26
Shadow count 0
Page buffers 4096
Next header page 0
Database dialect 3
Creation date Aug 5, 2018 23:10:57
Attributes force write

Variable header data:
Sweep interval: 0
*END*
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684707
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousOldest snapshot 289718
Next transaction 346482

однако....
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684710
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousРост размера базы напрямую зависит от таблицы с переменными данными. В течение дня
миллионы записей в нее пишутся и из нее удаляются (INSERT/DELETE).

Где ошибка, что не так?
Во-первых и главных - в архитектуре, которая делает процитированное. Если не можешь
избавиться от желания записать в БД что-то ненужное, хотя бы сделай эту таблицу временной.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684711
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

кстати http://www.ibase.ru/garbage/
sweep, автоматический или ручной. Сервер просматривает абсолютно все страницы данных (таблиц) для сборки мусора. Если после сборки мусора удается "подвинуть" вперед Oldest transactionLINIK , то это делается.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684712
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну.

ImperousOldest active 289718
Next transaction 346482
Creation date Aug 5, 2018 23:10:57
не меньше полусуток какая-то транзакция торчит. см. mon$transactions
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684715
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

видел, исправлю.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684717
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а чем это на версионнике так уж отличается от update ?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684719
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

там вообще ни одна ссылка в статье не проставлена похоже


Dimitry Sibiryakovхотя бы сделай эту таблицу временной

GTT не живёт между соединениями, т.е. нельзя передать работу другому клиенту или продолжить в случае разрыва и переконнекта
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684725
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

http://www.ibase.ru/summary/

авторОткройте !needsweep.txt.

Откройте !snapshot2.txt:

... наблюдать в файле !rollback.txt.

и т.д.

Ну и "Жизненный цикл транзакций LINK" в начале
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684730
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvну.

ImperousOldest active 289718
Next transaction 346482
Creation date Aug 5, 2018 23:10:57
не меньше полусуток какая-то транзакция торчит. см. mon$transactions

почему ты берешь active, а не snapshot ?

разве read committed без read-consistewncy (которой в 2.х нет) будет мешать собирать мусор?

https://www.firebirdsql.org/pdfmanual/html/gstat-example-header.html Oldest active - the ID of the oldest active transaction, or OAT. This value shows the transaction ID (TID) of the oldest transaction that is still running. A transaction is considered active if it has not been hard committed, is not in a state of limbo and has not been rolled back.

Oldest snapshot - the ID of the oldest transaction which is currently not eligible to be garbage-collected . Any transaction with this or a higher ID cannot, yet, have old record versions removed by a sweep, for example. Normally, this is the same as the OAT above. The difference between this value and the OIT, if greater than the database sweep interval - assuming that automatic sweeping is not disabled - determines if an automatic sweep takes place.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684733
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа чем это на версионнике так уж отличается от update ?Вот как понять из этой цитаты - о чём вообще шла речь ???
Что "это" ? Цитировать красную\чёрную розу, что ли ? :)

Если ты про delete+insert вместо update - в первом случае не будет длинных цепочек бекверсий, если сборка мусора застряла.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684734
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ну что ты, ей богу. все link в статье исправил.

AriochОткройте !needsweep.txt.
Откройте !snapshot2.txt:
... наблюдать в файле !rollback.txt.
и т.д.
а тут что не нравится? Это файлы в поставке ibanalyst. Там написано - откройте. В ИБА меню файл, открыть, открываешь файл.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684741
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЭто файлы в поставке ibanalyst

Это упоминается в начале главы "Нормальное состояние базы данных" - и только. М.б. лучше это в самое начало статьи переместить, что текстовые файлы упоминающиеся - они отсюжда-то? потому что если читать сразу заинтересовавшую главу в середине, то этого не читал и знаешь. Ну и стиль названий файлов - то жирный шрифт, то обычный.

kdvвсе link в статье исправил.

не-а, только что перезагрузил. Сделай в обеих статьях поиски по LINK и по LINIK - сам увидишь
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684744
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ты всё попутал.
Во-первых read commited read consistency появился в 4.0
Во-вторых до 4.0 read committed не удерживает версии только если она read only

Ну и как раз наоборот read commited в 4.0 вообще не удерживает версии, её удерживают активные статменты и не закрытые курсоры. Ну это судя по описанию. Правда убедится в этом не так легко. Нужно делать специфичное приложение, которое не стартует лишних транзакций и фетчит все записи из курсора. Но даже в этом случае промежуточные версии хорошо собираются, это я уже глянул. И даже снапшоты уровня транзакции не такие страшные ибо не держат вообще всю сборку мусора, а только не дают собрать версии требуемые данному снапшоту.

Кстати достаточно сделать фетч всех записей из курсора, или обязательно закрывать его?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684745
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсли ты про delete+insert вместо update - в первом случае не будет длинных цепочек бекверсий, если сборка мусора застряла.

....зато во втором не надо будет перестраивать индексы (потому что RDB$DB_KEY = голова записи не двигается). Да и сами бекверсии обычно меньше размером, чем пусть одна но полноразмерная удаленная строка.

В общем, мне кажется, примерно равнозначно. Но DS категорически выступил против D+I, против твоего "первого случая". Вот я и удивился, что там такого резко опасного, что я проглядел. Не в конвретной ситуации залипшего snapshot, а "у целом"
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684747
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

есть еще причина роста БД
http://www.ibase.ru/dbgrowth
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684748
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDS категорически выступилНикогда такого не было - и вот, опять (ц)
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684752
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvесть еще причина роста БД
http://www.ibase.ru/dbgrowth Зачем его блобами грузить, когда чётко видно что сборка мусора заблокирована...
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684753
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВо-первых и главных - в архитектуре, которая делает процитированное. Если не можешь
избавиться от желания записать в БД что-то ненужное, хотя бы сделай эту таблицу временной.


темповая таблица здесь не годится, разные коннекты.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684754
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВо-вторых до 4.0 read committed не удерживает версии только если она read only

ну r/o она от рождения committed, её (с точностью до блобов) вообще как бы нет.

а вот почему RC вынуждены удерживать записи, которые им один чёрт не видны больше - это для меня непонятно и неожидано. Хотя это наверное тут оффтопик.


Симонов Денисread commited read consistency появился в 4.0
Он там в заголовке будет какой-то отдельной, четвёртой строкой типа Oldest XXXXX ?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684755
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochImperousOldest snapshot 289718
Next transaction 346482

однако....
можно объяснить, я не понимаю.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684757
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

ну, вдруг всё-же в конце дня та транзакция кончается. :-)

А вообще "я вставили млн записей, потом их удалил, и база выросла!" это классика вопросов по версионнику.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684760
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperousможно объяснить, я не понимаю.
http://www.ibase.ru/mga/

Oldest Active застряла 50 тысяч транзакций назад, от Next. В среднем в сутки у вас 100к транзакций.
Отставание oldest active значит, что пол-суток назад приложение стартовало транзакцию, и до сих пор ее не завершило.
Что препятствует превращению версий записей в мусор, сборке мусора и т.д.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684763
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКстати достаточно сделать фетч всех записей из курсора, или обязательно закрывать его?Вроде первое, но лучше проверить
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684768
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

google: firebird oldest active snapshot - ссылок выше крыши

например http://www.ibase.ru/summary/
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684770
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvА вообще "я вставили млн записей, потом их удалил, и база выросла!" это классика вопросов по версионнику.

первичный рост сразу после restore - тут другое, с этим топик стартер разобрался

у него вопрос "потом я вставил и удалил ещё миллион и база ЕЩЁ РАЗ выросла"
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684771
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochDS категорически выступил против D+I, против твоего "первого случая".

Ты бы это, прикрутил свою фантазию. Какое слово из "записать в БД что-то ненужное" ты
сумел таким дивным способом проинтерпретировать?

Ок, повторяю медленно, для фантазёров: "не надо записывать в БД данные, которые ты тут же
удалишь". Обрабатывай их ещё до вставки и в базе держи только сухой остаток.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684772
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисфетч всех записей из курсора, или обязательно закрывать его?

вроде бывают двунаправленные именованные курсоры с поддержкой редактирования строк? для таких вообще не будет разница дочитал до конца или нет, пока не закроешь. https://stackoverflow.com/questions/51656200/is-it-possible-to-adjust-the-firebird-fetch-buffer-size
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684777
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

а кто тебе сказал, что записывается "ненужное" ?

только потому что когда-то после записи оно *перестаёт* быть нужным?

ну так "прикрути фантазию"
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684778
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

в Firebird 3.0 двунаправленные курсоры есть только в PSQL. На уровне API есть методы для них, но реализации нет. Это просто заглушка на будущее.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684782
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа кто тебе сказал, что записывается "ненужное" ?
только потому что когда-то после записи оно *перестаёт* быть нужным?

Да, именно поэтому. Оно перестаёт быть нужным слишком быстро.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684785
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо!
Таки да, есть зависшие прямо с утра транзакции. Буду думать что делать с ними.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684793
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисв Firebird 3.0 двунаправленные курсоры есть только в PSQL. На уровне API есть методы для них, но реализации нет. Это просто заглушка на будущее.
все там есть
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684797
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr,

хм.... получается я не туда смотрю


src/remote/client/interface.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
...
int ResultSet::fetchPrior(CheckStatusWrapper* user_status, void* buffer)
{
	try
	{
		status_exception::raise(Arg::Gds(isc_wish_list));
	}
	catch (const Exception& ex)
	{
		ex.stuffException(user_status);
		return FB_FALSE;
	}

	return FB_TRUE;
}
...



ну и примерно тоже самое
ResultSet::fetchFirst, ResultSet::fetchLast, ResultSet::fetchAbsolute, ResultSet::fetchRelative
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684801
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тьфу, запамятовал. Оно есть в embedded, но (пока что) нет в сетевом протоколе.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684804
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochпочему ты берешь active, а не snapshot ?
потому что snapshot отстает от active только для snapshot-транзакций и еще в одном определенном случае для RC.
Snapshot транзакция давно кончилась, искать ее негде. А злобную АКТИВНУЮ транзакцию можно найти сей секунд в mon$transactions.
Собственно, Oldest snapshot - это признак oldest active транзакции, а не чего-то абстрактного.
Потому что oldest snapshot это "транзакция, которая была самой старой активной, когда стартовала самая старая активная сейчас транзакция".
Проще говоря, это самый старый мёртвый предок, которого помнит живым ныне живущий самый старый дедушка.
Ariochне-а, только что перезагрузил.
обновления на сайте появляются через несколько минут после редактирования.
Ariochразве read committed без read-consistewncy (которой в 2.х нет) будет мешать собирать мусор?
любая активная транзакция препятствует "появлению мусора" и его сборке.
RC snapshot, что в 4 - по маркерам транзакций это snapshot. Так что ничего экзотического в этом нет.
Ariochпотому что если читать сразу заинтересовавшую главу в середине
нефиг читать с середины. Это как читать про oldest snapshot и не читать про active, oit и next.
И там почти везде написано "откройте файл". Я не понимаю, как это всё можно считать ссылками, тем более что картинки по этим файлам приведены в тексте.
Ariochа вот почему RC вынуждены удерживать записи, которые им один чёрт не видны больше
потому что сейчас считается, что от active до next мусора быть в принципе "не может" (типа, лучше цепочки версий внутри не трогать). А в 4.0 сборщик мусора будет "выкусывать" мусор из цепочек версий, так что всё будет ок.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39684847
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr> Оно есть в embedded, но (пока что) нет в сетевом протоколе.

Что в данном случае есть embedded? Вариант работы сервера или что-то иное?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685018
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovперестаёт быть нужным слишком быстро

вполне может быть очередь задач, как в http://www.sql.ru/forum/1300374

данные нужны, пока они не переработаны. Переработаны - перестают быть нужны. Конвейер.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685019
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrтьфу, запамятовал. Оно есть в embedded, но (пока что) нет в сетевом протоколе.

Тогда посмотри тот топик на SO

Потому что и Марк не последний в FB человек, и Эрик известен.
И именно они сказали ,что дело в именованных курсорах, и именно на уровне "старого" API fbclient.dll

Расшить бутылочное горлышко бы хорошо тоже ,но хотя бы разобраться почему оно возникает.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685921
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не решилась.
Даже когда нет висячих транзакций, и с выполнением вечернего sweep, база растет все так же...
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685924
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

как именно она растёт ?
Хотелось бы увидеть записи в логе про свип.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685940
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladImperous,

как именно она растёт ?
Хотелось бы увидеть записи в логе про свип.

Растет как будто ни sweep ни сборщик мусора не работают...

Из лога, сегодняшнее:
авторDB Fri Aug 10 03:30:00 2018
Sweep is started by SYSDBA
Database "WORK_DB"
OIT 579542, OAT 595737, OST 595737, Next 595737


DB Fri Aug 10 03:30:16 2018
Sweep is finished
Database "WORK_DB"
OIT 595737, OAT 595737, OST 595737, Next 595738

Перед sweep, чтоб наверняка никаких висяков не было, делается еще shutdown и online, и в это время гарантированно никто не юзает базу.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685945
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

ну свип то работает OIT он подвинул. Мусор тоже собран.
Получается если база выросла, то это необходимо.

ImperousПолезных данных, которые нужны и остаются в базе не слишком много, допустим 100MB в сутки.

как считал?
Учти что место занимают не только сами данные, но и индексы, хотя обычно они сильно меньше самих данных. Но нам отсюда не видно какие у тебя индексы и сколько их.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685947
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

давай сюда DDL самой жирной таблицы и статистику по ней
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685961
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousРастет как будто ни sweep ни сборщик мусора не работают...Откуда такое мнение ?
Рекомендую (временно) перед и после свипа запускать gstat -r и сохранять его вывод.
Через несколько дней сравнить.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685963
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И размер файла БД, конечно же, тоже сохранять
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685964
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисImperous,

ну свип то работает OIT он подвинул. Мусор тоже собран.
Получается если база выросла, то это необходимо.

ImperousПолезных данных, которые нужны и остаются в базе не слишком много, допустим 100MB в сутки.

как считал?
Учти что место занимают не только сами данные, но и индексы, хотя обычно они сильно меньше самих данных. Но нам отсюда не видно какие у тебя индексы и сколько их.

считал - банально: начальный размер, рост базы за день (сутки), бэкап и ресторе.

таблиц и индексов не мало, точней достаточно до фига.
к сожалению, политика не позволяет предоставить DDL основных (жирных и активных) таблиц.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685965
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperousсчитал - банально: начальный размер, рост базы за день (сутки), бэкап и ресторе.И сколько дней между ресторами ?
И где (хотя бы такая) статистика (хотя бы за неделю) при реально работающем свипе ?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685969
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

без статистики по жирным таблицам ответа вряд ли дождёшься
Забавно, что такого секретного может быть в DDL таблицы? Там же никакой логики, только наименования полей, их типы, ограничения и индексы.
Триггеры никто не просит
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685972
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladImperousРастет как будто ни sweep ни сборщик мусора не работают...Откуда такое мнение ?
Рекомендую (временно) перед и после свипа запускать gstat -r и сохранять его вывод.
Через несколько дней сравнить.

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

Про gstat -r пока не очень понимаю, но спасибо, попробую помониторить.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685973
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

таблицы могут быть сильно фрагментированы. Я же говорю без статистики не видно что происходит. Как БД раздуется сними статистику, потом сделай свип и ещё раз сними.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685978
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladImperousсчитал - банально: начальный размер, рост базы за день (сутки), бэкап и ресторе.И сколько дней между ресторами ?
И где (хотя бы такая) статистика (хотя бы за неделю) при реально работающем свипе ?
неделю между ресторами.
база вырастает с 4 до 14GB.
после рестора становится 5-6GB

ресторе вчерашней (новой) базы и показывает что полезных данных около 100-200MB (на этот размер база больше)
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685980
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисImperous,

без статистики по жирным таблицам ответа вряд ли дождёшься
Забавно, что такого секретного может быть в DDL таблицы? Там же никакой логики, только наименования полей, их типы, ограничения и индексы.
Триггеры никто не просит

Структура. Не я придумал про "нельзя". Это купленный софт.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39685999
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousНо что-то идет не так, новые данные после сборки пишутся не в ранее высвобожденное место,
а выделяется новое.

Тебе это gstat и Database Analyst сказали? Или чисто "классовое чутьё"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686001
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovImperousНо что-то идет не так, новые данные после сборки пишутся не в ранее высвобожденное место,
а выделяется новое.

Тебе это gstat и Database Analyst сказали? Или чисто "классовое чутьё"?

Другого объяснения я пока дать не могу. По моим "пониманиям", если чистка прошла, то туда можно писать, ведь для этого чистка и производится.
Вариант с фрагментированием конечно же имеет место быть.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686003
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperousнеделю между ресторами.
база вырастает с 4 до 14GB.
после рестора становится 5-6GB

Такое впечатление, что у тебя база на мобиле крутится. Вылезь из леса, нынче 21-й век,
террабайтные винты доступны каждому.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686004
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

к слову, если база под виндой, то можно смотреть содержимое (по типам страниц) утилитой DBInfo.
https://ib-aid.com/en/ibsurgeon-free-tools/
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686005
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ImperousДругого объяснения я пока дать не могу.

Ну так повышай образование и кругозор. Чтобы смог.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686007
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

не надо гадать, статистику gstat -r сними. Будет статистика будут и ответы, пока можно только с помощью хрустального шара гадать
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686025
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvImperous,

к слову, если база под виндой, то можно смотреть содержимое (по типам страниц) утилитой DBInfo.
https://ib-aid.com/en/ibsurgeon-free-tools/

Прикольная прожка.
Сделал эксперимент на недавней базе.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686035
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

а после рестора? Блобов дофига почти вся база из них
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686036
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvможно смотреть содержимое (по типам страниц) утилитой DBInfo.
https://ib-aid.com/en/ibsurgeon-free-tools/

Эк её задвинули... А я минут десять рылся по ibase.ru в её поисках, но так и не нашёл.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686047
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

супер. осталось сравнить через пару дней. Но и так видно, что 72% базы - блобы. Теоретически, на блобах она и растет
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686078
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladkdvесть еще причина роста БД
http://www.ibase.ru/dbgrowth Зачем его блобами грузить, когда чётко видно что сборка мусора заблокирована...

неужели - пророк?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686083
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, про sweep и сбощика мусора я был лучшего мнения...
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686102
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Imperous,

в общем, утилита, конечно, показывает просто типы страниц, а заняты они реально и чем (принадлежат таблице или нет) - не в курсе.
А поскольку страниц блобов после б-р становится в 2 раза меньше, предполагаю этот источник проблемы
http://www.ibase.ru/dbgrowth

http://tracker.firebirdsql.org/browse/CORE-4671
исправлено в 2.5.4.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686117
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvутилита, конечно, показывает просто типы страниц, а заняты они реально и чем (принадлежат таблице или нет) - не в курсеА чего бы ей в PIP не посмотреть ?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686118
Imperous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvImperous,

в общем, утилита, конечно, показывает просто типы страниц, а заняты они реально и чем (принадлежат таблице или нет) - не в курсе.
А поскольку страниц блобов после б-р становится в 2 раза меньше, предполагаю этот источник проблемы
http://www.ibase.ru/dbgrowth

http://tracker.firebirdsql.org/browse/CORE-4671
исправлено в 2.5.4.

у меня установлен Firebird 2.5.7
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686119
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА чего бы ей в PIP не посмотреть ?
может быть. но пока лениво.
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686120
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvhvladА чего бы ей в PIP не посмотреть ?
может быть. но пока лениво.А ты уверен, что она не смотрит в туда ? Ибо как она unused считает ?
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686141
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
походу свипер/сборщик мусора не добирается до некоторых блобов
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686157
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без воспроизводимого примера - ничего не получится
...
Рейтинг: 0 / 0
Sweep / Garbage collector, мусор убран, но база растет
    #39686167
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспоходу свипер/сборщик мусора не добирается до некоторых блобов

Гложут смутные сомнения.
Думаю что размер БД при регулярном свипе стабилизируется.

Нет доказательств что мусор не набирается за один раз или при застрявшей на пару-тройку транзакции.

У меня часть критичных по времени клиентов подключалась с ключиком no_garbage_collect. Мусор потом собирался роботами.
...
Рейтинг: 0 / 0
78 сообщений из 78, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Sweep / Garbage collector, мусор убран, но база растет
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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