|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Для теста надо получить БД с мусором. Т.е., допустим, в БД есть пустая тестовая таблица. Надо с помощью некоторых манипуляций, сделать так, чтобы в этой таблице были мусорные версии, и производительность некоторых запросов была бы очень низкой (для низкой производительности надо, видимо, чтобы мусорных версий было очень много. Или все-равно, мусора или нет. Главно, чтобы записей в таблице было много?). Желательно (если это возможно), получить результат с помощью IBE и его скриптов. Как вообще определить, что в БД (таблице) есть мусор? Если Oldest transaction "застряла" -- это гарантирует, что в БД есть некоторое кол-во мусора? Если Oldest transaction не "застряла" -- в БД может быть мусор? Что такое savepoint (с помощью которых сервер преобразует rullback в commit)? Когда он не может преобразовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 12:39 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопКак вообще определить, что в БД (таблице) есть мусор? gstat -r database синопЕсли Oldest transaction "застряла" -- это гарантирует, что в БД есть некоторое кол-во мусора? нет. синопЕсли Oldest transaction не "застряла" -- в БД может быть мусор? может синопЧто такое savepoint (с помощью которых сервер преобразует rullback в commit)? Когда он не может преобразовать? чушь какая-то. при чем тут savepoint вообще? rollback превращается в коммит если не было изменений в транзакции (undo log). http://www.ibase.ru/mga Чтобы нагенерить версии, надо 1. стартануть транзакцию snapshot (застрянет OST и OAT) 2. в других транзакциях делать update/delete 3. смотреть gstat -r 4. когда надо, завершить транзакцию snapshot ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 13:09 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
kdvrollback превращается в коммит если не было изменений в транзакции (undo log). ....или после применения этого самого undo log. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 13:34 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
kdv, Спасибо. А можно сделать, чтобы версии мог убрать только sweep? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 19:42 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
update/delete 100500 записей + rollback ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 20:01 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопА можно сделать, чтобы версии мог убрать только sweep? для этого надо во всех коннектах isc_dbp_no_garbage_collect. Тогда в них не будет собираться мусор. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 20:24 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
dimitr update/delete 100500 записей + rollback роллбэк снапшота? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 21:40 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
kdv Чтобы нагенерить версии, надо 1. стартануть транзакцию snapshot (застрянет OST и OAT) 2. в других транзакциях делать update/delete 3. смотреть gstat -r 4. когда надо, завершить транзакцию snapshot Я делаю так: 1. Стартую снапшот 2. В тр-ии А вставляю запись и подтверждаю тр-ю; 3. В тр-ии В удаляю запись с шага 2 и подтверждаю тр-ю. Повторяю 2 и 3 много раз. Насколько понял Еманова, это надо повторить 100500 раз; 4. Подтверждаю снапшот транзакцию (насколько понял Еманова, ее нужно откатывать) Всн правильно или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2022, 22:43 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синоп Всн правильно или нет? Нет. Забыл сделать gstat -r и проверить есть мусор или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 07:32 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синоп, а теперь самый главный вопрос. Что тестируем? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 09:27 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Gallemar Нет. Забыл сделать gstat -r и проверить есть мусор или нет. Мусор был, но, видимо из-за ошибок в программе генерации этого самого мусора. Сейчас кажется более логичным вставлять записи до старта снапшота. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 12:14 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Симонов Денис а теперь самый главный вопрос. Что тестируем? Не правильно сказал... Не тестируем, а показываем. То, что свип избавляет от проблем с производительностью, которых нет после рестора. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 12:25 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синоп Не правильно сказал... Не тестируем, а показываем. То, что свип избавляет от проблем с производительностью, которых нет после рестора. версия? платформа? разрыв какой? ежесуточный прирост транзакций и мегабайт какой? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 12:30 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопНе тестируем, а показываем.То, что свип избавляет от проблем с производительностью, которых нет после рестора. Пристрелить диверсанта. От проблем с производительностью избавляет рихтовка рук того заскорузлого пацана, что приложение написал. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 13:54 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопНе правильно сказал... Не тестируем, а показываем. То, что свип избавляет от проблем с производительностью, которых нет после рестора. господи, ахинея какая... Вы что, сразу не могли запустить gstat -r ? Если версии есть, так см. mon$transaction, на наиболее длительные транзакции. Почему и зачем, и изничтожить их. И не надо никаких сценариев воспроизведения, они и так все известны. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2022, 18:27 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Мимопроходящий архитектура какая? версия? платформа? разрыв какой? ежесуточный прирост транзакций и мегабайт какой? Везде, к сожалению винда и пока 1.5. Все остальное везде разное. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:23 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Дремучие партизаны пошли, ещё полуторку используют. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:39 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Пристрелить диверсанта. От проблем с производительностью избавляет рихтовка рук того заскорузлого пацана, что приложение написал. Опять же, то что сборка мусора выполняется не известно когда, не известно как часто, с активными коннектами -- это, имхо, неправильно. ИМХО, лучше отключить автоматическую и делать это ГФИКСом монопольно каждую ночь. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:42 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопОпять же, то что сборка мусора выполняется не известно когда, не известно как часто, с активными коннектами -- это, имхо, неправильно. Да, неправильно. Поэтому надо "учиться, учиться и учиться" чтобы точно знать кем, когда и как она выполняется. Подсказка: это детерминированный процесс, не имеющий никакого отношения к "гфиксу". PS: В отличии от слоновьего автовакуума. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:47 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопОпять же, то что сборка мусора выполняется не известно когда, не известно как часто, с активными коннектами -- это, имхо, неправильно. не надо путать штатную сборку мусора и свип (автоматический или нет). На ibase.ru есть несколько достаточно подробных статей и про сборку мусора, и про свип, и т.д. Вместо того чтобы фантазировать, лучше сначала почитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:48 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
kdv господи, ахинея какая... Вы что, сразу не могли запустить gstat -r ? Если версии есть, так см. mon$transaction, на наиболее длительные транзакции. Почему и зачем, и изничтожить их. И не надо никаких сценариев воспроизведения, они и так все известны. Понятно, что с mon$transaction искать долгие транзакции проще... Но когда ее нет, это делать затруднительно. Конечно, это решаемый вопрос. Но это дело точно не 2х недель. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 13:54 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
kdv не надо путать штатную сборку мусора и свип (автоматический или нет). На ibase.ru есть несколько достаточно подробных статей и про сборку мусора, и про свип, и т.д. Вместо того чтобы фантазировать, лучше сначала почитать. Я имел ввиду авто-свип, который по Sweep interval ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:02 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопНо когда ее нет, это делать затруднительно. Нет, достаточно рассказать тому заскорузлому пареньку о средствах мониторинга в используемой им библиотеке доступа к серверу. А админу БД - о том как читать вывод gstat. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:03 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синоп Везде, к сожалению винда и пока 1.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:34 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
синопЯ имел ввиду авто-свип, который по Sweep interval Да, да, все уже давно поняли, что ты очередной чайник, их путающий его со сборкой мусора, к которой он не имеет никакого отношения. Смотри ответы выше. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 14:35 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Да, да, все уже давно поняли, что ты очередной чайник, их путающий его со сборкой мусора, к которой он не имеет никакого отношения. Смотри ответы выше. Так уж и никакого... имхо, свип тоже собирает мусор, но во всех таблицах и продвигает транзакции. Соответственно, оптимизируется TIP и т.д. А штатная сборка мусора работает только в тех данных, на которые наткнулся сервер, ничего не продвигает и т.д. Но я бы не сказал, что никакого отношения... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 15:04 |
|
Как замусорить БД?
|
|||
---|---|---|---|
#18+
Мимопроходящий сервер CS, или SS ? SS ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2022, 20:01 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1559830]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 292ms |
total: | 436ms |
0 / 0 |