powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Защититься от роста базы
50 сообщений из 50, показаны все 2 страниц
Защититься от роста базы
    #38953840
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

На днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.

Разбираться в причинах времени не было, девать эти 400 Гб тоже было некуда (сервер у провайдера на коллокейшене, по инету качать долго, согласовывать физический доступ тоже долго), пришлось их удалить.

Вероятнее всего, запустили отчет с неверными датами на входе и получили чудовищную кучу временных блобов.
Приложение мы поправим, чтобы такого не повторялось, но вопрос не в этом.

Вопрос в том, как защититься от такого катастрофического роста объема базы ?

На сервере win 2003 (на другом 2008), FB 2.5.4, CS, 32bit (есть удф-ки).

Пока только вижу вариант с дисковыми квотами. Но это защитит не от роста базы, а от пожирания всего диска, т.е. полумера. Да и по мере естественного роста базы придется эти квоты периодически увеличивать.

Можно ли, например, как-то ограничить аппетиты FB по части временных блобов ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953846
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:06:56:

Сисдба Мастеркеевич> Можно ли, например, как-то ограничить аппетиты FB
> по части временных блобов ?не пихать их куда ни попадя

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953862
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:06:56:

Сисдба Мастеркеевич> Можно ли, например, как-то ограничить аппетиты FB
> по части временных блобов ?не пихать их куда ни попадя

Они имеют привычку возникать "сами"
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953869
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 7 мая 2015 г. 17:25:39:

Сисдба Мастеркеевич> Они имеют привычку возникать "сами"мочить казлов! (с)

зы: тема-то много раз обсуждалась.
причины распухания давно диагностированы и законспектированы.
ты хочешь немедленного решения на уровне ядра в 2.5.Х ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38953871
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевичкак защититься
Никак.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954200
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба Мастеркеевичкак защититься
Никак.
А если программистам руки оборвать?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954220
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийзы: тема-то много раз обсуждалась.
причины распухания давно диагностированы и законспектированы.

Кинь в меня ссылкой (двумя-тремя)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954233
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы (хотя при сборке мусора и они не проблема)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954240
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы (хотя при сборке мусора и они не проблема)
А временные блобы откуда? Я не понимаю в чем горе ТС.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954244
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

да запросто

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
execute block
retuns (s blob sub_type text)
as
  declare i int = 1000000000;
begin
  s = '';
  while (i > 0) do
  begin
    s = s || '100500';
    i = i - 1;
  end
  suspend;
end



ясен пень пример утрирован, но смысл примерно такой
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954254
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,понятно,спасибо
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954313
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarКинь в меня ссылкой (двумя-тремя)

я с форума собирал.
http://www.ibase.ru/devinfo/dbgrowth.html
собрано вроде абсолютно все. только почему то в раздел "документация" на ibase не добавил
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954325
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

кстати там не написано что как раз функция LIST решает часть проблем при конкатенации BLOBов, поскольку в ней создаётся всего один временный BLOB в отличии от подхода

Код: plsql
1.
2.
3.
4.
5.
6.
7.
...
  s = '';
  FOR SELECT b FROM BIGTABLE DO
  BEGIN
    s = s || b;
  END
...
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954327
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,супер,спасибо
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954357
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисGallemar,

а чего там кидать. Либо мусор не собирается, либо плодятся временные блобы ( хотя при сборке мусора и они не проблема )Таки проблема. Ибо простым запросом, который ты же и привел, даже не имея прав ни на какие таблицы, можно распушить базу до пределов всего свободного места.

Интересно, есть ли в планах разработки FB не хранить временные блобы в базе ? Можно ведь, наверное, их хранить во временных файлах ? Или сервер не знает, останется ли блоб временным ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954393
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичМожно ведь, наверное, их хранить во временных файлах ?

Тебе с одним диском это не поможет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954505
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичИли сервер не знает, останется ли блоб временным ?Именно так
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954507
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба МастеркеевичМожно ведь, наверное, их хранить во временных файлах ?

Тебе с одним диском это не поможет.
Диск, конечно, не один.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?
А временные файлы, во-первых, можно на другой диск определить; во-вторых, они самоликвидируются, когда коннект, вызвавший проблему, отвалится. Остальные коннекты, если и пострадают, то весьма временно.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954513
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичЕсли база распухла, то что с ней делать ?...
Сисдба МастеркеевичА временные файлы, во-первых, можно на другой диск определить; во-вторых, они самоликвидируются, когда коннект, вызвавший проблему, отвалится. Остальные коннекты, если и пострадают, то весьма временно.С чего ты взял, что временные блобы не самоликвидируются, как временные файлы ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954515
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевич,

Код: sql
1.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?



оставь как есть. Как только транзакция создавшая временный блоб будет завершена это пространство можно будет использовать повторно
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954516
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичНа днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.От чего спасло ? Что заставило поднимать БД из бекапа\копии ?
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954575
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСисдба МастеркеевичНа днях на сервере случился "бадабум": база внезапно (в течение часа-двух примерно) выросла с ~230 Гб до >400 Гб.
Наверное, выросла бы и больше, если бы не закончилось место на диске.

Спасло наличие второго сервака на репликации и вчерашней копии nbackup.От чего спасло ? Что заставило поднимать БД из бекапа\копии ?Спасло от отсутствия свободного места на диске с базой.
Пришлось файл базы удалить и восстановить вчерашний из копии.
Файл базы ведь не подрежешь, и к диску место не пришьешь.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954580
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСисдба Мастеркеевич,

Код: sql
1.
Если база распухла, то что с ней делать ? Backup/restore ? сотни гиг ? А если еще облом во время рестора ?



оставь как есть. Как только транзакция создавшая временный блоб будет завершена это пространство можно будет использовать повторноМесто в базе - да, будет использовано повторно, а свободное место на диске с базой не появится, а оно нужно ... внезапно так.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954590
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевичсвободное место на диске с базой не появится, а оно нужно ...
внезапно так.

Действительно внезапно. Для чего нужно это место?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954661
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба Мастеркеевичсвободное место на диске с базой не появится, а оно нужно ...
внезапно так.

Действительно внезапно. Для чего нужно это место?
Дак FB ругается в лог:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Error extending file "*********" by 65 page(s).
Currently allocated 26397504 pages, requested page number 26397568

.....

Error extending file "*******" by 61 page(s).
Currently allocated 26397700 pages, requested page number 26397760


I/O error during "WriteFile" operation for file "*******"
Error while trying to write to file
Недостаточно места на диске.


Error extending file "*********" by 62 page(s).
Currently allocated 26397700 pages, requested page number 26397761


I/O error during "WriteFile" operation for file "*********"
Error while trying to write to file
Недостаточно места на диске.

........

Database: *********
internal Firebird consistency check (missing pointer page in DPM_data_pages (243), file: dpm.cpp line: 703)

.....

I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM"
Error while trying to write to file
Недостаточно места на диске.
А работать то надо, начальники тоже ругаются.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954667
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 14:36:26:

Сисдба Мастеркеевич> I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM"
> Error while trying to write to file
> Недостаточно места на диске.
TEMP на том же диске что и база?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954675
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичI/O error during "WriteFile" operation for file
"D:\TEMP\FB_TABLE_3YWUTM"
Error while trying to write to file
Недостаточно места на диске.
А кто-то тут утверждал, что диск не один и временные файлы лежат совсем отдельно...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954691
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 14:47:04:

Сисдба Мастеркеевич> Файл базы ведь не подрежешь, и к диску место не пришьешь.
касаемо "пришивания места к диску" ты глубоко заблуждаешься.
даже на win, не говоря уж про linux.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954759
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 14:36:26:

Сисдба Мастеркеевич> I/O error during "WriteFile" operation for file "D:\TEMP\FB_TABLE_3YWUTM"
> Error while trying to write to file
> Недостаточно места на диске.
TEMP на том же диске что и база?
Физических дисков на сервере 8 штук. Из 6 сделан RAID-10, 2 - не в райде, для системы, резервных копий и прочего. База и темпы на райде, ибо он типа быстрый и умный.

Dimitry SibiryakovСисдба МастеркеевичI/O error during "WriteFile" operation for file
"D:\TEMP\FB_TABLE_3YWUTM"
Error while trying to write to file
Недостаточно места на диске.
А кто-то тут утверждал, что диск не один и временные файлы лежат совсем отдельно...
Я говорил о том, что это можно сделать.

МимопроходящийHello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 14:47:04:

Сисдба Мастеркеевич> Файл базы ведь не подрежешь, и к диску место не пришьешь.
касаемо "пришивания места к диску" ты глубоко заблуждаешься.
даже на win, не говоря уж про linux.
В теории возможно многое.
На практике, в нашем случае, чтобы прирастить место, надо было:
1. Договориться с провайдером о физическом доступе к серверу (несколько часов)
2. Быстро найти дополнительные диски (хорошо, пусть они есть заранее запасенные)
3. Найти, куда засунуть эти диски на сервере. Хорошо, меняем полностью набор дисков в массиве.
4. Построить новый массив, скопировать туда (откуда-то) проблемную базу и еще 2 базы, которые там же были, тоже >100 Гб каждая. Базы эти мало используются, туда только заливаются данные, но они тоже нужны в работе.
5. Запустить всё в работу.

В итоге это всё выльется в целый рабочий день и не гарантирует неповторения ситуации.

К тому же, 170 Гб мусора в базе - не айс, он ведь и в копии попадает, их тоже где-то надо хранить.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954786
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичЯ говорил о том, что это можно сделать.
Это нужно сделать. Вне зависимости от. А в твоём случае остаётся только повторить,
что временные блобы во временных файлах на том же диске - не помогут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954814
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба МастеркеевичЯ говорил о том, что это можно сделать.
Это нужно сделать. Вне зависимости от. А в твоём случае остаётся только повторить,
что временные блобы во временных файлах на том же диске - не помогут.
Смотри.
Есть дисковое пространство ~800 Гб.
1 вариант: создаем один раздел на всё пространство, в нем живут и темпы, и база. Темпы - меняются, они могут как прирастать в объеме, так и уменьшаться. База - может только прирастать. Таким образом, мы имеем потенциальную возможность роста базы до ~800 Гб, с уменьшением места для темпов, что не сильно критично для работы (у нас нет больших сортировок и не пишем много во временные таблицы).
2 вариант: создаем 2 раздела, один для темпов, скажем, 100 Гб, второй - для базы, 700 Гб. Теперь мы имеем потенциальную возможность роста базы до ~700 Гб, с постоянным объемом места для темпов.

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

Теперь посмотрим, что было бы в моем случае, если бы временные блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы. В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место освободится - вуаля, можно продолжать работать дальше.

Тот пользователь, у кого обломился запрос, прибежит к программисту жаловаться, что у него что-то там не открывается. Программист попробует воспроизвести и сразу увидит причину.
А сейчас пришлось за неимением времени и места на дисках убить распухшую базу, потратить немало времени на восстановление работоспособности сервера и проводить следствие по логам, чтобы понять, что же произошло.

ИМХО, хранение временных блобов в базе - это уязвимость сервера, существенная, хоть и редко встречающаяся на практике. Да и хранить в базе мусор, который нужен только на время запроса и более не потребуется никому и никогда - это расточительно.

Я понимаю, что сейчас в сервере с временными блобами ничего не изменить, можно не обвинять меня в том, что я чего-то требую :) Я хочу понять, как не допустить в будущем подобной ситуации, т.е. неконтролируемого и быстрого роста базы.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954826
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба МастеркеевичТеперь посмотрим, что было бы в моем случае, если бы временные
блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы.
В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место
освободится - вуаля, можно продолжать работать дальше.
В твоём случае проблема возникла не из-за нехватки места под базу, а как раз из-за
нехватки места под временные файлы. Когда база упирается в свободное место, всё именно так
и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается -
вуаля, можно ещё некоторое время поработать (по крайней мере на чтение). Временные файлы
используются в гораздо большем количестве случаев, поэтому из-за нехватки места в TEMP и
упало сразу всё.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954850
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевич Я хочу понять, как не допустить в будущем подобной ситуации, т.е. неконтролируемого и быстрого роста базы.

У меня неконтролируемый рост (тестовой) базы данных провоцируется(?) пулом подключений. Тоже, наверное, блобы место выжирают - не вникал.

Если пул выключить, то база не пухнет. Не пухла, по крайней мере, до прикручивания пула.

После перезапуска тестов база продолжает пухнуть.

Принудительную сборку мусора между запусками тестов я не делаю (лень / дешевле базу пересоздать). Фоновую сборку мусора не отключал.

Транзакции коммитятся.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
       Flags                   0
       Checksum                12345
       Generation              252957375
       Page size               8192
       ODS version             11.2
       Oldest transaction      252862203
       Oldest active           252862204
       Oldest snapshot         252862184
       Next transaction        252862224
       Bumped transaction      1
       Sequence number         0
       Next attachment ID      95149
       Implementation ID       26
       Shadow count            0
       Page buffers            0
       Next header page        0
       Database dialect        1
       Creation date           Apr 10, 2015 17:46:12

Как это лечить - ахез (без пула подключений все работает очень тоскливо, поэтому я его даже и не пробую отключать).

Соорудил выделенный раздел (>3TB) под тестовые базы и забил :)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954857
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Коваленко Дмитрий!
You wrote on 8 мая 2015 г. 17:12:47:

Коваленко Дмитрий> Соорудил выделенный раздел (>3TB) под тестовые базы и забил :)
маниак!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954863
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovСисдба МастеркеевичТеперь посмотрим, что было бы в моем случае, если бы временные
блобы жили в темп-файлах: база бы не увеличилась до предела, а всё место заняли бы темпы.
В таком случае кривой запрос просто обломится, коннект отвалится, темпы убьются, место
освободится - вуаля, можно продолжать работать дальше.
В твоём случае проблема возникла не из-за нехватки места под базу, а как раз из-за
нехватки места под временные файлы. Когда база упирается в свободное место, всё именно так
и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается -
вуаля, можно ещё некоторое время поработать (по крайней мере на чтение). Временные файлы
используются в гораздо большем количестве случаев, поэтому из-за нехватки места в TEMP и
упало сразу всё.
Судя по логам, ошибки нехватки места начали появляться около 12.30. Окончательно всё упало около 15.30. Кривой запрос был запущен около 11.00.
Скорее всего, первый раз нехватка места произошла из-за частичного подрастания базы и существенного объема, занятого темпами. в 12.30 кривой запрос отвалился, темпы убились, но база не уменьшилась. Скорее всего, кривой запрос пытались запустить еще не раз (правда, я в логах нашел только один повторный запуск). В результате таких итераций база распухла до пределов всего раздела, места не осталось и работать стало невозможно.

Да, коннекты у нас осуществляются с отключенной сборкой мусора, ибо со сборкой работает медленнее.
Мусор убирается ночами во время свипа.

Вопрос: если бы коннект был со сборкой мусора, то при повторных запусках кривого запроса было бы использование того места в базе, которое было выделено под временные блобы в предыдущих попытках ?


авторКогда база упирается в свободное место, всё именно так
и происходит: кривой запрос обламывается, транзакция откатывается, место освобождается -
вуаля, можно ещё некоторое время поработать (по крайней мере на чтение)Каким образом место освобождается, если темпы на другом диске (ты ведь про этот вариант пишешь) ? Или ты имеешь в виду место под темпы ? В любом случае, работа только на чтение - не вариант.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954872
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийКоваленко Дмитрий> Соорудил выделенный раздел (>3TB) под тестовые базы и забил :)
маниак!

Увы, нет. И вообще - я уже ушел из Большого секса :)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954879
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисдба Мастеркеевичконнекты у нас осуществляются с отключенной сборкой мусора, ибо
со сборкой работает медленнее.
В морг. Вас уже ничто не спасёт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954880
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 17:22:37:

Сисдба Мастеркеевич> Да, коннекты у нас осуществляются с отключенной сборкой мусора,
> ибо со сборкой работает медленнее.
клиентские приложения спроектированы очень плохо.
или даже совсем никак.
какой разрыв в транзакциях набегает за день?

gstat -h
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954881
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Коваленко Дмитрий!
You wrote on 8 мая 2015 г. 17:25:23:

Коваленко Дмитрий> Увы, нет. И вообще - я уже ушел из Большого секса :)
разработку своей машины Тьюринга ещё продолжаешь? ;)
или только саппорт?

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954972
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийКоваленко Дмитрий> Увы, нет. И вообще - я уже ушел из Большого секса :)
разработку своей машины Тьюринга ещё продолжаешь? ;)
или только саппорт?


Если мне не изменяет память, LOA "машиной Тьюринга" (в 2007-ом) назвал мою дуболомную реализацию файлового кэша. Которую я еще пытался прикрутить к генератору индекса "полнотекстового поиска" по базе данных. Конкретно та реализация кэша умерла вместо со второй версией провайдера. В третьей - уже нормальная, "как у сервера". Запилена еще в 2010 году :)

Кстати, тогда проблема была связана с долбанным флагом FILE_FLAG_RANDOM_ACCESS. Из-за него выжиралась вся память. И все начинало работать именно как "машина Тьюринга"... Сейчас все работает достаточно красиво :)

---
Саппорта у меня практически нет. Не жалуются :)

Но до финиша пока еще далеко.

---
На "маньяка" (конкретно в данном случае) не тяну, потому что уже даже не тянет ... экспериментировать для локализации проблемы :)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38954977
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Коваленко Дмитрий!
You wrote on 8 мая 2015 г. 18:46:06:

Коваленко Дмитрий> Если мне не изменяет память, LOA "машиной Тьюринга" (в 2007-ом) назвал
> мою дуболомную реализацию файлового кэша. Которую я еще пытался
> прикрутить к генератору индекса "полнотекстового поиска" по базе данных.
> Конкретно та реализация кэша умерла вместо со второй версией провайдера.
> В третьей - уже нормальная, "как у сервера". Запилена еще в 2010 году :)
>
> Кстати, тогда проблема была связана с долбанным флагом
> FILE_FLAG_RANDOM_ACCESS. Из-за него выжиралась вся память. И все
> начинало работать именно как "машина Тьюринга"... Сейчас все работает
> достаточно красиво :)счастливый человек...
Коваленко Дмитрий> Саппорта у меня практически нет. Не жалуются :)
счастье в квадрате!
Коваленко Дмитрий> Но до финиша пока еще далеко.
> ---
> На "маньяка" (конкретно в данном случае) не тяну, потому что уже даже не
> тянет ... экспериментировать для локализации проблемы :)
- моня, вы знаете, с вашей сарой спят все кому только ни хочется!
- ой вэй! как я их понимаю! мне и самому не хочется...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38956041
Сисдба Мастеркеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийHello, Сисдба Мастеркеевич!
You wrote on 8 мая 2015 г. 17:22:37:

Сисдба Мастеркеевич> Да, коннекты у нас осуществляются с отключенной сборкой мусора,
> ибо со сборкой работает медленнее.
клиентские приложения спроектированы очень плохо.
или даже совсем никак.
какой разрыв в транзакциях набегает за день?

gstat -h
Я так понимаю, надо непосредственно перед свипом смотреть:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
XXXXXXXXXX    Tue May 12 04:26:40 2015
        Sweep is started by SYSDBA
        Database "*******"
        OIT 871575354, OAT 871575355, OST 871575355, Next 871577539


XXXXXXXXXX    Tue May 12 07:13:06 2015
        Sweep is finished
        Database "*******"
        OIT 871615514, OAT 871615515, OST 871615507, Next 871615522
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38956121
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FBDataGuard мониторит свободное место для БД, темп-файлов, сервера.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38956169
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Alexey Kovyazin!
You wrote on 12 мая 2015 г. 10:56:26:

Alexey Kovyazin> FBDataGuard мониторит свободное место для БД, темп-файлов,
сервера.ты ему вместо таблетки предлагаешь кушать градусник.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38956204
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящийпредлагаешь кушать градусник.
Ну так это же классика: "и всем по порядку даёт шоколадки, и ставит, и ставит им
градусники." (с) КЧ
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38956849
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не помню из какого фильма, но вспомнилось:
- А почему вы градусник в задницу ставите?
- У нас военная медицина, больной должен понимать, что тут ему не курорт.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38957108
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко Дмитрий
Код: plaintext
1.
2.
3.
4.
5.
6.
       Oldest transaction      252862203
       Oldest active           252862204
       Oldest snapshot         252862184
       Next transaction        252862224
       Next attachment ID      95149
       Creation date           Apr 10, 2015 17:46:12


Вот та же самая база на текущий момент. Прошло два перезапуска тестов. Второй закончится вечером (идет сутки):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
        Flags                   0
        Checksum                12345
        Generation              295547676
        Page size               8192
        ODS version             11.2
        Oldest transaction      295419307
        Oldest active           295419308
        Oldest snapshot         295419304
        Next transaction        295419324
        Bumped transaction      1
        Sequence number         0
        Next attachment ID      128350
        Implementation ID       26
        Shadow count            0
        Page buffers            0
        Next header page        0
        Database dialect        1
        Creation date           Apr 10, 2015 17:46:12

База выросла еще на несколько десятков гиг.

Юзается суперклассик.

Сегодня попробую выполнить принудительную сборку мусора в тестовых базах и посмотрим - поможет это или нет :)
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38959395
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко ДмитрийЮзается суперклассик.
Сегодня попробую выполнить принудительную сборку мусора в тестовых базах и посмотрим - поможет это или нет :)
Помогло. База перестала расти (размер не изменился ни на байт).

Сборка мусора выполнялась в монопольном режиме.
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38959428
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коваленко ДмитрийПомогло. База перестала расти (размер не изменился ни на байт).Не может быть !
...
Рейтинг: 0 / 0
Защититься от роста базы
    #38959444
Коваленко Дмитрий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladКоваленко ДмитрийПомогло. База перестала расти (размер не изменился ни на байт).Не может быть !
Сам хренею.
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Защититься от роста базы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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