powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Накопление версий записей при UPDATE
7 сообщений из 7, страница 1 из 1
Накопление версий записей при UPDATE
    #39708916
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть приложение, собирающее данные с датчиков и сохраняющее их в БД Firebird 2.5.
Данные сохраняются через вызов хранимой процедуры, которая делает INSERT в лог и UPDATE в таблицу состояний датчиков, после чего зовёт post_event.
Пишущая транзакция: write nowait read_committed rec_version.

Слушатели эвента стартуют транзакцию, в которой читают из БД новые записи в лог и обновлённые состояния датчиков для их визуализации.
Читающая транзакция: read nowait concurrency.

В лабораторных условиях работает без проблем, однако пользователи софта рапортуют о накоплении версий записей в таблице состояний:

Код: plaintext
1.
2.
Table                 Records    Versions  Rec/Vers size
 STATE            :      1352      698291        22%


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Parameter		Value
Page size		4096
Forced Write		ON
Dialect			3
OnDiskStructure		11.2
Sweep interval		20000
Oldest transaction	241697086
Oldest snapshot		241710000
Oldest active		241710000
Next transaction	241710001
Sweep gap (active - oldest)	12914
TIP size		14754 pages, 59015 kilobytes
Snapshot TIP size	12915 transactions, 7 kilobytes
Active transactions	1, 0% of daily average
Transactions per day	833482, for 290 days
Data versions percent	29.16% - records: 487 mb, versions: 142 mb, pages 883 mb, indices 220 mb
Database Size		1217.70 megabytes, 91% data and indices


Что можно проверить, чтобы выйти на причину?
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39708929
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolfЧто можно проверить, чтобы выйти на причину?

Найти кто стартовал транзакцию 241697087 и почему она не завершилась вовремя.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39709066
RWolf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакция отстаёт на 12к, версий в таблице на два порядка больше. Как отставание может быть связано с проблемой?
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39709072
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolf,

количество версий <> количеству активных транзакций. Ибо вообще 2 разные вещи
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39709144
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovRWolfЧто можно проверить, чтобы выйти на причину?

Найти кто стартовал транзакцию 241697087 и почему она не завершилась вовремя.Эта тр-ция никак не связана с мусором.
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39709145
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolfЧто можно проверить, чтобы выйти на причину?Активные тр-ции блокируют сборку мусора.
Можно последить за маркерами в течение рабочего дня, а не когда в БД никого нет.
Свип ночами запускать не помешает.
...
Рейтинг: 0 / 0
Накопление версий записей при UPDATE
    #39709194
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RWolf,

дополнительно - размер страницы маловат. надо бэкап и рестор с размером 8к.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Накопление версий записей при UPDATE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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