|
|
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Прикладываю скрин текущего состояния. Заняты все воркеры для автовакуума - https://www.dropbox.com/s/wnm395rd2uigjal/Screenshot 2016-03-14 14.45.24.png?dl=0 Еще проблема в том, что как только заканчивается автовакуум по таблице, тут же начинается новый на эту же таблицу. Ранше такого не было никогда, хотя размер БД менятся +- 50Гб каждый месяц. Что-то добавляется, что-то удаляется(удаляются в основном таблицы целиком, не записи). Выглядит все очень странно и пугающе. Если это важно, то на сервере настроена стандартная потоковая репликация + репликация Slony ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 14:50 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Еще доп инфо: SELECT datname, age(datfrozenxid) FROM pg_database; Код: plsql 1. 2. 3. 4. 5. SELECT relname, age(relfrozenxid) FROM pg_class WHERE relkind = 'r' order by age(relfrozenxid) desc; Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. select * from pg_prepared_xacts; - ничего не возвращает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 14:55 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Какие настройки правили недавно?.. Что говорит: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 15:15 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 15:20 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, вывод в предыдущем сообщении ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 16:13 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Я правильно понимаю, что у вас довольно много таблиц read only? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 16:16 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, добавьте тосты в вывод например Код: sql 1. или поджойнитесь табличкой на тосты. возьмите greatest. и добавьте pg_table_size(oid::regclass) [если age начнут расходиться]. -- посмотреть как оно по возрасту скучковалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 17:06 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, вывод на Код: plsql 1. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. не совсем понял Author the new one, чисто read only таблиц нет, достаточно много из которых больше читают чем пишут, конечно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:28 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, А вот по скриншоту у вас видно таблицы orders_y2015_m05 и т.п. Это что же, туда до сих пор пишут? Вообще в настоящий момент постгрес должен периодически перетряхивать таблицы на предмет предотвращения wraparound-а, даже если там ничего не менялось. Можете попробовать выделить такие неменяющиеся таблицы, запретить на них модификацию, прогнать vacuum full и выключить на них автовакуум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:46 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Author the new one, а что делать с текущими запущенными автовакуумами? Они до сих пор работают как на первом скрине и не думают останавливаться. Есть даже запущенные на пустые таблицы. Это вообще странно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:48 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Author the new one, вы не понимаете природы прокрутки белки в колесе. даже если белка старая и не меняется, колесо всё равно крутится. а механизм меток, позволяющий не крутится архивным белкам , будет закоммичен только в 9.6. (карта метки блоков полностью "в прошлом") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:50 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, Поэтому и пришел за помощью. Не понятно, что делать в текущей ситуации. Автовакуум после авршения начинается по кругу, причем опять "to prevent wraparound" на те же таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:54 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, у вас создан довольно большой "бунч" для достаточно маленькой бд вот я вам его показываю: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. -- 307 табличек имеют один и тот же возраст, "копейка в копейку". это шаманство какое--то, не иначе. я бы шаманов поискал, пишущих напрямую в системные. и примерно высек на конюшнях. из штатных механизмов такой штуки -- подозреваю что то про оочень длинные висячие транзакции, мешающие зафройзить моментом старта фриза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 18:56 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, руками в системные не писал никто, я уверен на 99%. Единственное, что делали нового в БД - это подключили Slony. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 19:03 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, ищите источник или следы длинной транзакции. со слониками не возился, но у них вероятно есть стартовый снапшот--синхронизатор ? -- вот он то и м.б. таким источником. (старая незакрытая транзакция держит глубину фриза константной, если я правильно помню логику). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 19:09 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, да у слоника есть некая отправная точка - подписывание ноды, он в этот момент создает триггеры и, наверное что-то еще делает с БД. Не совсем понял, что такое длинная транзакция и уж тем более не понял как ее искать и что с ней делать как найду :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2016, 19:20 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, Ох, вообще-то я предлагаю, если взять за основу ваш яркий образ, вставить палки в некоторые беличьи колеса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 11:01 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Author the new oneqwwq, Ох, вообще-то я предлагаю, если взять за основу ваш яркий образ, вставить палки в некоторые беличьи колеса. нельзя. колесо одно, и все белки в нём. если хоть одна тушка не отфризится -- колесо [общее] остановится. другое дело, что каждую старую тушку достаточно фризить однажды за оборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 12:07 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 12:08 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 12:24 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, а нельзя не отсылать на разные говносайты ? тут есть : аbc123 хотя я там ничего интересного не увидел. [интересно всё кроме вакуумов] всё интересное уже кончилось. ждите, когда воркеры раскидают очередную пачку. -- смотрите, развалится кучка, или не очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 12:33 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, там нет никаких повисших зарпосов, запросы все отрабатывают в данный момент без блоков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 12:49 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, в логах базы нет интересных записей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 14:24 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Ну сейчас надо просто ждать. Если нагрузка мешает основной, то смотрите на %vacuum_cost параметры, ставьте задержку в 10-20ms. Нагрузка станет меньше, но и завершаться они позже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 14:30 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Alexius, вот такое начало появляться: Код: plsql 1. 2. я так понимаю ничего хорошего это не означает :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2016, 15:31 |
|
||
|
Очень долгий 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 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, при примерно ~3*10^6 /час и объёме БД ~8ТБ имели проблемы с . у вас объём почти на порядок меньше -- т.е. для аналогичных проблем рановато. если конечно в пики порядок по темпам ещё не делаете. скажите девелоперам, чтобы избегали, по возможности, расставлять блоки обработки исключений на широких местах. какой-нть проверкой обходились бы. а блоки только в специально отведенных ветках, куда редко попадают. ибо каждый сейвпойнт -- прирост счётчика транзакций [RTFM "subtransaction"] да, выводите не только age() но и сам frozentxid -- чтобы видеть, слистываются они у вас, или стоят на месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 08:43 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, ок, учтем, я и есть разработчик, никак не DBA :) Код: plsql 1. выдает: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. кстати, таблиц стало меньше в выводе, буквально вчера было 325, сегодня уже 195 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 08:50 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, с чего у вас таблиц стало меньше ? вы фильтруете данные, а фильтры не приводите ? эдак вашим словам грош цена. т.е. всем. т.е. совсем. и да, вы всё время забываете о тостах. они немного отдельно фризятся. где--то на просторах интернетов была вот такая заготовка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:28 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, конечно не фильтрую, запрос как есть. Посмотрел вчерашний вывод, таблиц было 200 в выводе, в сегодняшнем 195 nspnamerelnameagerelfrozenxidrelfrozenxidpublicsubscriptions_y2016_m1482450377456858465506858465information_schemasql_features432450377506858465506858465information_schemasql_implementation_info432450377506858465506858465information_schemasql_languages432450377506858465506858465information_schemasql_packages432450377506858465506858465information_schemasql_parts432450377506858465506858465information_schemasql_sizing432450377506858465506858465information_schemasql_sizing_profiles432450377506858465506858465pg_catalogpg_aggregate432450377506858465pg_catalogpg_am432450377506858465pg_catalogpg_amop432450377506858465pg_catalogpg_amproc432450377506858465pg_catalogpg_attrdef432450377506858465506858465pg_catalogpg_attribute432450377506858465pg_catalogpg_auth_members432450377506858465pg_catalogpg_authid432450377506858465pg_catalogpg_cast432450377506858465pg_catalogpg_class432450377506858465pg_catalogpg_collation432450377506858465pg_catalogpg_constraint432450377506858465506858465pg_catalogpg_conversion432450377506858465pg_catalogpg_database432450377506858465pg_catalogpg_db_role_setting432450377506858465506858465pg_catalogpg_default_acl432450377506858465pg_catalogpg_depend432450377506858465pg_catalogpg_description432450377506858465506858465pg_catalogpg_enum432450377506858465pg_catalogpg_event_trigger432450377506858465pg_catalogpg_extension432450377506858465pg_catalogpg_foreign_data_wrapper432450377506858465pg_catalogpg_foreign_server432450377506858465pg_catalogpg_foreign_table432450377506858465pg_catalogpg_index432450377506858465pg_catalogpg_inherits432450377506858465pg_catalogpg_language432450377506858465pg_catalogpg_largeobject432450377506858465pg_catalogpg_largeobject_metadata432450377506858465pg_catalogpg_namespace432450377506858465pg_catalogpg_opclass432450377506858465pg_catalogpg_operator432450377506858465pg_catalogpg_opfamily432450377506858465pg_catalogpg_pltemplate432450377506858465pg_catalogpg_proc432450377506858465506858465pg_catalogpg_range432450377506858465pg_catalogpg_rewrite432450377506858465506858465pg_catalogpg_seclabel432450377506858465506858465pg_catalogpg_shdepend432450377506858465pg_catalogpg_shdescription432450377506858465506858465pg_catalogpg_shseclabel432450377506858465pg_catalogpg_statistic432450377506858465506858465pg_catalogpg_tablespace432450377506858465pg_catalogpg_trigger432450377506858465506858465pg_catalogpg_ts_config432450377506858465pg_catalogpg_ts_config_map432450377506858465pg_catalogpg_ts_dict432450377506858465pg_catalogpg_ts_parser432450377506858465pg_catalogpg_ts_template432450377506858465pg_catalogpg_type432450377506858465pg_catalogpg_user_mapping432450377506858465publicaccounts432450377506858465506858465publicaction_flows432450377506858465506858465publicadvertiser_requests432450377506858465506858465publicauthtokens432450377506858465506858465publicblacklist432450377506858465506858465publicblog_categories432450377506858465506858465publicblog_posts432450377506858465506858465publicbp_service_codes432450377506858465506858465publicbrowsers432450377506858465506858465publiccaps432450377506858465publiccategories432450377506858465506858465publiccb_settings432450377506858465publicclicks432450377506858465506858465publiccomebackers432450377506858465506858465publicconversion_funnel432450377506858465506858465publicconversion_types432450377506858465publiccountries432450377506858465506858465publiccountries_ranges432450377506858465publiccurrencies432450377506858465506858465publiccurrencies_rates432450377506858465506858465publicdomains432450377506858465506858465publicerror_statistics432450377506858465506858465publicgeo_indexes432450377506858465506858465publicgoods432450377506858465publicgroups432450377506858465506858465publicinner_logs432450377506858465506858465publicinner_logs_y2016_m2432450377506858465506858465publicinner_logs_y2016_m3432450377506858465506858465publicip_geo_base432450377506858465506858465publicip_ranges432450377506858465publicleads432450377506858465506858465publicleads_y2014_m12432450377506858465506858465publicleads_y2015_m1432450377506858465506858465publicleads_y2015_m10432450377506858465506858465publicleads_y2015_m11432450377506858465506858465publicleads_y2015_m12432450377506858465506858465publicleads_y2015_m2432450377506858465506858465publicleads_y2015_m3432450377506858465506858465publicleads_y2015_m4432450377506858465506858465publicleads_y2015_m5432450377506858465506858465publicleads_y2015_m6432450377506858465506858465publicleads_y2015_m7432450377506858465506858465publicleads_y2015_m8432450377506858465506858465publicleads_y2015_m9432450377506858465506858465publicleads_y2016_m1432450377506858465506858465publicleads_y2016_m2432450377506858465506858465publicleads_y2016_m3432450377506858465506858465publiclogin_history432450377506858465506858465publiclogs432450377506858465506858465publiclogs_y2016_m2432450377506858465506858465publiclogs_y2016_m3432450377506858465506858465publicmailing_lists432450377506858465506858465publicnetspeed432450377506858465publicnews432450377506858465506858465publicnotifications432450377506858465publicoffer_settings432450377506858465506858465publicoffer_targeting432450377506858465506858465publicoffer_weights432450377506858465506858465publicoffers432450377506858465506858465publicoffers_trafficback432450377506858465506858465publicoperating_systems432450377506858465506858465publicoperators432450377506858465506858465publicorders432450377506858465506858465publicorders_y2014_m12432450377506858465506858465publicorders_y2015_m1432450377506858465506858465publicorders_y2015_m10432450377506858465506858465publicorders_y2015_m11432450377506858465506858465publicorders_y2015_m12432450377506858465506858465publicorders_y2015_m2432450377506858465506858465publicorders_y2015_m3432450377506858465506858465publicorders_y2015_m4432450377506858465506858465publicorders_y2015_m5432450377506858465506858465publicorders_y2015_m6432450377506858465506858465publicorders_y2015_m7432450377506858465506858465publicorders_y2015_m8432450377506858465506858465publicorders_y2015_m9432450377506858465506858465publicorders_y2016_m1432450377506858465506858465publicorders_y2016_m2432450377506858465506858465publicorders_y2016_m3432450377506858465506858465publicorganizations432450377506858465506858465publicplatforms432450377506858465506858465publicplatforms_urls432450377506858465506858465publicpostback_urls432450377506858465506858465publicprelandings432450377506858465506858465publicprelandings_settings432450377506858465506858465publicpromo432450377506858465506858465publicrates_modifiers432450377506858465506858465publicrebills432450377506858465506858465publicredress_history432450377506858465506858465publicrotators432450377506858465506858465publicsettings432450377506858465506858465publicstats432450377506858465506858465publicstats_referral432450377506858465506858465publicstats_y2016_m1432450377506858465506858465publicstats_y2016_m2432450377506858465506858465publicstats_y2016_m3432450377506858465506858465publicsubaccounts432450377506858465506858465publicsubmit_errors432450377506858465506858465publicsubscriptions432450377506858465506858465publicsubscriptions_y2016_m2432450377506858465506858465publicsubscriptions_y2016_m3432450377506858465506858465publicsuccess_pages432450377506858465506858465publicticket_answers432450377506858465506858465publictickets432450377506858465506858465publictraffic_managers432450377506858465506858465publictraffic_redirect432450377506858465506858465publictraffic_sources432450377506858465publictransaction_requests432450377506858465506858465publictransactions432450377506858465506858465publictranslations432450377506858465506858465publicuser_settings432450377506858465506858465publicuser_types432450377506858465506858465publicusers432450377506858465506858465publicwithdrawal_accounts432450377506858465506858465_replicsl_apply_stats264469773674839069_replicsl_archive_counter264469773674839069_replicsl_components264469773674839069674839069_replicsl_config_lock264469773674839069_replicsl_confirm264469773674839069_replicsl_event264469773674839069674839069_replicsl_event_lock264469773674839069_replicsl_listen264469773674839069_replicsl_log_script264469773674839069674839069_replicsl_node264469773674839069674839069_replicsl_nodelock264469773674839069_replicsl_path264469773674839069674839069_replicsl_registry264469773674839069674839069_replicsl_seqlog264469773674839069_replicsl_sequence264469773674839069674839069_replicsl_set264469773674839069674839069_replicsl_setsync264469773674839069674839069_replicsl_subscribe264469773674839069_replicsl_table264469773674839069674839069publicclicks_y2016_m344659665894649177894649177_replicsl_log_21088538938220304938220304_replicsl_log_1153922939154920939154920 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 10:45 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, т.е. у вас что--то дропается. т.к. свежие фризы таки есть -- у вас видимо просто собран большой бунч , который приходит на фриз одним большим куском. а чем он собран -- какой--то долгой транзакцией, вероятно. т.к. фрозентиксид расползтись не успели -- после этого ещё прокрутка эпохи фриза (2*10^8) не прошла. у меня тоже есть жуткий комок: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. строчек там 258, первая выглядит страшненько: 179604642320162621132016262112724595466240'2537 GB'566 -- придут на фриз 2.5 ТБ одним куском -- и будем мы "все в белом" опять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 11:24 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, да, с виду как будто ушло 5 таблиц за несколько суток, скорость конечно атас пугает еще то, что таблица по которой он сделал вакуум опять попала в вакуум на работу БД пока что не влияет, но опять же варнинги в логах пугают, совсем не хочется аварийно съезжать на реплику, да и и если это реплика, то там ждать такого же поведения значит. у меня это выдает вот такую картину: 434138884506858465506858465313794789376292 GB172484138884456858465506858465169881706496158 GB14634817289464917789464917742399334404044 MB12661582806748390696748390698927641685 MB191842429939154920939154920106496104 kB19387969400585539400585539830496 kB1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 11:40 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKAlexius, ничего в логах не увидел про автовакуум странно, а reload после правки конфига делался? должны записи о прошедших автовакуумах появляться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 11:58 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Alexius, да, они начали появлятья, но чуть позже, вот несколько из них: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 12:00 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, хм, скорость никакая совсем. попробуйте autovacuum_vacuum_cost_delay (именно autovacuum, а не просто vacuum) снизить до 5ms. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 12:08 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Alexius, после изменения: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 12:48 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, т.е. надо просто ждать пока оно провернет этот кусок? очень страшно, что не успеет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 14:36 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
только что было очень странно, начался автовакуум для таблицы заново, до этого длившийся 1200+минут, но нет в логах ничего о завершении предыдущего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 19:54 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, а в логах нет строки вида canceling autovacuum task ? некоторые блокировки могут автовакуум прибивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 20:28 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Alexius, нет, ничего похожего не увидел. Зато есть вот такие записи: Код: plsql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2016, 20:51 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKqwwq, т.е. надо просто ждать пока оно провернет этот кусок? очень страшно, что не успеет :)во первых "не успеет" это где--то около 4ярдов. (пессимистически, если только половина целого -- 2 ярда). а у вас возрасты всего то 0.5 ярда. во вторых, я думаю, что , после того как бунч первый раз пролезет весь через воркеры -- его неплохо дополнительно растащить "по оси заморозки" ручными фризами. и в третьих -- "много думал" -- и решил, что т.к. автовакуум работает с тостами и табличками раздельно -- нужно иначе оценивать комкование : Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. что даёт мне гораздо более оптимистическую оценку Код: sql 1. т.е. ко мне пришли сейчас, в т.ч., 2 большие партиции, максимум их будет 3. все воркеры забиться не должны. но подсобрать ещё хвостов из следующей пачки бунч может. (простая волна с отрицательной нелинейностью укручается кзади. -- типичная "дорожная пробка", в которую впиливаются догоняющие) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 11:02 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, у меня цифры получились примерно те же: 537212232537636664537636664456858465169613049856"158 GB"1486946760487636664487636664506858465325679407104"303 GB"29397389352998459529984595289464917711825094656"11 GB"20146604814660489930290812834432"2768 kB"2 меня очень смущает то, что он начинает по кругу автовакуумить одну и ту же таблицу, у нас она самая большая, примерно 240млн строк. Зачем он это делает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 11:16 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, следите не за возрастом, а за фрозентхайди -- если он после цикла не сменился , или сменился очень мало (а многодневных длинных транзакций на момент старта не было) -- начинайте бурную эпиляцию пятой точки. т.е. готовьте новый инстанс, с новой минорной, и переползайте на него. //и начинайте писать по адресу -- т.е. в postgresql.org если фрозенайди таки меняется , оцените по вашей цифре "темпа прироста транзакций" насколько стареет таблица за время отработки фриза по ней. сравнивайте с полученным age(). чешите тыковку. я так думаю. и да , все время мониторьте длинные транзакции в стат--активити. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 11:32 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, похоже, что он не меняется совсем, вот данные вчерашние: Код: plsql 1. вот данные сегодняшние: Код: plsql 1. похоже все плохо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 11:55 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, 1. вы уверены, что фриз завершился ? (с фризом такая шняга -- его нельзя сделать "по частям". по крайней мере пока нет карты полностью отфриженных блоков) 2. вы уверены, что он (оба последних, завершившихся раза) стартовал в момент, когда у вас не висела одна и та же недельная транзакция в стат_активити ? т.е. вы _в тот_ момент мониторили наличие висяков ? -- если оба ответа "да" -- начинайте добычу шерсти. если не уверены -- то навешивайте мониторинг. При следующем "окончании фриза" без сдвига фрозена -- просто снимите табличку с автовакуума, и запустите VACUUM FREEZE руками. прямо на сервере. скажем в screen-е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:06 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, 1. Я вам давал запрос для проверки сессий. Вы что-то им сотрели? 2. Максим указал на проверку реплик. С ними всё в порядке? — работают, не отстают, не блокируют. 3. Какая у вас транзакционная активность? Смотреть так Код: sql 1. 4. Какие настройки по проблемной таблице? Смотреть так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 5. Смотрите на `autovacuum_vacuum_cost_delay` / `vacuum_cost_delay` — делайтие минимальными. 6. Сделайте `vacuum_freeze_min_age` равным значению из #3 в час, умноженному на 4 часа — обычные вакуумы будут частично фризить данные. Но это на долгосрочную перспективу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:29 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, 1. pgsql.sess.totalpgsql.sess.idlepgsql.sess.idlexidpgsql.sess.activepgsql.sess.waitingpgsql.sess.age[15s]pgsql.sess.age[60s]pgsql.sess.age[300s]pgsql.sess.age[600s]pgsql.sess.age[1800s]pgsql.sess.age[3600s]pgsql.sess.age[max]38133624211122141934146 2. Да, реплика работает нормально 3. 33629, 2017740 4. oidrelnamerelpagesreltuplesnamesettingboot_val7121865subscriptions_y2016_m120704718243768384autovacuumonon7121865subscriptions_y2016_m120704718243768384autovacuum_analyze_scale_factor0.10.17121865subscriptions_y2016_m120704718243768384autovacuum_analyze_threshold50507121865subscriptions_y2016_m120704718243768384autovacuum_freeze_max_age2000000002000000007121865subscriptions_y2016_m120704718243768384autovacuum_max_workers2037121865subscriptions_y2016_m120704718243768384autovacuum_multixact_freeze_max_age4000000004000000007121865subscriptions_y2016_m120704718243768384autovacuum_naptime60607121865subscriptions_y2016_m120704718243768384autovacuum_vacuum_cost_delay1207121865subscriptions_y2016_m120704718243768384autovacuum_vacuum_cost_limit-1-17121865subscriptions_y2016_m120704718243768384autovacuum_vacuum_scale_factor0.20.27121865subscriptions_y2016_m120704718243768384autovacuum_vacuum_threshold50507121865subscriptions_y2016_m120704718243768384autovacuum_work_mem-1-17121865subscriptions_y2016_m120704718243768384log_autovacuum_min_duration1000-17121865subscriptions_y2016_m120704718243768384vacuum_cost_delay107121865subscriptions_y2016_m120704718243768384vacuum_cost_limit2002007121865subscriptions_y2016_m120704718243768384vacuum_cost_page_dirty20207121865subscriptions_y2016_m120704718243768384vacuum_cost_page_hit117121865subscriptions_y2016_m120704718243768384vacuum_cost_page_miss10107121865subscriptions_y2016_m120704718243768384vacuum_defer_cleanup_age007121865subscriptions_y2016_m120704718243768384vacuum_freeze_min_age50000000500000007121865subscriptions_y2016_m120704718243768384vacuum_freeze_table_age1500000001500000007121865subscriptions_y2016_m120704718243768384vacuum_multixact_freeze_min_age500000050000007121865subscriptions_y2016_m120704718243768384vacuum_multixact_freeze_table_age150000000150000000 5. autovacuum_vacuum_cost_delay = 1ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 12:54 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKpgsql.sess.totalpgsql.sess.idlepgsql.sess.idlexidpgsql.sess.activepgsql.sess.waitingpgsql.sess.age[15s]pgsql.sess.age[60s]pgsql.sess.age[300s]pgsql.sess.age[600s]pgsql.sess.age[1800s]pgsql.sess.age[3600s]pgsql.sess.age[max]38133624211122141934146 2 сессии `idle in transaction` — это зачем и почему? 1 сессия ждёт чего-то — чего? Рабочих сессий 42, простаивают 336, из них дольше часа — 146. Может их надо проверить и отключить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:09 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, я конечно дико извиняюсь, но за Код: sql 1. 2. 3. -- руки из жопы надо выдирать с корнем. или квантуйте хотя бы секундами: Код: sql 1. , или пользуйтесь полуоткрытыми интервалами (что предпочтительней). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:22 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, idle in transaction - запросы от приложения, отрабатывают быстро сессия в ожидании то появляется, то исчезает, тоже отрабатывает быстро ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:27 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, А поделитесь правильным вариантом этого запроса, который бы работал на версиях начиная с 9.0? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:28 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorovqwwq, А поделитесь правильным вариантом этого запроса, который бы работал на версиях начиная с 9.0? остановитесь подышите поглубже подумайте наконец потом расскажете, если сочтёте нужным, при чем тут версия и прочие обстоятельства ещё раз -- дико извиняюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 13:36 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Вы говорите, что всё отрабатывает быстро, ничего необычного нету. Однако при этом по кругу бегает автовакуум и когда это кончиться не ясно. Нестыковка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:08 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwqили квантуйте хотя бы секундами, или пользуйтесь полуоткрытыми интервалами (что предпочтительней). Да, я понял о чём вы, спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:09 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, не за что этот антипаттерн распространяет 1С. ну так у них время квантованное. А люди привыкают -- и лепят везде и всюду. не думая. ещё раз извиняюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2016, 14:15 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Немного отсрочил автовакуумы увеличив лимиты. Пытаюсь сделать VACUUM FREEZE вручную, но на любую таблицу получаю такой ответ: Код: plsql 1. 2. 3. 4. 5. и естественно age не меняется и фрозентхид тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 07:36 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Заметили так же, что если делаешь TRUNCATE на таблицу, то сбрасывается age и меняется фрозентхид ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 07:45 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKЗаметили так же, что если делаешь TRUNCATE на таблицу, то сбрасывается age и меняется фрозентхид"на третий день зоркий сокол ..." у вас, по сути, создаётся новая таблица. естественно её возраст -- 0, и запись об этом появляется в системной таблице пж-класс, в поле "зафройзено_на_момент:" -- вы ожыдали чего--то другого ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 08:42 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK <..1..> и естественно <2> age не меняется и фрозентхид тожевот это как раз и не естественно совсем не понял, как вы одно<2> выводите из другого <..1..>. если при ручном фризе фрозентхид не меняется -- доставайте духовое ружжо, надевайте чистое и стреляйтесь. только сначала напишите посмертную записку на postgresql.org -- "в моей смерти , " и всё такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 08:49 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, при ручном он должен меняться в любом случае при запуске на отдельную таблицу? Я сейчас запустил VACUUM FREEZE на всю БД - это имеет вообще какой-то смысл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 08:55 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, Имеет. Я рекомендую остановить экземпляр, закрыть его для подключений и закончить заморозку всех баз , включая postgres и шаблоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 09:10 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, это продакшен база, даунтайм недопустим, есть варианты без остановки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 09:14 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKvyegorov, это продакшен база, даунтайм недопустим, есть варианты без остановки? вариант без останова -- застрелиться, как честному человеку. какая у вас версия, я уже забыл. тут вот пишут: http://www.postgresql.org/docs/9.4/static/release-9-3-5.html про E.14.2. Changes (скорее всего не про вас, т.к. про пж--апгрейл, но чем не шутит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:32 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, версия 9.4.5 после фриза на весь инстанс ничего не изменилось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:47 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, вам же сказали, что единственно верным будет застрелиться честно остановить боевой сервер, и попытаться его вылечить. можно растянуть удовольствие --- поднять клон слонами или лондайстом (но не потоковой) -- и попробовать перейти на него с минимальным лагом. но лаг -- будет. и да, вы уже написали хаасу там [Robert Haas], или какому либо иному гурью по вакууму ? именно по вакууму, а не на деревню дедушке олегу или теодору ? что вы тут ещё делаете, не совсем понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 10:58 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, У вас симтомы таковы, что фриз не происходит. В результате вы неминуемо приближаетесь к точке, когда база сама встанет, чтобы избежать wraparound'а. И тот факт, что это продукция, ничего не поменяет. Просите окно на самое глухое вермя, на несколько часов, останавливайте и лечите. Вам нужно собрать детальный анамнез: версия, все настройки, описание железа, данные по базам/таблицам/сессиям/репликам/нагрузке, приложить детальные логи за ту неделю, что всё это тянется. Писать лучше в pgsql-general, его смотрят практически все и если это баг, то он быстро уйдет в обсуждение в pgsql-hackers. Сейчас готовят новые релизы, так что не томите. Ваш анамнез в виде файлов добавьте (как приложения к письму), не надо простыню из всех конфигов копипастить. Самые подкованные из разработчиков по вакууму — Альваро Херера (он писал автовакуум) и Том Лейн (он в любом вопросе самый подкованный). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 11:42 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
отписал сразу в хакерс, расписал, постарался как можно подробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 11:50 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKотписал сразу в хакерс, расписал, постарался как можно подробнее Чёт нету ничего. Письмо точно ушло? И на какой адрес? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 12:54 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, получил пока такое: Your message to pgsql-hackers has been delayed, and requires the approval of the moderators, for the following reason(s): The author (XXX) is not a member of any of the restrict_post groups. If you do not wish the message to be posted, or have other concerns, please send a message to the list owners at the following address: pgsql-hackers-owner@postgresql.org ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 13:06 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 13:51 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, как ваши успехи ? если будут новости -- отпишитесь, пожалуйста. и ссылку киньте спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2016, 17:33 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, В общем сделали из реплики мастер, сделали на ней вакуум фриз, стопнули мастер, добили недостающие данные в новый мастер, перевели все на него, чиним старый мастер и вернемся обратно. На postgresql.org пока спросили только про длинные транзакции, но их у нас нет и не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 08:25 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusK, www.postgresql.org/message-id/flat/CAM+o-ApLaXFLaieaVx5Dj1RKCx2OaLm5akJ909j8H8FLL5UJMg@mail.gmail.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 09:58 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Поправил ссылку http://www.postgresql.org/message-id/flat/CAM+o-ApLaXFLaieaVx5Dj1RKCx2OaLm5akJ909j8H8FLL5UJMg@mail.gmail.com]на сообщение Вы бы там продемонстрировали ситуацию: - проверить age таблицы - принудительно заморозить - проверить age ещё раз Может привлечёт больше внимания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 10:08 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
vyegorov, на самом деле произошла какая-то магия, после того как перенесли все данные, отключили реплику, я удалил слоты репликации, очистил pg_xlog(установив новые точки) и завел БД, то почти у всех таблиц возраст сбросился. Затем я сделал ваккум фриз в сингл моде. Теперь выходит ошибка "Missing chunk 0 for toast value in pg_toast" - но как везде пишут, пробую сделать реиндекс этой таблицы и вакуум аналайз. Кстати по завершении вакуум фриз в сингл мод: Код: plsql 1. 2. 3. на сколько я понимаю, тут говорится, что мы уже теряли данные. Видимо мы не замечали какие именно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 14:21 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
VerusKqwwq, <> На postgresql.org пока спросили только про длинные транзакции, но их у нас нет и не было. естественно проверяют сначала напрашивающееся. если бы вы сразу отписались что активити пуста, а распределенных тоже уже нет -- возможно спросили бы ещё что--нть. отпишите им всё кстати, а как снимали распределённую ? вы же писали, что там (pg_prepared_xacts) у вас что--то висело когда--то. странно, что на стендбай оно [проблема] не отреплицировалось. где-то тут может сермяга оказаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 15:15 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
qwwq, pg_prepared_xacts не висело никогда, вроде даже тут об этом отписывался. Проблема, конечно же ушла на реплику, но мы сделали ее мастером и на ней провели вакуум фриз в сингл моде, что помогло и сейчас она работает исправно, пока что чиним мастер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 17:13 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
Robert Haas - Thursday, March 10, 2016 No More Full-Table Vacuums авторInstead of whole-table vacuums, we now have aggressive vacuums, which will read every page in the table that isn't already known to be entirely frozen. If you have a large database which is mostly static but which has a comparatively small active portion, this change will massively reduce the impact of wraparound vacuuming. Users with multi-terabyte databases having non-trivial write activity will be especially happy about this change. An aggressive vacuum still figures to read more data than a regular vacuum, possibly a lot more. But at least it won't read the data that hasn't been touched since the last aggressive vacuum, and that's a big improvement. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 17:20 |
|
||
|
Очень долгий autovacuum (to prevent wraparound)
|
|||
|---|---|---|---|
|
#18+
drsm, Это будет только в 9.6, который выйдет в сентябре (по плану). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2016, 18:42 |
|
||
|
|

start [/forum/topic.php?all=1&fid=53&tid=1997327]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
194ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
151ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 624ms |

| 0 / 0 |
