|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Arioch, Я так понял, что есть тестовый нормальный сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:26 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Ariochкак поведет себя embedded сервер, когда он OIT "подвинет" - при выключении приложения ( и соотв. смерти транзакции ), или при следующем запуске? Ни то ни другое. Подвинуть может только sweep, а он стартует только при старте транзакции. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:26 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
DarkMasterЯ так понял, что есть тестовый нормальный сервер. Но к нему нет нормального DBA, что и превращает данный топик в очередное УГ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:30 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochDarkMaster, а толку с gbak'a на embedded 2.1 ? Дык тут либо Service API, либо disconnect в приложении + gbak + connect приложения. В любом случае - must have. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:31 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
NightWizardПрочитал в документации, что после массового удаления/добавления записей необходимо вручную инициировать пересчет индексов Телега впереди лошади. 1) перед массовым и *монопольным* добавлением/изменением записей *бывает удобно* (чисто для скорости и только для неё, никаих необходимо и близко не стоит) отключить индексы. После этого, действительно, индексы *необходимо* включать - но вовсе не "после массовой вставки", а примитивно "после выключения индексов" (на монопольную операцию, если решили так делать). 2) после массового удаления/изменения записей (сравнимого по кол-ву с общим размером таблицы) образуется непропорционально много мусора. Его желательно - н не необходимо - почистить недожидаясь автоматической регулрно авто-сборки. Но индексы для этого трогать ЕМНИП не нужно, select count(*) from table1 вполне справится. Можно, конечно, и пересчётом индексов того-же добиться.... Это предполагая, что вы не отключали обычную сборку мусора по умолчанию ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:32 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
DarkMasterArioch, Я так понял, что есть тестовый нормальный сервер. ...на котором "котлдеты не подгорают" Если погорают - то конечн нафиг встройку, подключаться ibexpert'ом и смотреть всё интересное прямо в GUI ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:33 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAriochкак поведет себя embedded сервер, когда он OIT "подвинет" - при выключении приложения ( и соотв. смерти транзакции ), или при следующем запуске? Ни то ни другое. Подвинуть может только sweep, а он стартует только при старте транзакции. ...ага, вот оно, что происходит, скорее всего NightWizardто при последующем запуске и подключении нужно опять делать перестройку всех индексов - а это приводит к тому, что перестройка всех индексов занимает более 225 сек, что очень плохо ...ну а потом уже и индексы перестраиваются, после уборки ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:36 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
имхо, топег - фейк. аффтар - выбегалло. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:38 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochNightWizardПрочитал в документации, что после массового удаления/добавления записей необходимо вручную инициировать пересчет индексов Телега впереди лошади. 1) перед массовым и *монопольным* добавлением/изменением записей *бывает удобно* (чисто для скорости и только для неё, никаих необходимо и близко не стоит) отключить индексы. После этого, действительно, индексы *необходимо* включать - но вовсе не "после массовой вставки", а примитивно "после выключения индексов" (на монопольную операцию, если решили так делать). 2) после массового удаления/изменения записей (сравнимого по кол-ву с общим размером таблицы) образуется непропорционально много мусора. Его желательно - н не необходимо - почистить недожидаясь автоматической регулрно авто-сборки. Но индексы для этого трогать ЕМНИП не нужно, select count(*) from table1 вполне справится. Можно, конечно, и пересчётом индексов того-же добиться.... Это предполагая, что вы не отключали обычную сборку мусора по умолчанию Сборку мусора не отключал. Если не делать ALTER INDEX idx_Table1 ACTIVE, то даже при старте приложения (а это ведь и старт Embedded сервера по сути) медленно выполняются запросы - а какой мусор может быть у только что запущенного сервиса ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:39 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovAriochкак поведет себя embedded сервер, когда он OIT "подвинет" - при выключении приложения ( и соотв. смерти транзакции ), или при следующем запуске? Ни то ни другое. Подвинуть может только sweep, а он стартует только при старте транзакции. но так даже лучше запустили программу, убедились что все быстро, остановили программу, скопировали файл БД на полноценный сервер как эталон "всё хорошо". запустили программу еще раз, погоняли час-два-три до тормозов, остановили и скопировали файл БД как эталон "всё плохо" потом искать разницу ( !! не подключаясь к ним сервером, а исключительно read-only утилитами типа GStat, ibexpert database inside, IBSurgeon DBInfo http://ib-aid.com/en/ibsurgeon-free-tools/ !! ) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:40 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
NightWizardкакой мусор может быть у только что запущенного сервиса ? Мусор - он в БД хранится и к процессам отношения не имеет. Особенность версионников. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:40 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochDimitry Sibiryakovпропущено... Ни то ни другое. Подвинуть может только sweep, а он стартует только при старте транзакции. но так даже лучше запустили программу, убедились что все быстро, остановили программу, скопировали файл БД на полноценный сервер как эталон "всё хорошо". запустили программу еще раз, погоняли час-два-три до тормозов, остановили и скопировали файл БД как эталон "всё плохо" потом искать разницу ( !! не подключаясь к ним сервером, а исключительно read-only утилитами типа GStat, ibexpert database inside, IBSurgeon DBInfo http://ib-aid.com/en/ibsurgeon-free-tools/ !! ) тормоза спустя две недели после работы софта начинаются примерно... Это осложняет ситуацию. Ладно, попробую как-нибудь сдампить "плохую" базу и ее посммтреть, видимо по-простому отделаться не выйдет (( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:44 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Nightwizard> Ладно, попробую как-нибудь сдампить "плохую" базу у поциента mySQL... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:47 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
NightWizardтормоза спустя две недели после работы софта начинаются примерно...Сколько там еще скелетов в шкафу? потом еще окажется что "сервер" это ноут на проце "атом" или распбери пи какой... NightWizardвидимо по-простому отделаться не выйдетДа, придется ознакомиться с документацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 15:57 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
вот кстати... если отключение сборки делалось не через настройку БД, а чере зсаму программу, то и смотреть это уже надо будет не только в заголовке БД, но и в исходниках А за сборку мусорных версий или несборку отвечает флаг no_garbage_collect, который может использоваться и в обычном коннекте в библиотеках прямого доступа (т. е. в приложениях, например для ускорения выборок в некоторых случаях). http://ibase.ru/ibmyths/ http://www.firebirdsql.org/manual/gfix-housekeeping.html ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:03 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
NightWizardвидимо по-простому отделаться не выйдет Почему ? NightWizardтормоза спустя две недели после работы софта начинаются примерно. раз в неделю, в ночь с субботы на воскресене - перезапускайте вашего демона, 300 секунд перзапуск? не так и много. Другой вопрос, что ещё может исподволь накапливаться, спрятав одну проблему вместо исследования и решения - не подложите ли кому-нибудь грабли, на которые через несколько лет кто-то наступит? Впрочем, судя по отсутсвию резервного копирования - грабли в вашем случае никого не пугают ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:07 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Ariochесли отключение сборки делалось не через настройку БД Никакой настройкой БД сборку мусора не отключить. В принципе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:08 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
NightWizardтормоза спустя две недели после работы софта начинаются примерно NightWizardв каждую такую табличку примерно 10 записей в 20 секунд добавляется - и сутками работает все Предположим, что очередные наблюдения во все таблицы заносятся одной транзакцией (которая, будем надеяться, потом закрывается без retaining). А не по отдельной транзакции на каждую новую строку каждой новой таблицы. 14*24*3600*(10/20) = 604800 NightWizardВ итоге, при размере таблицы примерно в 700 000 записей Хммм.... Ariochпосле массового удаления/изменения записей ( сравнимого по кол-ву с общим размером таблицы) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:17 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Arioch http://www.firebirdsql.org/manual/gfix-housekeeping.html Disabling Automatic Sweeping If you set the sweep interval to zero then automatic sweeping will be disabled. This implies that there will be no automatic housekeeping done so your database performance will not suffer as a result of the processing requirements of the automatic sweep. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:18 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
AriochIf you set the sweep interval to zero then automatic sweeping will be disabled. Какое слово из этого ты прочёл как "сборка мусора"? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:20 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, авторThe sweep facility runs through the database and gets rid of old rows in tables that are out of date. авторFirebird will automatically sweep through the database and remove the remnants of rolled back transactions ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:25 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
....эта статья, к сожалению, ничего не говорит про BLOB'ы и их handles ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:26 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Hello, Arioch! сборка мусора == garbage collection Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:28 |
|
Перестройка индексов в Firebird
|
|||
---|---|---|---|
#18+
Мимопроходящий, автор Garbage , for want of a better name, is the detritus that Firebird leaves around in the database after a rollback has been carried out. авторManual Garbage Collection If automatic sweeping has been turned off, or only runs rarely because of the sweep interval setting, the DBA can manually force a sweep to be performed. The command to carry out this task is: linux> gfix -sweep my_employee ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2016, 16:32 |
|
|
start [/forum/topic.php?fid=40&startmsg=39218273&tid=1562211]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 439ms |
0 / 0 |