|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
В статье "Многоверсионность в двух словах" написано, что процесс сборки мусорных версий в процессе чтения записей называется "Кооперативная сборка мусора", а в статье "Кооперативная сборка мусора в InterBase и Firebird" написано (цитирую): "кооперативная явная . Используется в Classic и во всех версиях до InterBase 6 SuperServer (также оставлена в Yaffil, как Classic так и SuperServer). Мусор убирается пользовательским процессом (или thread-ом) только в тех данных, которые читаются или обновляются." и в ДОПОЛНЕНИИ (цитирую): В Firebird 2.0 сборщик мусора переработан, и есть 3 стратегии сборки мусора, которые можно использовать при различных особенностях конкретной системы (биллинг, склад и т. п.) – cooperative (Classic), background (SuperServer), combined (SuperServer). Подробнее см. Release Notes от Firebird 2.0. Правильно ли я понимаю, что если мне на FirebirdSQL SuperServer v2.5.7 необходимо включить кооперативную сборку мусора для всех баз, то в firebird.conf я прописываю GCPolicy=cooperative, а если необходимо включить кооперативную сборку мусора только для одной базы, то вполне достаточно поставить этой базе sweep interval = 0 и выполняя в такой базе агрегатный запрос типа SELECT Count(*) FROM... к конкретной таблице, я, тем самым, запускаю процесс кооперативной сборки мусорных версий для всех записей этой таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:11 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
нет Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:12 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_dev, sweep interval не имеет ни какого отношения ни к кооперативной, ни к фоновой сборке мусора. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:17 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Симонов Денисrdb_dev, sweep interval не имеет ни какого отношения ни к кооперативной, ни к фоновой сборке мусора.Тогда, 1. К какой именно сборки мусора имеет отношение sweep interval? 2. Как отказаться от combined сборки мусора на SuperServer, оставив ТОЛЬКО кооперативную сборку мусора? З.Ы. Здесь тоже почитал, но вопросы остались. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:35 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Мимопроходящий, забавно, когда дают односложный ответ на подобные вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:40 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Hello, Rdb Dev! You wrote on 11 ноября 2016 г. 14:41:59: Rdb Dev> Мимопроходящий, забавно, когда дают односложный ответ на подобные вопросы. если Денису интересно жевать для тебя букварь, что ж, пожелаем ему успехов. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:44 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Мимопроходящий, иными словами, ты заходишь на форум только чтобы вставить свои бесполезные "пять копеек"? Чтож... Спасибо - не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:47 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_dev, это как раз тот случай когда "смотрю в книгу - вижу фигу". rdb_dev1. К какой именно сборки мусора имеет отношение sweep interval? Читай ещё раз. sweep — это самостоятельный процесс. От GCPolicy он никак не зависит. rdb_dev2. Как отказаться от combined сборки мусора на SuperServer, оставив ТОЛЬКО кооперативную сборку мусора? Вот на это как раз влияет параметр GCPolicy. Зачем? Чем тебе мешает фоновая сборка мусора? Ты понимаешь что это такое и чем она от sweep отличается? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:47 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:50 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Мимопроходящий, жевать я ему ничего не собираюсь. Задал пару наводящих вопросов, сейчас он ещё раз перечитает и поймёт свои ошибки, я надеюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 14:58 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Симонов Денис, понятно, что через кол-во транзакций, указанное в sweep interval запускается процесс сборки мусора для всей БД, но не совсем понятно, что имеется в виду под комбинированным (combined) режимом сборки мусора. Если при фоновой сборки мусора чтение записей приводит только к тому, что прочитанные страницы БД с наличием мусорных версий лишь помечаются для сборки мусора фоновым потоком, то о какой кооперативной сборке идет речь и в каких случаях она будет использована? Только в случае GCPolicy=cooperative, а под комбинированным режимом понимается ТОЛЬКО фоновый процесс сборки мусора и мусорные версии не собираются тут же при чтении страниц БД с такими версиями? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:00 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_devпонятно, что через кол-во транзакций, указанное в sweep interval запускается процесс сборки мусора для всей БД Может, тебе это и понятно, но это неправильно и не имеет ничего общего с действительностью. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:03 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Мимопроходящий, понятно... Раз уж помощи от тебя ждать не приходится, то хоть бы не мешал дурацкими картинками. Не засоряй эфир! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:04 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_devНе засоряй эфир!очень сложно засорить непрерывный поток бредогенератора ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:07 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovМожет, тебе это и понятно, но это неправильно и не имеет ничего общего с действительностью. Тебе нравится меня путать? "Кооперативная сборка мусора в InterBase и Firebird" Самый известный момент сборки мусора – это sweep, автоматический (sweep interval > 0) или ручной (gfix -sweep db.gdb). Sweep, запущенный в автоматическом или ручном режиме, просматривает записи всех таблиц и убирает мусорные (то есть, не нужные ни одной транзакции на данный момент) версии записей. ... sweep, автоматический или ручной. Сервер просматривает абсолютно все страницы данных (таблиц) для сборки мусора. Если после сборки мусора удается "подвинуть" вперед Oldest transactionLINIK, то это делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:09 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Симонов Денис, всё, нашел, что искал. combined – сборщик мусора работает в кооперативном режиме, но если мусор собрать не удается, то о "замусоренных" страницах сигнализируется фоновому сборщику мусора. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:17 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Мимопроходящийочень сложно засорить непрерывный поток бредогенератораТы называешь бредом процесс поиска ответа? По-моему, ты бредишь. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:27 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_devТебе нравится меня путать? Мне не нравится, что твой бред находится на публичном форуме и может повлиять на другие неокрепшие умы. Какое место из процитированного ты прочитал как "через кол-во транзакций, указанное в sweep interval запускается процесс сборки мусора для всей БД"? Это тебе не слоновий автовакуум. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:33 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_dev, - сборка мусора работает всегда. не работает она только если в коннекте включить no_garbage_collect, причем только для этого коннекта. Соответственно, сборку мусора "для базы" или на уровне сервера выключить невозможно. - sweep interval - да, это автосрабатывание sweep, не более того. собственно, а зачем понадобилось менять сборку мусора с background на cooperative? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:35 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ну взял бы да и поправил моё некорректное утверждение и вместо того, чтобы высказывать своё недовольство, мог бы просто процитировать "The default sweep interval for a new database is 20,000. The sweep interval is the difference between the oldest interesting transaction or OIT and the next transaction number." Или ты считаешь, что "неокрепшие умы" будут задавать вопросы в каком-то ином - "приватном" форуме и "сыпать" исключительно корректными определениями? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:39 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
kdv, он хотел combined заменить на cooperative. Только не понятно зачем. Чем ему фоновая сборка мешает я так и не понял. Очевидно, что он её со sweep путает. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:42 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
kdvсобственно, а зачем понадобилось менять сборку мусора с background на cooperative?Оно не понадобилось... Просто не сразу нашел информацию об отличии combined от cooperative. За напоминание о no_garbage_collect отдельное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:43 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_devмог бы просто процитировать Зачем мне цитировать такую чушь? Sweep interval сравнивается с OIT-OAT, а не NT-OIT. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:44 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
rdb_dev, я добавлю, что как то был топик, про "фазы луны". http://www.sql.ru/forum/377919-1/firebird-i-fazy-luny С тех пор у меня в нескольких презентациях про транзакции есть слайд, который объясняет разницу между cooperative и background. Идея такая. Есть таблица с 10к (100к и т.д.) записей. Приложение по кнопке стартует транзакцию делает update 10к записей (всегда одних и тех же) commit время от старта до коммита замеряется и выводится. Кнопку нажимаем то часто, то редко (с интервалом от 0.5 до 10 секунд). В "некоторых случаях" время от старта до коммита сильно плавает, в зависимости от частоты нажатия на кнопку. Так вот (напомню, что мусор собирается при select или update) - cooperative - время update будет всегда одним и тем же. Кооперативная явная сборка мусора собирает мусор "принудительно" именно для этого запроса. - background - время update будет зависеть от паузы между нажатиями. Фоновая сборка мусора при select/update не собирает мусор, а сигнализирует сборщику. Если пауза большая, то сборщик успевает собрать мусор. Если пауза меньше, то сборщик не успевает, и select/update с каждым разом будут все медленнее и медленнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 15:49 |
|
Пожалуйста, поясните про кооперативную сборку мусора.
|
|||
---|---|---|---|
#18+
Симонов Денис...Очевидно, что он её со sweep путает.Ты прав! Пока я не нашел информацию о различиях combined и cooperative, я ошибочно полагал, что фоновая сборка мусора как-то связана со sweep. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2016, 16:50 |
|
|
start [/forum/topic.php?desktop=1&fid=40&tid=1561846]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 443ms |
0 / 0 |