|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
kdvfb user, Ё, кто это?NickDee, вестимо. Не узнал ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2016, 20:50 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
miwaonlineно причины периодических тормозов которых не связаны с автосвипом. я тебе клянусь, что там, где автосвип включен, периодические тормоза связаны с ним. А там где он выключен (sweep interval = 0), разрабы кладут болт на длительные транзакции, и там уже тормоза из-за накопления версий. Так или иначе, тормоза связаны с непониманием версионности, совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2016, 23:00 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
miwaonlineНу лично я фразу "для всех систем" понял как "для всех информационних систем (программ), которые используют ФБ", но причины периодических тормозов которых не связаны с автосвипом. В таком прочтении фраза вполне себе "мирная". Я контекст не расширял. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2016, 23:12 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
fb userЯ контекст не расширял. гм. тогда какое еще "бесконечное пространство вариантов" тут возможно? fb user Для всех остальных систем есть бесконечное пространство вариантов. для версионника нет никакого "бесконечного пространства". предлагаю подтвердить это утверждение хоть какими-то аргументами. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2016, 23:19 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
kdvfb userЯ контекст не расширял. гм. тогда какое еще "бесконечное пространство вариантов" тут возможно? Все нормально работающие (без периодических тормозов) системы на FB, для которых нет необходимости в такой штуке как "понимание версионности и сборки мусора (и автосвипа)". Вы написали что такие системы невозможны: 19090071 . Хотя если вы писали это из контекста "мы тут говорим только про тормоза из-за мусора", что скорей всего так и есть, тогда я не прав и извиняюсь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 00:22 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
теоретег. сраный. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 11:17 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
kdvГоворишь, "вот ваша документация", но там по gstat и gfix писал Norman Dunbar. "кто все эти люди?" Хоть Norman Dunbar, хоть Cимонов Денис, хоть Вася Пупкин - файл лежит на официальном сайте в каталоге документации, так? Значит его туда кто-то положил. И это был не я. kdvЗначит, надо делать ревизию, тыкать носом, исправлять. Тыкать носом может только человек, способный эту документацию написать. Например hvlad мог бы тыкнуть носом, или Сибиряков мог бы, но не тыкнули. Так что имеем то, что имеем. Я тыкать носом не могу, для меня документация - первоисточник. kdvну каких еще, нафиг, тестов? Вот таких: 19073621 kdvкоторая не будет "периодически тормозить" kdvРазработчики этого не понимают, и клали болт Дело в том, что в этом конкретном топике были не "периодические" тормоза, а вполне себе монотонно возрастающие. То есть *периодический* автосвип тут явно был не при чем. А вот накопление мусора засоряющeго индексы и вынуждающего все чаще и чаще проверять версии записей только чтобы их отбросить - могли. Вот тебе, кстати, ещё две цитаты: 1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506 2) sweep собирает весь мусор, весь и всегда - http://ibase.ru/garbage/ И вот я должен разобраться кто из вас... ммм... ошибся, да ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 14:58 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Он двигает застрявшие счётчики транзакций. Всё. Это его единственно назначение. Arioch1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506 Перестань приписывать мне свои глупости, пожалуйста. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:03 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Симонов ДенисArioch, не каждый rollback требует sweep, а только тот что не превращён сервером в commit. И ещё ни СД, ни DS, ни МП ничего такого не утверждали. Я правильно понимаю, что единственный "rollback автоматически превращаемый в commit" - это rollback который по той или иной причине вообще не создавал версий ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:05 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОн двигает застрявшие счётчики транзакций. Всё Слово "всё" мне конечно привиделось. Dimitry SibiryakovЭто его единственно назначение. Слово "единственное" - тоже. И ты, кстати, очень удобненько забыл процитировать остальную часть сообщения. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:07 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochЯ правильно понимаю Неправильно понимаешь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:08 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а ещё когда ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:08 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochНапример hvlad мог бы тыкнуть носом, или Сибиряков мог бы, но не тыкнули. Так что имеем то, что имеем. да, увы. они это просто не читали. Теперь прочитали. Будем править. Ariochkdvну каких еще, нафиг, тестов? Вот таких: 19073621 так проверяется-то элементарно. стартуем транзакцию, добавляем записи, жмем ресет или делаем явный rollback, стартуем еще несколько траназкций, чтобы убедиться, что OIT застряла, потом читаем записи, и проверяем наличие версий по gstat -r -t tablename. Просто ты какую-то чешую пишешь. "и заблокировав sweep мы тем самым блокируем счётчик OIT" ты имеешь в виду, что OIT без свипа не подвинется? Ну да. И что? У меня есть статистика от базы, которая жила год, при этом OIT застряла в самом начале работы. И ничего страшного не случилось. OIT - это просто индикатор. Застревание OIT можно получить просто стартовав транзакцию, ничего больше не делая, нажать reset. Что, есть тут какие-то версии? Нет. "блокируем сборку rollback-мусора между OIT и Next Transaction, так ?" С чего вдруг? Сборка мусора как работала, так и работает. И она всегда идет между OIT и Next :-) AriochВот тебе, кстати, ещё две цитаты: 1) sweep вообще не собирает мусор, вообще никогда и никак - 19073506 Сибиряков погорячился, потому что ты посчитал sweep каким-то особым типом сборки мусора. Sweep это и сборка мусора, и попытка подвинуть oit. OIT говорит о том, что есть транзакции rolled back, от которых МОГ остаться мусор. sweep вычитывает этот мусор, убирает его, и превращает rolled back в committed, таким образом "подвигая" OIT выше. Но есть там мусор или нет - неизвестно, его может и не быть. Он мог быть давно убран другими транзакциями, которые НЕ умеют двигать OIT. Допустим, OIT равно 50. свип должен убедиться, что либо нет мусора принадлежащего этой транзакции, либо этот мусор есть, и его надо убрать. Поэтому свип это И сборка мусора И продвижение OIT. AriochЯ правильно понимаю, что единственный "rollback автоматически превращаемый в commit" - это rollback который по той или иной причине вообще не создавал версий ? непонятно, что ты читаешь. в http://www.ibase.ru/mga/ в разделе "Commit, Rollback" написано, в каких случаях rollback превращается в коммит. Добиться настоящего роллбэка не так-то просто. Его можно организовать - обновив в одной транзакции около 100к записей или больше, сделать rollback - стартануть транзакцию, нажать reset. при первом обращении к БД сервер обнаружит активную транзакцию, которая не может быть активной. И превратит ее из активной в rolled back - стартовать транзакцию с параметром no_auto_undo, сделать роллбэк. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:35 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochИ ты, кстати, очень удобненько забыл процитировать остальную часть сообщения. Нет, это ты очень удобненько вырвал ответ из контекста. Ответ на вопрос "в чём назначение ХХХ" сильно отличается от ответа на вопрос "что делает ХХХ". Назначение sweep - подвинуть счётчики транзакций. Всё. Сборка мусора не является его назначением, а всего лишь побочным эффектом. Точка. sweep не обязан собирать мусор, но делает это по своим личным причинам. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:49 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Arioch, предваряя ужасный вопрос "а как же версии от rollback может убрать обычная сборка мусора?", заранее отвечаю: при сборке мусора (которая возникает как минимум во время чтения) проверяется id транзакции, создавшей версию. И сравнивается с OST. И проверяется состояние этой транзакции. Если версия не последняя, и никому не нужна - убираем. Если версия создана транзакцией в состоянии rollback - убираем однозначно. В этот момент превратить rollback в commit и подвинуть OIT невозможно, потому что нет уверенности, что мы видим все версии, созданные этой транзакцией rollback. Они могут быть еще где угодно. А вот свип - может, т.к. он собирает мусор во всей базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 15:49 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
kdvВ этот момент превратить rollback в commit и подвинуть OIT невозможно, потому что нет уверенности, что мы видим все версии, созданные этой транзакцией rollback. Они могут быть еще где угодно. А вот свип - может, т.к. он собирает мусор во всей базе. Подытоживая: если ходящий раз в неделю поезд Владивосток-Москва останавливается в Мухосранске, будет ошибкой а) Называть его "поездом до Мухосранска"; б) Считать, что остальные шесть дней в неделю до Мухосранска никак не добраться. В случае свипа и сборки мусора чайники обычно делают обе эти ошибки. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2016, 16:34 |
|
|
start [/forum/topic.php?fid=40&msg=39221911&tid=1562211]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 166ms |
0 / 0 |