powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длительный commit
25 сообщений из 37, страница 1 из 2
Длительный commit
    #39965564
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите разобраться с загадкой.
Есть табличка
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE PERF_COUNTERS_DATA (
    TS                TIMESTAMP NOT NULL,
    CNT_VALUE         NUMERIC(18,2),
    PERF_COUNTERS_ID  INTEGER NOT NULL
);
ALTER TABLE PERF_COUNTERS_DATA ADD CONSTRAINT FK_PERF_COUNTERS_DATA_COUNTER FOREIGN KEY (PERF_COUNTERS_ID) REFERENCES PERF_COUNTERS (ID) ON DELETE CASCADE;
CREATE INDEX PERF_COUNTERS_DATA_IDX_CACHE ON PERF_COUNTERS_DATA (PERF_COUNTERS_ID, TS);
CREATE DESCENDING INDEX PERF_COUNTERS_DATA_IDX_TS ON PERF_COUNTERS_DATA (TS);
CREATE INDEX PERF_COUNTERS_DATA_IDX_TS_ACC ON PERF_COUNTERS_DATA (TS);



вставляю в нее 400 ранее подготовленных записей
Код: sql
1.
2.
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID)
select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA;


Запрос вставки выполняется за 30 мс, commit - 8..9 секунд
...
Рейтинг: 0 / 0
Длительный commit
    #39965566
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Загадка в том, что в другой базе такой же структуры, лежащей в том же каталоге, подключенной к тому же серверу, все тоже самое выполняется за 1-2 секунды. "Тормозящая" база после рестора и пересчета статистик. Триггеров на таблице или базе нет. Статистика ничего особенного не показывает.
В значительно больших по объему и по кол-ву записей в табличке базах коммит много быстрее... Почему такое может быть?
...
Рейтинг: 0 / 0
Длительный commit
    #39965568
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF,

статистику выполнения и коммита надо более подробную приводить
...
Рейтинг: 0 / 0
Длительный commit
    #39965569
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Статистики таблицы в "нормальной" и "тормозящей" базе
...
Рейтинг: 0 / 0
Длительный commit
    #39965570
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставка в "обычную"
------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 31ms
Current memory = 85 032 136
Max memory = 143 269 104
Memory buffers = 5 000
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 11 618

Коммит: Транзакция подтверждена... (2172 ms)

Вставка в "тормозящую"

------ Информация о производительности ------
Время подготовки запроса = 0ms
Время выполнения запроса = 79ms
Current memory = 84 729 056
Max memory = 85 926 408
Memory buffers = 5 000
Reads from disk to cache = 0
Writes from cache to disk = 0
Чтений из кэша = 10 311

Коммит: Транзакция подтверждена... (8531 ms)
...
Рейтинг: 0 / 0
Длительный commit
    #39965571
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Обычная"
Database header page information:
Flags 0
Checksum 12345
Generation 171
Page size 16384
ODS version 11.2
Oldest transaction 83
Oldest active 84
Oldest snapshot 84
Next transaction 158
Bumped transaction 1
Sequence number 0
Next attachment ID 6
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jun 1, 2020 13:14:16
Attributes force write

"Тормозящая"
Database header page information:
Flags 0
Checksum 12345
Generation 466
Page size 16384
ODS version 11.2
Oldest transaction 452
Oldest active 453
Oldest snapshot 453
Next transaction 454
Bumped transaction 1
Sequence number 0
Next attachment ID 8
Implementation ID 26
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Jun 2, 2020 16:44:08
Attributes force write
...
Рейтинг: 0 / 0
Длительный commit
    #39965583
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF,
Можно узнать по-подробней про FB и систему:

- Номер версии FB и архитектура, размер страницы ?
- Какая дисковая система (raid, ssd, virtual)?
- Включен ли FW ?
- Какая скорость коммита при отключенных индексах в PERF_COUNTERS_DATA ?
- Насколько фрагментирован диск ?

Удачи !
...
Рейтинг: 0 / 0
Длительный commit
    #39965586
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что бросается в глаза

В обычной в 3 раза меньше записей в мастер-таблице PERF_COUNTERS.
В обычной заблокирована сборка мусора (хотя статистика показывает отсутствие бекверсий).
Статистику коммита тоже нужно увидеть - это может быть важно.
В тормозящей гораздо больше дубликатов в индексах по TS.
...
Рейтинг: 0 / 0
Длительный commit
    #39965588
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF,

и ещё сравни количество активных коннектов.
...
Рейтинг: 0 / 0
Длительный commit
    #39965591
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fb 2.5.8.27089 SuperServer
Обычный HDD
FW включены
При отключении (ALTER ... INACTIVE) всех индексов, кроме внешнего ключа: "тормозящая" - коммит 5... 5,5 сек, "обычная" - 1..1,5сек
Фрагментации диска нет. Размер кластера 4Кб
...
Рейтинг: 0 / 0
Длительный commit
    #39965592
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Активных соединений, кроме IBExpert, нет. Базы восстановил на своем рабочем компе.
Дисковая подсистема ни при чем - потому что изначально проблему увидели на другом сервере, базу выгрузили и прислали. Развернули на резервном сервере, потом уже ее начал смотреть я. Т.е. в трех разных по аппаратному обеспечению база тормозит (и после рестора), конечно с разным временем выполнения операции.
...
Рейтинг: 0 / 0
Длительный commit
    #39965594
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF,

статистика коммита нужна.
Врубай трассировку и тащи от туда статистику выполнения запроса и коммита.
...
Рейтинг: 0 / 0
Длительный commit
    #39965598
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
триггеры?

зы
был же недавно пациент с пасхалками в виде триггеров уровня БД
...
Рейтинг: 0 / 0
Длительный commit
    #39965602
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Трассу щас соберу.
Триггеров на таблице нет
...
Рейтинг: 0 / 0
Длительный commit
    #39965603
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMFТриггеров на таблице нет

Так и тормозит у тебя не таблица.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Длительный commit
    #39965609
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2020-06-03T12:23:51.5190 (5612:0000000000F71390) ATTACH_DATABASE
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144

2020-06-03T12:23:51.5340 (5612:0000000000F71390) START_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)

2020-06-03T12:23:51.5500 (5612:0000000000F71390) START_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_808, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)

2020-06-03T12:24:11.0250 (5612:0000000000F71390) EXECUTE_STATEMENT_START
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)

Statement 76:
-------------------------------------------------------------------------------
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID) select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA

2020-06-03T12:25:14.3190 (5612:0000000000F71390) COMMIT_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_807, CONCURRENCY | WAIT | READ_WRITE)
4702 ms, 433 write(s), 1 fetch(es), 1 mark(s)

2020-06-03T12:25:14.3190 (5612:0000000000F71390) COMMIT_TRANSACTION
D:\DB\2020-06-01-UPP6.TEST_200601.FDB (ATT_11, SYSDBA:NONE, NONE, XNET:TEST_DEVPC)
C:\Program Files\Firebird\Firebird_2_5\bin\isql.exe:10144
(TRA_808, READ_COMMITTED | NO_REC_VERSION | WAIT | READ_WRITE)
8 ms, 1 write(s), 1 fetch(es), 1 mark(s)
...
Рейтинг: 0 / 0
Длительный commit
    #39965615
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from rdb$triggers where RDB$TRIGGER_TYPE>114
выдает пусто, т.е. триггеров уровня базы данных нет
...
Рейтинг: 0 / 0
Длительный commit
    #39965639
AltHasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF
в другой базе такой же структуры,
все тоже самое выполняется за 1-2 секунды.


Если у вас подозрения на саму "тормозящую" базу.
Тогда почему бы не создать пустую и залить в неё метаданные и данные.
Мы на работе используем IBEScript и эта утилита мгновенно заливает большие
объемы данных (с блобами в том числе).

- Какое значение DefaultDbCachePages ?
- Какая версия ODS ?

Что если увеличить Buffers и установить Page Size = 8192.


Удачи !
...
Рейтинг: 0 / 0
Длительный commit
    #39965646
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltHasp,
Мне ведь нужно разобраться, почему у одного клиента получаются такие "тормозящие" базы. Т.е. это не одна такая. Ну перекачаю я данные (хотя сомневаюсь насчет "быстро" для баз в несколько гигабайт размером) и она скорее всего не будет тормозить - это не поможет мне в поисках ответа.
...
Рейтинг: 0 / 0
Длительный commit
    #39965648
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AltHasp,

ODS version 11.2,
DefaultDbCachePages = 5000
...
Рейтинг: 0 / 0
Длительный commit
    #39965656
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не ошибаюсь, то при коммите очищаются временные таблицы с ON DELETE ROWS. Не в этом ли проблема?
...
Рейтинг: 0 / 0
Длительный commit
    #39965697
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MMF
Трассу щас соберу.
Зачем ? IBE прекрасно покажет статистику выполнения оператора COMMIT.
Тем более, что трасса тут 22144805 настроена не правильно - там нет полной статистики, нет EXEC_STMT_FINISH.
И - показывай полную статистику, включая потабличную.
...
Рейтинг: 0 / 0
Длительный commit
    #39965736
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
не знаю, как в IBE включить статистику Commit
Статистика выполнения запроса в картинке, потому что "Copy Analysis to Clipboard" разъезжаются колонки таблички
...
Рейтинг: 0 / 0
Длительный commit
    #39965745
MMF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на "нормальной" базе
Query
------------------------------------------------
insert into PERF_COUNTERS_DATA(TS, CNT_VALUE, PERF_COUNTERS_ID)
select TS, CNT_VALUE, PERF_COUNTERS_ID from T_PERF_COUNTERS_DATA;

Plan
------------------------------------------------


Query Time
------------------------------------------------
Prepare : 0,00 ms
Execute : 31,00 ms
Avg fetch time: 0,00 ms

Memory
------------------------------------------------
Current: 84 010 336
Max : 84 130 040
Buffers: 5 000

Operations
------------------------------------------------
Read : 132
Writes : 0
Fetches: 6 536
Marks : 870


Enchanced Info:
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
| Table Name | Records | Indexed | Non-Indexed | Updates | Deletes | Inserts | Backouts | Purges | Expunges |
| | Total | reads | reads | | | | | | |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|PERF_COUNTERS_DATA | 0 | 0 | 0 | 0 | 0 | 429 | 0 | 0 | 0 |
|T_PERF_COUNTERS_DATA | 0 | 0 | 429 | 0 | 0 | 0 | 0 | 0 | 0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+

Транзакция подтверждена... (953 ms)
...
Рейтинг: 0 / 0
Длительный commit
    #39965762
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используй тег FIXED:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|          Table Name           |  Records  |  Indexed  | Non-Indexed | Updates | Deletes | Inserts | Backouts |  Purges  | Expunges |
|                               |   Total   |   reads   |    reads    |         |         |         |          |          |          |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
|PERF_COUNTERS_DATA             |         0 |         0 |           0 |       0 |       0 |     429 |        0 |        0 |        0 |
|T_PERF_COUNTERS_DATA           |         0 |         0 |         429 |       0 |       0 |       0 |        0 |        0 |        0 |
+-------------------------------+-----------+-----------+-------------+---------+---------+---------+----------+----------+----------+
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Длительный commit
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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