FB 2.5.1.26351 32bit classic, один пользователь
база 800 Мб (проблемы начались с 500).
c++, native api, sweep отключен, работа производится из разных потоков.
90% операций - только insert в таблицу1, остальное - select/insert в других таблицах.
update применимо только к одной таблице, операции редки (~1000 в день).
при этом update возможен только из одного потока, нет конкуренции.
запросы все примитивные, максимум сложности select sum(field1) from table1
статистика c интервалом в пару дней:
Код: Выделить всё
Database header page information:
Flags 0
Checksum 12345
Generation 7198805
Page size 4096
ODS version 11.1
Oldest transaction 7197497
Oldest active 7197498
Oldest snapshot 7197498
Next transaction 7197499
Bumped transaction 1
Sequence number 0
Next attachment ID 1287
Implementation ID 16
Shadow count 0
Page buffers 0
Next header page 0
Database dialect 3
Creation date Mar 22, 2012 18:49:20
Attributes force write
Variable header data:
Sweep interval: 0
*END*
Generation 7406437
Page size 4096
ODS version 11.1
Oldest transaction 7405043
Oldest active 7405044
Oldest snapshot 7405044
Next transaction 7405048
периодически наступает время (зависимости не обнаружил, как правило раз в день-два),
когда некоторые запросы начинают выполняться
непозволительно долгое время, наблюдал до 50 секунд. это может быть любой запрос (select/insert/update)
в любом потоке, в разные таблицы.
если выполняется один такой "тормозной" запрос, он блокирует или сильно замедляет
выполнение всех остальных в других потоках. как будто начинает что-то происходить в такие моменты
постороннее, мешающее работе, но ничего криминального в ОС замечено не было.
идеально сюда вписывался sweep, но его отключение результата не принесло.
дополнительно пытался защищать isc_start_transaction с помощью критической секции,
а также открывать отдельные instance для разных потоков, менять версии FB, не помогло.
какие будут мысли по этому вопросу, уважаемые гуру?