|
виснет база
|
|||
---|---|---|---|
#18+
Firebird 2.5 Столкнулся с такими 2мя неприятными проблемами. - 1. (не очень критичная) база пухнет. В fbk виде занимает около 20мб в основном при работе распухает до 1гб и более - 2. (критичная) в какой-то момент что-то происходит с базой и она при обращении к одной из таблиц зависает на пол-дня, перезапуск всего не помогает, когда делаю бекап в таком состоянии виснет на одном из индексов одной таблицы. после того как повисит пол-дня отживает и продолжает нормально функционировать. как пофиксить не пойму. если кто сталкивался хотябы в какую сторону копать подскажите. коротко о самой базе - - 12 таблиц, - в 3 из них происходит очень массово запись и удаление записей посредством хранимых процедур (я так понимаю проблема 1 именно из-за этого она хранит зачем-то старые записи - вопрос можно какой-нить параметр поставить или что там еще чтоб она мусор не собирала?) - во время операций записи/обновления создается отдельный поток со своим соединением потом везде CommitRetaining и разрыв соединений, - все транзакции которые участвуют в операциях чтения/записи имеют уровни: read_committed,rec_version,nowait если база остается в другой программе для чтения то вот 2 не происходит ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 22:02 |
|
виснет база
|
|||
---|---|---|---|
#18+
tromaniв какую сторону копать подскажите.укорачивай транзакции. кто-то висит подолгу незакоммиченным и плодит тонны(гигабайты) версий. tromaniпотом везде CommitRetaining и разрыв соединенийсмысл делать ретайнинг перед разрывом соединений? "Шоб слоники бегали"? Налицо непонимание версионной природы сервера и работы с транзакциями. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2018, 22:53 |
|
виснет база
|
|||
---|---|---|---|
#18+
tromaniотдельный поток со своим соединением потом везде CommitRetaining и разрыв соединений автору приложений 10 розг. Про вред CommitRetaining я пишу на ibase.ru уже лет 20. Видимо, никто не читает. tromaniимеют уровни: read_committed,rec_version,nowait по первому пункту может быть http://www.ibase.ru/dbgrowth/ по этому пункту - читать про read committed read only. И еще http://www.ibase.ru/optimize/ раздел про транзакции. Кроме того http://www.ibase.ru/ibx раздел "Использование и управление IBTransaction в приложениях" он универсальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2018, 00:29 |
|
виснет база
|
|||
---|---|---|---|
#18+
ок спасибо, у меня было ощущение что дело может быть в ретаининг, про п2 что скажите? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2018, 10:57 |
|
виснет база
|
|||
---|---|---|---|
#18+
tromaniпро п2 что скажите?Я про пункт 2 и говорил, есть куча апдейтов, они плодят версии, пока висит некто с открытой транзакцией - версии остаются версиями, дают замедление работы и распухание базы. Потом этот некто завершает транзакцию, куча версий становится мусором и при попытке прочесть данные инициируется сбор мусора, дохленькая дисковая подсистема и привет тормоза описанные в пункте 2. Короче читай статьи, что выше запостил Дима, нет смысла каждый раз их тут пересказывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2018, 13:09 |
|
виснет база
|
|||
---|---|---|---|
#18+
tromaniона при обращении к одной из таблиц зависает на пол-дня, перезапуск всего не помогает, когда делаю бекап в таком состоянии виснет на одном из индексов одной таблицы 1. "зависает" - вероятно сборка мусора http://www.ibase.ru/garbage/ 2. "перезапуск не помогает" - ясное дело, мусор никуда не делся. 3. "бэкап виснет на одном из индексов" - это, мягко говоря, неправда. Бэкапу индексы неинтересны. В бэкап ФБ сохраняет только описание индексов, но не сами индексы. Если в базе мусор, то бэкап надо делать с опцией -g (и вообще всегда так делать) http://www.ibase.ru/gbak/ ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2018, 14:27 |
|
|
start [/forum/topic.php?fid=40&fpage=29&tid=1560954]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 153ms |
0 / 0 |