powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сделать gfix -sweep в коде Delphi компонентами IBX
95 сообщений из 95, показаны все 4 страниц
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120542
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый всем день. Подскажите по вопросу в теме.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120554
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon,

Или я тебя не понял, или тебе нужно ShellExecute()/CreateProcess().
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120559
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonПодскажите по вопросу в теме.
Use TIBValidationService, Luke!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120572
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120577
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster,

ShellExecute()/CreateProcess() как раз не нужен, хочется без запуска gfix'а обойтись. остальное посмотрю, спасибо!
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120586
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще несколько вопросов, если можно.

1. Будет ли в FB 3.0 быстрее происходить sweep? Размер базы порядка 10 гб.
2. как узнать параметры OIT, OAT, OST, Next с помощью компонент IBX?

спасибо всем.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120588
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Makhaon!
You wrote on 4 декабря 2015 г. 14:19:56:

Makhaon> хочется без запуска gfix'а обойтись
это зависит от версии сервера и его архитектуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120596
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

скажем - fb 2.0 и выше, superserver.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120606
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonБудет ли в FB 3.0 быстрее происходить sweep? Размер базы порядка 10 гб.

Ты вообще понимаешь что такое sweep, чем он вызывается и когда происходит?..

Не надо выключать автосвип, надо правильно программировать приложения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120636
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon1. Будет ли в FB 3.0 быстрее происходить sweep? Размер базы порядка 10 гб.Когда база дорастет хотя бы до сотки, будешь задавать подобные вопросы. "Детских сегодня не завозили". (с, анек)
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120640
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Ivan Pisarevsky!
You wrote on 4 декабря 2015 г. 14:48:25:

Ivan Pisarevsky> Когда база дорастет хотя бы до сотки, будешь задавать подобные вопросы
это при условии нормального проектирования.
при паранормальном же, умельцы умудряются породить гигатонны мусора и на крохотных объёмах базы.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120646
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon2. как узнать параметры OIT, OAT, OST, Next с помощью компонент IBX?
можно разными способами получить. через mon$/tmp$, через IB API, и через TIBStatisticalService. В последнем случае надо парсить текст.

Собственно, более всего непонятно, зачем запускать sweep программно. Его надо запускать административно, и то в моменты, когда в системе наименьшее количество активных транзакций. А это надо мониторить, например утилитой IBTM.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120673
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЕго надо запускать административно, и то в моменты, когда в системе наименьшее
количество активных транзакций.
Sweep нужен (и запускается автоматически) ровно в двух случаях:
1) Сервер падал;
2) Программист приложения написал полную фигню.

Административный запуск sweep, не сопровождающийся раздачей люлей, смысла не имеет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120691
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Dimitry Sibiryakov!
You wrote on 4 декабря 2015 г. 15:21:14:

Dimitry Sibiryakov> Административный запуск sweep, не сопровождающийся раздачей люлей, смысла не имеет.
димо, скушай галоперидолу.
вдруг поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120702
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Если двигатель хорошо смазан, укрыт, и не работает, его можно считать вечным.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120742
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon
1. Будет ли в FB 3.0 быстрее происходить sweep? Размер базы порядка 10 гб.


будет. Если конечно не все 10G является мусором
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120757
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийэто при условии нормального проектирования.
при паранормальном же, умельцы умудряются породитьБоюсь, что при таком раскладе лишний часок работы свипа никто не заметит, на фоне куда более вопиющих проблем. :)
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120829
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

у тебя совершенно противоположное моему мнение на запуск sweep. если мое мнение подкреплено практикой и минимум десятками тяжелых систем, где случайно застрявшая oit ВНЕЗАПНО приводит к автосвипу, и вызывает тормоза, то твое мнение я не помню чем подкреплено.
В промышленных БД никаких внезапностей быть не должно, поэтому там автосвип отключать нужно. разрешаю не отключать - на однопользовательских и чахлых системах разве что с десятком пользователей, не больше.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120854
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и в ухо ему! в ухо!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120861
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvслучайно застрявшая oit
kdvВ промышленных БД никаких внезапностей случайностей быть не должно
Ага, вот в таком виде - согласен. Но чем оно теперь отличается от того, что я сказал?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120885
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

объясни мне, зачем в промышленной БД нужен включенный автосвип. Как раз чтобы он случайно сработал?
Или ты отрицаешь, что в базе могут происходить настоящие роллбэки?
И почему sweep нельзя запускать регламентно, если он действительно нужен? Я понимаю, разработчикам рубить пальцы-руки-ноги топором за плохие приложения. Но есть же и legacy, и сторонние.
Ты написал прекрасное приложение, и в результате существуешь в каком-то сферическом мире, который не допускает всего того, что я перечислил.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120887
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvИли ты отрицаешь, что в базе могут происходить настоящие роллбэки?

Ага. Напомнить, когда они происходят, настоящие-то?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120934
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю суть спора, что пока ленивые программисты не сделают из своего продукта идеально работающую конфетку, пользоваться таким продуктом нельзя?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39120952
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryпока ленивые программисты не сделают из своего продукта идеально работающую
конфетку, пользоваться таким продуктом нельзя?
Надо пинать этих программистов каждый раз, когда их совсем не конфетка устроила локальный
апокалипсис.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121054
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> то твое мнение я не помню чем подкреплено.

Чем подкреплено? Верой в розовые идеалы, конечно.
Которых он не видел и тем более не лабал, конечно. :)

> поэтому там автосвип отключать нужно

А вот тут ты делаешь ровно такое же голословное
заявление, как и он. Только с другого конца.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121108
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамkdv> поэтому там автосвип отключать нужноА вот тут ты делаешь ровно такое же голословное заявление, как и он. Только с другого конца.
еще раз, для тебя и для тех, у кого не бывает систем больше чем с 10 пользователей. И для всех остальных.

Когда разработчик делает систему, он ее разрабатывает в монопольном режиме. Он имеет смутное представление, как это все будет работать в многопользовательском режиме. Поэтому он не уделяет особого внимания оптимизации запросов, управлению транзакциями, версиям, мусору и прочему на текущий момент для него бреду.
Потом система попадает в промышленную эксплуатацию. И бывают те, кому повезло - то есть, на 10-20 пользователях и хорошем железе система работает еще туда-сюда.
И вот на этих системах, включая нагруженные еще больше, периодически случается такая фигня - вдруг все начинает тормозить на 30 минут, 1 час, или даже 2 часа, а потом "отпускает". Происходить это может в понедельник, среду, или даже четверг, и установить причину этого бывает сложно (якобы).

Так вот эти внезапные и случайные тормоза, в 90% случаев, результат срабатывания АВТОСВИПА.
Я замечу, что мусор в этих системах собирается так или иначе. Например, появляющиеся тормоза в конце дня, или с утра - это все РЕГУЛЯРНЫЕ тормоза, которые людям (пользователям) вроде бы понятны, и которые они могут пережить.
Но вот автосвип, который срабатывает абы как, вносит в работу совершенно ненужную депрессию.

Отключение автосвипа приводит к чему? К тому, что где-то в базе может быть мусор. Еще к тому, что постепенно растет память, потребляемая транзакциями snapshot. И даже если свип не запускать вручную, ничего страшного не происходит.
Вот к примеру, header page от базы некоего казино.
Код: plaintext
1.
2.
3.
4.
	Oldest transaction	839568
	Oldest active		112430625
	Oldest snapshot		112430561
	Next transaction	112431441
	Creation date		Jun 5, 2003 10:02:19
Статистика снята 5 июня 2014 года. Т.е. с момента создания БД прошел год.
Транзакций в сутки тут примерно 300к, так что OIT застряла где-то на третий день, после чего, через год, транзакции snapshot при старте стали аллокировать аж по 27.5 мегабайт памяти под локальный TIP.
И что? И НИЧЕГО.

Что ты, что Сибиряков, никак не могут понять, что
- автосвип стартует в любой произвольный момент времени, как только OST-OIT стало >= 20000.
- свип это скан всей БД, то есть тормоза с момента его запуска до момента его окончания.
- при плохом управлении транзакциями (а я позволю себе заметить, что таких систем примерно 70% от всех систем на ИБ и ФБ, если не больше), автосвип имеет мало шансов успешно завершиться, т.к. активные транзакции могут ему препятствовать.

Таким образом, я делаю вывод, что автосвип - зло по определению для систем более чем с 7-10 пользователей. У кого меньше, могут положить на это дело болт. Или положить болт на все что я сейчас написал, как угодно.
Тем не менее, массу систем советом отключить автосвип мы избавили от этих "случайных тормозов". Разумеется, исправлять управление транзакциями - это дальше на совести разработчиков, но они не всегда исправляют, не всегда доступны, и т.д.
Пользователей систем - больше, чем разработчиков этих систем.

Ну теперь скажи мне, что мое заявление - голословное.

p.s. из вышеизложенного я могу сделать даже куда далее идущий вывод - ЛЮБОЙ процесс в СУБД, который стартует в непредсказуемый момент времени, является вредоносным.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121110
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНадо пинать этих программистов каждый раз, когда их совсем не конфетка устроила локальный апокалипсис.
Дима, не работает это. Мы выписали много заключений про "говнософт" для пользователей систем. Вероятно, эти заключения даже были переданы некоторым разработчикам. Но даже когда софт разрабатывается и используется внутри большой компании, там есть две группы - админы и девелоперы. И девелоперы весьма часто игнорируют любые советы по поводу разработки. А админы потом, например, пишут скрипты, которые убивают раз в час их софт, чтобы этот софт не держал активной транзакцию.
Я насмотрелся всей этой фигни уже выше крыши. Так что твои советы не выключать автосвип и не запускать его вручную - не работают.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121112
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСтатистика снята 5 июня 2014 года
2004 года, конечно.

p.s. у меня собрано статистики разной, сейчас посчитал, как минимум по ~400 разным системам, на протяжении 15 лет. Поспорьте еще со мной.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121115
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvТак вот эти внезапные и случайные тормоза, в 90% случаев, результат срабатывания
АВТОСВИПА.
То есть 9 из 10 твоих клиентов присылают тебе выдержку из firebird.log, где есть
совпадающие с точностью до минуты с началом и концом тормозов записи о запуске и окончании
свипа?..

Или же просто IBTM сообщает о успешном окончании свипа именно в момент когда кончаются и
тормоза?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121118
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> для тех, у кого не бывает систем больше чем с 10 пользователей
kdv> Ну теперь скажи мне, что мое заявление - голословное.

Вдуй щеки обратно. Твоё заявление голословное.

P.S. И научись внимательно читать, что тебе пишут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121120
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТо есть 9 из 10 твоих клиентов присылают тебе выдержку из firebird.log, где есть
совпадающие с точностью до минуты с началом и концом тормозов записи о запуске и окончании
свипа?..
сколько лет существует версия ФБ, в которой данные про свип пишутся в лог ФБ?

Dimitry SibiryakovИли же просто IBTM сообщает о успешном окончании свипа
все гораздо проще. есть тормоза, смотрим статистику, видим застревание OIT, и что автосвип включен. Отключаем автосвип, "внезапные тормоза" пропадают.
Как я уже сказал, про "регулярные тормоза" (с утра или вечером) речь не идет.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121121
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамВдуй щеки обратно. Твоё заявление голословное.
почему оно голословное?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121127
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvсколько лет существует версия ФБ, в которой данные про свип пишутся в лог ФБ?

Три года.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121144
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> почему оно голословное?

Как можно не понимать голословность и глупость утверждения
"В промышленных БД нужно отключать автосвип" ? Про твои
"10 юзеров" и разрешаю я уж и не говорю - смешно, не более.
Не "в большинстве", не "в таких-то условиях", не "рекомендуется",
а "нужно всегда" и всё тут. Тут вы с тёзкоё два брата-акробата.

P.S. Системы бывают разные, жидкие и газообразные - есть
на 15 юзеров с высоким оборотом и CS, а есть и на 70, в
которых SS работает и никаких проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121155
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисmakhaon1. Будет ли в FB 3.0 быстрее происходить sweep? Размер базы порядка 10 гб.

будет. Если конечно не все 10G является мусором

Раз уж тут такой спор разразился, то поясню свой ответ. В тройке sweep не должен читать всю БД.

На DP и PP страницах введён swept флаг. Этот флаг означает, что на соответствующей странице данных нет неиспользуемых версий записей и sweep может просто пропустить его. В Release Notes это не описано. Кое какая информация есть здесь .

Самый хреновый вариант может быть в случае если до запуска свипа приложение умудрится модифицировать все страницы, и наплодить там мусор.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121160
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

пока не понятно, что не так на той системе. длинные пишущие транзакции вроде бы все вычищены - были вопросы. в лог fb свалилось:

(Server) Fri Dec 04 11:02:46 2015
Sweep is started by SWEEPER
OIT 2265655, OAT 2265656, OST 2265656, Next 2265657


(Server) Fri Dec 04 11:15:24 2015
Sweep is finished
OIT 2266105, OAT 2266106, OST 2266106, Next 2266109

свип в системе бывает не часто - где-то раз в 1.5 - 2 недели. раньше обычно выполнялся за где-то 2 минуты. этот почему-то был относительно долго, и, видимо, очень не вовремя: 13 минут хватило, что бы сервис убили.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121161
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvОтключаем автосвип, "внезапные тормоза" пропадают.
Танец дождя.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121179
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамКак можно не понимать голословность и глупость утверждения
"В промышленных БД нужно отключать автосвип" ? Про твои
"10 юзеров" и разрешаю я уж и не говорю - смешно, не более.
Не "в большинстве", не "в таких-то условиях", не "рекомендуется",
а "нужно всегда" и всё тут. Тут вы с тёзкоё два брата-акробата.
давай я твой комментарий, как и все остальные, проигнорирую.
Ты уже и так себя зарекомендовал как профессионального демагога, регулярно наводящего тень на плетень.
"научись внимательно читать, что тебе пишут.", и прочая ахинея, вместо конкретного ответа.

К тому же, никому не известно, что Рустам делает на Firebird, какие системы, сколько там пользователей, и так далее. Предлагаю тебе с текущем стилем ответов и комментариев пойти обратно в раздел Дельфи, а тут больше не появляться.
Это просто предложение, ты его можешь проигнорировать, но ты для меня так и останешься "болтологом", не имеющим на свои комментарии никакого основания, абсолютно.

Гаджимурадов РустамСистемы бывают разные, жидкие и газообразные - есть на 15 юзеров с высоким оборотом и CS, а есть и на 70, в которых SS работает и никаких проблем.
да, бывают. Но ПРАКТИКА (которой у тебя нет, я утверждаю, ибо обратных подтверждений нет совсем) говорит о том, что в БОЛЬШИНСТВЕ случаев автосвип лучше все же выключить, и запускать свип регулярно, автоматизированно, в конкретные периоды времени.
Я думаю, что обратного ПРАКТИЧЕСКОГО примера от тебя я не получу, никогда. Поэтому все будущие дискуссии на этом предлагаю считать законченными.

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

Dimitry SibiryakovТанец дождя.
да, вот такой танец. Данные по четыремстам системам собери, а потом будем сравнивать. Согласен, грубовато, зато практично.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121181
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvда, вот такой танец. Данные по четыремстам системам собери, а потом будем
сравнивать.
Что толку с данных, которые не помогут ответить на вопросы "что именно тормозит" и "на
чём, собственно, затык происходит". Код свипера не такой уж и сложный. Ни на первый, ни на
второй взгляд там нет ничего, что вызвало бы очередь за локами, вымывание кэша и тому
подобные спецэффекты.

Вот среди твоих данных есть данные из MON$IO_STATS и MON$RECORDS_STATS для коннекта
свипера при тормозах?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121183
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv- при плохом управлении транзакциями (а я позволю себе заметить, что таких систем примерно 70% от всех систем на ИБ и ФБ, если не больше), автосвип имеет мало шансов успешно завершиться , т.к. активные транзакции могут ему препятствовать.Не согласен с такой формулировкой.

Как по мне - неуспешное завершение - это прерывание свипа по какой-либо причине.
Свип можно прервать - мониторингом, шатдауном БД, остановкой сервиса, шатдауном ОСи - это всё легально и нормально.
Но никакие активные тр-ции не могут помешать свипу закончить начатое.

Другой вопрос - насколько близко к Next будет подвинут OIT и как много мусора будет собрано.
Но это уже не относится к успешности завершения свипа.

Давайте не будем друг друга путать, а остальных пугать :)
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121184
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaon13 минут хватило, что бы сервис убили.Не знаю кто там кого убил, но свип отработал и успешно завершился, судя по записи в логе.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121190
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonSweep is started by SWEEPER
OIT 2265655, OAT 2265656, OST 2265656, Next 2265657
нафига стартанули sweep, непонятно, потому что OST-OIT = 1

makhaon этот почему-то был относительно долго, и, видимо, очень не вовремя: 13 минут хватило, что бы сервис убили.
непонятно, почему долго. Next за это время выросло всего на 452 транзакции. Впрочем, об интенсивности операций внутри этих транзакций ничего не известно, может они там базу дрюкали. В результате и свип медленно отработал.

Впрочем, даже и по окончании свипа явно видно, что OIT не застревало (ибо и раньше было -1 от OAT и OST, и так же оно и стало), и sweep был запущен "от балды".

Еще раз. sweep нужен только для сборки потенциально присутствующего мусора в БД при застревании OIT, т.е. когда этот маркер не движется вместе с остальными "вверх". Причем, "потенциально присутствующего" - этот мусор может быть, а может и не быть.
Например, взяли, и убили процесс классика, который в базе ничего не менял. OIT застрянет на его транзакции, поскольку сервер не знает, менял этот процесс что-то или нет (вернее, память об изменениях погибла вместе с убитым процессом). В результате sweep если запустить, то он отработает впустую.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121203
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvOIT застрянет на его транзакции, поскольку сервер не знает, менял этот процесс что-то или нет (вернее, память об изменениях погибла вместе с убитым процессом). В результате sweep если запустить, то он отработает впустую.

А как в таком случае продвинуть счетчик и собрать мусор?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121259
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНапример, взяли, и убили процесс классика, который в базе ничего не менял. OIT застрянет на его транзакции, поскольку сервер не знает, менял этот процесс что-то или нет (вернее, память об изменениях погибла вместе с убитым процессом). В результате sweep если запустить, то он отработает впустую.
Тогда интересен такой момент. Прога на ФИБах с одним компонентом pFIBFatabase коннектится к базе на классике с рядом транзакций. Если одновременно активных транзакций несколько, процесс все равно один и тот же? И если процесс будет срублен - все ли они зависнут (не считая транзакций Read Read Committed Rec_version?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121262
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюбезныйЕсли одновременно активных транзакций несколько, процесс все равно один и тот же?
Чё?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121269
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЧё?
Имею в виду - один процесс на классик-сервере открывается под транзакцию или под коннект? Если под коннект (я всегда считал так), то если коннект, к примеру, с 5 активными транзакциями вдруг отвалится, то в OAT будет номер самой первой из таких транзакций?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121271
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюбезныйИмею в виду - один процесс на классик-сервере открывается под транзакцию или под коннект?

Чё?

ЛюбезныйЕсли под коннект (я всегда считал так), то если коннект, к примеру, с 5 активными транзакциями вдруг отвалится, то в OAT будет номер самой первой из таких транзакций?
Как ты догадался?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121272
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюбезныйПрога на ФИБах с одним компонентом pFIBFatabase коннектится к базе
Зачем FIBFatabase больше одного?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121273
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar, не подкалывай. Мне, как разработчику приложений, хочется без бутылки разобраться, почему при анализе gstat -h баз, которые используются моими приложениями, я вижу разницу в несколько сотен между Oldest transaction и Next transaction за каких-то несколько недель использования приложений, и сколько нужно выпитьчто нужно сделать, чтобы такого не было? Причём одно из приложений, которое работает уже года три с одной из баз, такой хренью не страдает - там эта разница не превышает 3.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121278
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛюбезныйGallemar, не подкалывай
Удержаться не могу
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121293
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarА как в таком случае продвинуть счетчик и собрать мусор?
во-первых, в данном случае никакого мусора нет. во-вторых, зачем продвигать OIT? 18516451
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121307
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,понятно. Глупость спросил.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121308
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе знаю кто там кого убил, но свип отработал и успешно завершился, судя по записи в логе.

Убили не FB сервис, а наш, который FB использует.

авторнафига стартанули sweep, непонятно, потому что OST-OIT = 1
Впрочем, даже и по окончании свипа явно видно, что OIT не застревало (ибо и раньше было -1 от OAT и OST, и так же оно и стало), и sweep был запущен "от балды".


Почему его fb запустил? Я тоже не знаю. Вот и появилась мысль - отключить авто-свип, и самому 'присматривать' за OIT.

Тут все поливают грязью - система кривая, криворукие программисты, а что с ней не так? Запросов к базе, обычно немного и все, насколько я знаю, уже оптимизированы по скорости. Пользователь один, локальный, активных соединений может быть несколько. Что можно еще поправить, кроме длинных пишущих транзакций? На что смотреть хоть?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121312
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПользователь один, локальный,

в смысле - пользователь расположен локально, но 'ходит' через сетевой протокол, через локальную петлю.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121321
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvнафига стартанули sweep, непонятно, потому что OST-OIT = 1

Это просто Влад выводит в лог совсем не те цифры, что привели к запуску свипа. Мы уже об
этом тут с ним говорили, поищи.

Поскольку счётчики штатно двигаются при старте транзакции, то транзакция свипа сначала их
подвинула насколько смогла, потом вывела новые значения в лог, а уже потом пошла шерстить
базу, пытаясь подвинуть их ещё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121322
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonНа что смотреть хоть?
На причину убивания сервиса. Если с ним всё так хорошо, зачем его убили? Если с ним что-то
таки было не так, надо смотреть что именно и почему.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121332
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Убили потому, что стали медленно (либо совсем перестали - сложно сказать) обрабатываться запросы к базе. Немного ранее убиения случился свип, как мы потом уже увидели по своим логам и fb.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121335
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonУбили потому, что стали медленно (либо совсем перестали - сложно сказать)
обрабатываться запросы к базе.
Так вот и надо смотреть почему они стали обрабатываться медленно. gstat, fb_lock_print и
т.д. и т.п.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121338
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonНемного ранее убиения случился свип
Повторю ещё раз: только две вещи могут привести к запуску автосвипа:
1) Падение сервера
2) Приложение, которое каким-то образом вызвало жёсткий откат.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121389
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, да ну. Мой софт помнишь? Там автосвип запустить как нифиг делать. Даже с небольшой нагрузкой.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121392
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarМой софт помнишь?
Помню. Шесть миллионов изменённых записей за транзакцию. См. выше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121406
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,потом gstat покажу
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121409
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarпотом gstat покажу
Снятый с опцией -r в момент непосредственно перед запуском автосвипа? У тебя такой есть?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121425
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,а нужен именно такой? Я вообще хотел тебе график по счетчикам показать. Как быстро sweep gap достигается.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121427
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarнужен именно такой?
Только он способен показать объём мусора, который свипер должен перепахать при работе.

И, кстати, напомни, какая у тебя интенсивность транзакций в рабочее время?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121435
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovИ, кстати, напомни, какая у тебя интенсивность транзакций в рабочее время?
в среднем 1.7 млн транзакций в сутки. Хотя его статистика у меня не более чем от 23 дней с момента создания БД (из рестора).
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121436
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,вот лог за 3 дня. В час по сотне тысяч и выше
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121437
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarDimitry Sibiryakov,вот лог за 3 дня.
охрененный лог. ты бы хоть дату-время туда втыкал. Зачем тебе там ID ?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121438
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, время в поле time_write.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121446
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv Зачем тебе там ID ?
Изначально все таблицы проектировал с id. Надо убрать,все равно по time_write только условия идут.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121448
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarвот лог за 3 дня. В час по сотне тысяч и выше
А теперь вопрос на засыпку для тех, кто дал автосвипу доработать: тормоза исчезают точно с
его концом или раньше?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121452
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovGallemarвот лог за 3 дня. В час по сотне тысяч и выше
А теперь вопрос на засыпку для тех, кто дал автосвипу доработать: тормоза исчезают точно с
его концом или раньше?

Не помню. По юности админской раз sweep получал раз в сутки и делал всё чтобы базу убить - во время sweep службу рестартовал на 2.1 :)
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121464
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис> В Release Notes это не описано

Просто замУчательно, я считаю.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121465
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> в БОЛЬШИНСТВЕ случаев автосвип лучше все же выключить, и запускать
kdv> свип регулярно, автоматизированно, в конкретные периоды времени.

Вот, так намного лучше. Пусть и с третьей попытки хотя бы. :)
Остальное бла-бла-бла юез комментариев, дабы не посылать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121467
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarНе помню
Тогда вопрос попроще: в суперсервере версии 2.5.2 и выше кто-нибудь когда-нибудь наблюдал
тормоза на всю продолжительность автосвипа ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121474
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov> Тогда вопрос попроще

Ответ на вопрос-то ладно, но как ты себе это представляешь?
Сидит человек "в засаде" и ждёт начала и конца с замерами? :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121477
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустамкак ты себе это представляешь?
Сидит человек "в засаде" и ждёт начала и конца с замерами? :)
Начался мат - запомнил время, прекратился мат - запомнил время. Посмотрел в firebird.log,
сверил время с записями о старте-финише автосвипа. Не rocket science.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121622
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvДанные по четыремстам системам собери, а потом будем сравнивать.
Твои данные по 400 системам способны ответить на два вопроса:
1) Отличаются ли тормоза при автосвипе от тормозов при ручном его запуске?
2) Наблюдаются ли они на суперсервере?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121638
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Ты реально не веришь, что чтение всей базы (много большей размера кеша) может вызвать тормоза просто из-за забития диска?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121644
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrТы реально не веришь, что чтение всей базы (много большей размера кеша) может
вызвать тормоза просто из-за забития диска?
Смотря о каком кэше ты говоришь. Оно идёт в режиме large scan, так что кэш страниц
вымываться не должен. Файловый кэш ОСи - да, но не с такой скоростью, как это описывают
очевидцы. И с этим таки можно бороться.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121657
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем тут вымывание? Свип просто генерит постоянную нагрузку на диск, который начинает не успевать обслуживать рабочие коннекты. Для супера это менее актуально, но даже он умеет паралельно лезть на диск
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121659
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrПричем тут вымывание? Свип просто генерит постоянную нагрузку на диск,
который начинает не успевать обслуживать рабочие коннекты.
Ну так кэш же как раз и предназначен для борьбы с таким явлением. Опять же вроде бы в этом
же топике говорилось про то, что очередь запросов к диску во время тормозов не отрывается
от нуля. То бишь - не он в данном случае бутылочное горлышко.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121664
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

dimitr же сказал что база много больше кеша может быть. Тут уже при свипе ничего не поможет. Не зря же в трёшке swept флаг вводили для борьбы с чтением всей базы.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121666
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисdimitr же сказал что база много больше кеша может быть. Тут уже при
свипе ничего не поможет.
Флаг чтения мимо кэша в коннекте свипера - поможет. Если, конечно, у ввода-вывода не 100%
загрузка.

PS: Да, ещё я не верю в нулевую стоимость вызова лок-менеджера и мгновенность создания
коннекта.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121667
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

т.е. ты считаешь что чтение 1 Tb даже мимо кеша не вызовет никакого дискомфорта у активно работающих с базой 400 пользователей?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121668
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денист.е. ты считаешь что чтение 1 Tb даже мимо кеша не вызовет никакого
дискомфорта у активно работающих с базой 400 пользователей?
Я считаю, что непрерывно горящий светодиод на винте невозможно не заметить. И что слово
perfmon знают очень немногие т.н. админы Windows.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121669
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: А ещё я считаю, что проблемы надо решать, а не прикрывать костылями.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121711
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovещё я не верю в нулевую стоимость вызова лок-менеджера и
мгновенность создания коннекта.
Впрочем, забей. "Революция, о необходимости которой так долго твердили большевики,
свершилась" ещё два года назад. И только отдельно взятые слоупоки её не заметили.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121936
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разве агрегатные запросы к таблице не инициируют подобия свипа, при условии, что устаревшие записи никто не держит?
Если таблиц с часто изменяемыми данными не очень много, то перебрать их в цикле и вызвать агрегатный запрос не составит большого труда.

З.Ы. Не один я любитель пофлеймить, как погляжу...
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39121943
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructor,

нет.

Для начала почитай что свип делает помимо сборки мусора.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39122012
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, иными словами, ты хочешь сказать, что при наличии массовой rollback транзакции, агрегатный запрос к таблицам, участвующим в массовой rollback транзакции, не приведет к подвижке OIT?
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39122040
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructorагрегатный запрос к таблицам, участвующим в массовой rollback транзакции, не приведет к подвижке OIT?
а с чего-бы запросу (!) вообще какие-то там маркеры транзакций двигать???
маркеры двигаются только либо при старте транзакции, либо посредством того самого ... свипа. застрявшую oit можно подвинуть только свипом.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39122066
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, прогнозировал, что этот вопрос появится и зададите его именно вы.
Дмитрий, вы меня недопоняли. Я всего лишь пытался уточнить, что именно имел ввиду Симонов Дмитрий в своей фразе "Для начала почитай что свип делает помимо сборки мусора."
Понятно, что никакой OIT агрегатным запросом двигаться не может в принципе, так как сервер, при выполнении агрегатного запроса к таблице и сбора мусорных страниц, понятия не имеет, какие еще страницы и каких таблиц изменяла транзакция, выполнившая массовый rollback.
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39122080
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBConstructor,

да именно это я имел ввиду
...
Рейтинг: 0 / 0
Как сделать gfix -sweep в коде Delphi компонентами IBX
    #39122230
DBConstructor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис, спасибо!
Просто я подумал, что кроме сбора мусора и изменения идентификаторов инвентаризации транзакций в gfix -sweep есть еще что-то, о чем следовало бы знать.
...
Рейтинг: 0 / 0
95 сообщений из 95, показаны все 4 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как сделать gfix -sweep в коде Delphi компонентами IBX
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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