|
|
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, так у вас периодически висят длинные открытые транзакции кроме вакуумов, или не висят ? вы уж как нить определитесь. мониторинг там, биту для любителей держать открытые клиентские транзакции сутками, прочее. простейший джоб отстрела висяков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 16:08 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Смотрим сессии Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Всех `idle in transaction` — мочить. Всех дольше 5 минут и не активных — мочить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 16:55 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, qwwq, таких долгих транзакций конечно нет, запросы к БД идут, но все в штатном режиме. Где-то находил похожую проблему у человека висели prepared transactions Код: plsql 1. у меня такого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 17:52 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Я сейчас сделал Код: plsql 1. и age уже другой для таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:15 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKЯ сейчас сделал Код: plsql 1. и age уже другой для таблиц.сюрпайс, сюрпайс я тут распинаюсь про беличье колесо, а до кого-то так и не доходит. замечательно приторможенные люди таки одмины. хехе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:24 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, что это все значит? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:31 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, age меняется каждый запрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:36 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKqwwq, age меняется каждый запросвозраст отсчитывается от текушего txid, а он меняется со скоростью потока пишущих транзакций. поэтому даже если фрозентксид стоит -- его возраст растёт. там цилиндрическая координата txid. с несколькими выколотыми точками. например "2" -- всегда в абсолютном прошлом. и вот всю эту кухню надо каждую эпоху проворачивать. хотя бы читать (если архивы). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:44 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, автовакуумы приходят и уходят, такое ощущение, что он по всем таблицам проходится. Или так и должно быть? Я думал "эпоха" считается для каждой таблицы отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 18:47 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKавтовакуумы приходят и уходят, такое ощущение, что он по всем таблицам проходится. Или так и должно быть? Я думал "эпоха" считается для каждой таблицы отдельно. автовакуум должен пройти по всем таблицам, у которых age() > autovacuum_freeze_max_age. которые из ваших попадают под условие легко проверить, как и то, сколько осталось. да, эпоха считается для каждой отдельно. это просто разница между текущей транзакией (txid_current()) и самой старой из транзакций в таблице. естественно, если ничего не делать, то возраст будет расти, и чем больше пишущая активность, тем быстрее он растёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 20:06 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, только что закончился вакуум нескольких таблиц, но у них age опять больше чем autovacuum_freeze_max_age (age(relfrozenxid) > 200000000), т.е. какой-то бесконечный цикл получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 20:17 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Какая версия базы? У вас стоят все bugfix релизы в вашей ветке? Закончившийся autovacuum — он был обычный или to prevent wraparound? Что будет если руками сделать VACUUM FREEZE таблице? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 20:32 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, а можно включить log_autovacuum_min_duration = 1000 (1000 мс) например и показать что в логах будет писаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 20:35 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorovVerusKавтовакуумы приходят и уходят, такое ощущение, что он по всем таблицам проходится. Или так и должно быть? Я думал "эпоха" считается для каждой таблицы отдельно. автовакуум должен пройти по всем таблицам, у которых age() > autovacuum_freeze_max_age. которые из ваших попадают под условие легко проверить, как и то, сколько осталось. да, эпоха считается для каждой отдельно. это просто разница между текущей транзакией (txid_current()) и самой старой из транзакций в таблице. естественно, если ничего не делать, то возраст будет расти, и чем больше пишущая активность, тем быстрее он растёт. age (возраст) считается отдельно а эпоха -- это количество циклов txid по беззнаковому (если не ошибаюсь) целому. оно как минимум одно для базы. как максимум -- для инстанса (не проверял). ---------------------------- скорее всего у него старый запуск вакуума произошёл во время висячей длинной транзакции -- вот они все и старые. он же туда не лазил. он проверяет зачем-то распределенные транзакции, хотя это лишнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 20:39 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, - версия 9.4.5 - закончившийся autovacuum — to prevent wraparound, вообще сейчас только такие вакуумы и стартуют - vacuum freeze не делал, не дает сделать запущенный автовакуум Alexius, ничего в логах не увидел про автовакуум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 21:10 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, попробовал запустить на другой таблице и получил вот такое сообщение: Код: powershell 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 21:13 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, А кол-во таблиц у которых age() > 2e8 уменьшается? Я бы поступил так: - выцыганил бы окно на несколько часов - опустил бы базу аккуратно (pg_ctl -m fast stop) - накатил бы 9.4.6, хоть и нет там ничего вокруг autovacuum'а - поменял бы `listen_addresses` на умолчательный — только локальные подключения - запуил бы базу и мониторил бы как она морозиться и есть ли эффект Далее по обстановке. P.S. Всё же приведите вывод запроса по сессиям который я постил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 22:53 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Код: sql 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 00:10 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
вернее: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 00:13 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
хотя нет -- oid увидел на скринах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 00:15 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, проведите замер темпов прироста txid_current() -- чтобы понять ,что у вас там крутится. а то вдруг у вас сейвпойнт на сейвпойнте сидит и сейпойнтом погоняет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 00:21 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKvyegorov, попробовал запустить на другой таблице и получил вот такое сообщение: Код: powershell 1. 2. 3. 4. 5. 6. 7. Ок попробую я вмешаться. Номер 1: Код: plsql 1. на мастер базе что то показывает? Номер 2: Вы кажется упоминали про реплику, на реплике что показывают: Код: plsql 1. [/SRC] Код: plsql 1. Номер 3: На мастере show max_replication_slots; и Код: plsql 1. Я почему то склоняюсь к том что проблему найдем на вопросе 2. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 03:30 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, 1. https://www.dropbox.com/s/q6j532240cnwea6/select___from_pg_stat_activity_where_now.csv?dl=0 2. hot_standby_feedback - off Код: plsql 1. - ничего не показал 3. max_replication_slots - 3 https://www.dropbox.com/s/qp8mcgrbeq88uej/select_pg_current_xlog_location___pg_xlo.csv?dl=0 qwwq, txid_current - 5229543838 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 07:42 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK<> qwwq, txid_current - 5229543838одна буква -- это ниачом темпы нужны. т.е. сколько их у вас в час <<10^6 ~10^6 >>10^6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 08:23 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, 1023262 - столько набежало сейчас, не в пиковое время, примерно за 45 минут, т.е. в час примерно 1364400. В пиковые часы будет в 2 раза больше P.S. все началось примерно с того как мы ввели replication slots и завели Slony. Было это почти одновоременно. replication slots как то могли повлиять? Просто есть смысл попробовать выключить все по очереди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 08:30 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39192626&tid=1997327]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
232ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 547ms |

| 0 / 0 |
