powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Sweep / Garbage collector, мусор убран, но база растет
25 сообщений из 78, страница 2 из 4
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
25 сообщений из 78, страница 2 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Sweep / Garbage collector, мусор убран, но база растет
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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