|
|
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
В общем. Autovacuum - сборщик мусора. Т.е хочу понять глубину смысла. Если у кого то есть свободная минутка и время - буду благодарен. Много статей в сети есть по конфигурации, по увеличение скорости его работы, по оптимизации и возможным ошибкам. Т.е стает понятно, что фича нужная и важная. И у появилось ряд вопросов. 1. Что является мусором, который необходимо собирать. 2. Как этот мусор появляется. При какие условиях. Вставки/удаления/обновления. Т.е что более способствует. 3. Как избежать его появления, или хотя бы уменьшить вероятность появления. Может есть какие то нюансы в организации архитектуры/схемы. 4. Что произойдет если не выполнять очистку? Т.е понятно что самый финиш это провисание системы путем израсходования доступных ресурсов, но интересно на предметном уровне. Спасибо!. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 12:53:29 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Electric200, http://www.postgresql.org/docs/9.3/static/routine-vacuuming.html http://www.postgresql.org/docs/9.3/static/mvcc-intro.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 14:47:25 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
По ссылкам выше я понял, что проблема в освобождение пространства внутри DB в результате удаления данных, для возможности записи новых данных. Т.е если логика рабоыт с базой не предусматривает удаления в принципе (в большом или частом обьеме) то особо переживать по поводу Vacuum не стоит. Я все верно понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 19:32:44 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Electric200, авторесли логика рабоыт с базой не предусматривает удаления тут тогда надо переживать только о том, что когда-то у вас кончится место ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2013, 20:14:09 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Electric200По ссылкам выше я понял, что проблема в освобождение пространства внутри DB в результате удаления данных, для возможности записи новых данных. Т.е если логика рабоыт с базой не предусматривает удаления в принципе (в большом или частом обьеме) то особо переживать по поводу Vacuum не стоит. Я все верно понимаю? если бы вы внимательно прочли документацию то поняли бы что update это delete старой записи и insert новой (если не учитывать HOT update ктороый впрочем всеравно новую копию создает)... и как раз 90% работы autovacuum это пометка того что после update остается как свободного ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2013, 06:13:25 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Я читал, и обратил внимание на UPDATE тоже. Но как бы и UPDATE у меня не много. 90% запросов - это INSERT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2013, 12:46:57 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Electric200Я читал, и обратил внимание на UPDATE тоже. Но как бы и UPDATE у меня не много. 90% запросов - это INSERT. autovacuum еше за autoanalyze отвечает... а без него не будет нормальных планов запросов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2013, 14:55:21 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
А можно с этого момента поподробней? Как я понимаю план запроса можем меняться в зависимости от: 1. Количества существующих строк которые могут/не могут участвовать в результате выбора. Т.е когда используется фул скан вместо индекса. 2. Наличие свободной памяти буфера для определения где выполняться сортировку (в буфере или сбрасывать на диск). Т.е учитывается нагрузка на систему при выполнении составления плана запроса. 3. В случае явного отключения/включения параметров планировщика (к примеру SET enable_seqscan=false;) 4. Если запрос с архитектурой ну совсем кривые. Ну вот собственно все что я знаю. Если есть еще какой то опыт у вас относительно данного вопроса, буду признателен за толкование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 11:59:19 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Electric200А можно с этого момента поподробней? Как я понимаю план запроса можем меняться в зависимости от: 1. Количества существующих строк которые могут/не могут участвовать в результате выбора. Т.е когда используется фул скан вместо индекса. 2. Наличие свободной памяти буфера для определения где выполняться сортировку (в буфере или сбрасывать на диск). Т.е учитывается нагрузка на систему при выполнении составления плана запроса. 3. В случае явного отключения/включения параметров планировщика (к примеру SET enable_seqscan=false;) 4. Если запрос с архитектурой ну совсем кривые. Ну вот собственно все что я знаю. Если есть еще какой то опыт у вас относительно данного вопроса, буду признателен за толкование. собственно п.1 как раз считается на основе статистики которую auto analyze собирает/обновляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 12:29:55 |
|
||
|
Autovacuum - разъясните пожалуйста
|
|||
|---|---|---|---|
|
#18+
Вот и я о том. Поскольку удалений/изменений у меня не предусматривается. А наполнение записями довольно интенсивное (порядка 4-6k) в сутки по каждой таблице, то я спокоен по поводу траблов с Avtovacuum. Единственное что меня волнует как сказали - это доступное место. Еще вопросик. Читал что автовакуум не работает с временными таблицами (TEMP) . Но если она создана с DROP AFTER TRANSACTION то проблем быть не должно? т.е она удаляется полностью и все ? Нечего подчищать на за ней не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2013, 13:00:15 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38508449&tid=1998932]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 432ms |

| 0 / 0 |
