Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как замусорить БД? / 25 сообщений из 28, страница 1 из 2
06.02.2022, 12:39
    #40132008
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Для теста надо получить БД с мусором.
Т.е., допустим, в БД есть пустая тестовая таблица. Надо с помощью некоторых манипуляций, сделать так, чтобы в этой таблице были мусорные версии, и производительность некоторых запросов была бы очень низкой (для низкой производительности надо, видимо, чтобы мусорных версий было очень много. Или все-равно, мусора или нет. Главно, чтобы записей в таблице было много?).
Желательно (если это возможно), получить результат с помощью IBE и его скриптов.
Как вообще определить, что в БД (таблице) есть мусор?
Если Oldest transaction "застряла" -- это гарантирует, что в БД есть некоторое кол-во мусора?
Если Oldest transaction не "застряла" -- в БД может быть мусор?
Что такое savepoint (с помощью которых сервер преобразует rullback в commit)? Когда он не может преобразовать?
...
Рейтинг: 0 / 0
06.02.2022, 13:09
    #40132013
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопКак вообще определить, что в БД (таблице) есть мусор?
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
...
Рейтинг: 0 / 0
06.02.2022, 13:34
    #40132015
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
kdvrollback превращается в коммит если не было изменений в транзакции (undo log).

....или после применения этого самого undo log.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.02.2022, 19:42
    #40132646
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
kdv,
Спасибо.
А можно сделать, чтобы версии мог убрать только sweep?
...
Рейтинг: 0 / 0
08.02.2022, 20:01
    #40132655
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
update/delete 100500 записей + rollback
...
Рейтинг: 0 / 0
08.02.2022, 20:24
    #40132660
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопА можно сделать, чтобы версии мог убрать только sweep?
для этого надо во всех коннектах isc_dbp_no_garbage_collect. Тогда в них не будет собираться мусор.
...
Рейтинг: 0 / 0
08.02.2022, 21:40
    #40132686
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
dimitr
update/delete 100500 записей + rollback

роллбэк снапшота?
...
Рейтинг: 0 / 0
08.02.2022, 22:43
    #40132695
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
kdv

Чтобы нагенерить версии, надо
1. стартануть транзакцию snapshot (застрянет OST и OAT)
2. в других транзакциях делать update/delete
3. смотреть gstat -r
4. когда надо, завершить транзакцию snapshot

Я делаю так:
1. Стартую снапшот
2. В тр-ии А вставляю запись и подтверждаю тр-ю;
3. В тр-ии В удаляю запись с шага 2 и подтверждаю тр-ю.
Повторяю 2 и 3 много раз. Насколько понял Еманова, это надо повторить 100500 раз;
4. Подтверждаю снапшот транзакцию (насколько понял Еманова, ее нужно откатывать)

Всн правильно или нет?
...
Рейтинг: 0 / 0
09.02.2022, 07:32
    #40132740
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синоп
Всн правильно или нет?

Нет. Забыл сделать gstat -r и проверить есть мусор или нет.
...
Рейтинг: 0 / 0
09.02.2022, 09:27
    #40132751
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синоп,

а теперь самый главный вопрос. Что тестируем?
...
Рейтинг: 0 / 0
09.02.2022, 12:14
    #40132775
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Gallemar
Нет. Забыл сделать gstat -r и проверить есть мусор или нет.

Мусор был, но, видимо из-за ошибок в программе генерации этого самого мусора.
Сейчас кажется более логичным вставлять записи до старта снапшота.
...
Рейтинг: 0 / 0
09.02.2022, 12:25
    #40132783
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Симонов Денис
а теперь самый главный вопрос. Что тестируем?

Не правильно сказал... Не тестируем, а показываем.
То, что свип избавляет от проблем с производительностью, которых нет после рестора.
...
Рейтинг: 0 / 0
09.02.2022, 12:30
    #40132784
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синоп
Не правильно сказал... Не тестируем, а показываем.
То, что свип избавляет от проблем с производительностью, которых нет после рестора.
архитектура какая?
версия?
платформа?
разрыв какой?
ежесуточный прирост транзакций и мегабайт какой?
...
Рейтинг: 0 / 0
09.02.2022, 13:54
    #40132809
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопНе тестируем, а показываем.То, что свип избавляет от проблем с
производительностью, которых нет после рестора.
Пристрелить диверсанта.

От проблем с производительностью избавляет рихтовка рук того заскорузлого
пацана, что приложение написал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
09.02.2022, 18:27
    #40132895
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопНе правильно сказал... Не тестируем, а показываем.
То, что свип избавляет от проблем с производительностью, которых нет после рестора.
господи, ахинея какая...
Вы что, сразу не могли запустить gstat -r ?
Если версии есть, так см. mon$transaction, на наиболее длительные транзакции. Почему и зачем, и изничтожить их.
И не надо никаких сценариев воспроизведения, они и так все известны.
...
Рейтинг: 0 / 0
10.02.2022, 13:23
    #40133121
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Мимопроходящий
архитектура какая?
версия?
платформа?
разрыв какой?
ежесуточный прирост транзакций и мегабайт какой?

Везде, к сожалению винда и пока 1.5.
Все остальное везде разное.
...
Рейтинг: 0 / 0
10.02.2022, 13:39
    #40133132
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Дремучие партизаны пошли, ещё полуторку используют.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.02.2022, 13:42
    #40133136
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
Dimitry Sibiryakov

Пристрелить диверсанта.

От проблем с производительностью избавляет рихтовка рук того заскорузлого
пацана, что приложение написал.

Опять же, то что сборка мусора выполняется не известно когда, не известно как часто, с активными коннектами -- это, имхо, неправильно.
ИМХО, лучше отключить автоматическую и делать это ГФИКСом монопольно каждую ночь.
...
Рейтинг: 0 / 0
10.02.2022, 13:47
    #40133141
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопОпять же, то что сборка мусора выполняется не известно когда, не известно как
часто, с активными коннектами -- это, имхо, неправильно.

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

PS: В отличии от слоновьего автовакуума.
...
Рейтинг: 0 / 0
10.02.2022, 13:48
    #40133143
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопОпять же, то что сборка мусора выполняется не известно когда, не известно как часто, с активными коннектами -- это, имхо, неправильно.
не надо путать штатную сборку мусора и свип (автоматический или нет).
На ibase.ru есть несколько достаточно подробных статей и про сборку мусора, и про свип, и т.д. Вместо того чтобы фантазировать, лучше сначала почитать.
...
Рейтинг: 0 / 0
10.02.2022, 13:54
    #40133145
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
kdv
господи, ахинея какая...
Вы что, сразу не могли запустить gstat -r ?
Если версии есть, так см. mon$transaction, на наиболее длительные транзакции. Почему и зачем, и изничтожить их.
И не надо никаких сценариев воспроизведения, они и так все известны.

Понятно, что с mon$transaction искать долгие транзакции проще...
Но когда ее нет, это делать затруднительно.

Конечно, это решаемый вопрос. Но это дело точно не 2х недель.
...
Рейтинг: 0 / 0
10.02.2022, 14:02
    #40133150
синоп
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
kdv
не надо путать штатную сборку мусора и свип (автоматический или нет).
На ibase.ru есть несколько достаточно подробных статей и про сборку мусора, и про свип, и т.д. Вместо того чтобы фантазировать, лучше сначала почитать.

Я имел ввиду авто-свип, который по Sweep interval
...
Рейтинг: 0 / 0
10.02.2022, 14:03
    #40133151
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопНо когда ее нет, это делать затруднительно.

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

А админу БД - о том как читать вывод gstat.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.02.2022, 14:34
    #40133167
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синоп
Везде, к сожалению винда и пока 1.5.
сервер CS, или SS ?
...
Рейтинг: 0 / 0
10.02.2022, 14:35
    #40133169
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как замусорить БД?
синопЯ имел ввиду авто-свип, который по Sweep interval

Да, да, все уже давно поняли, что ты очередной чайник, их путающий его со
сборкой мусора, к которой он не имеет никакого отношения. Смотри ответы выше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как замусорить БД? / 25 сообщений из 28, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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