Re: Still recommending daily vacuum...
От | Matthew T. O'Connor |
---|---|
Тема | Re: Still recommending daily vacuum... |
Дата | |
Msg-id | 468EA1FB.70500@zeut.net обсуждение исходный текст |
Ответ на | Re: Still recommending daily vacuum... (Alvaro Herrera <alvherre@commandprompt.com>) |
Список | pgsql-hackers |
Alvaro Herrera wrote: > Matthew T. O'Connor wrote: > Well, if a table has 10 rows, and we keep the current threshold of 1000 > rows, then this table must have 1002 dead tuples (99% dead tuples, 1002 > dead + 10 live) before being vacuumed. This seems wasteful because > there are 500 dead tuples on it and only 10 live tuples. So each scan > must wade through all the dead tuples. > > Another small table with 100 tuples will be vacuumed on every iteration > as well, even if there are just two dead tuples. So you are right -- > maybe dropping it all the way to 0 is too much. But a small value of 10 > is reasonable? That will make the 10 tuple table be vacuumed when there > are 10 dead tuples (50% of dead tuples), and the 100 tuple table when > there are 11 (11% of dead tuples). It decreases quickly to the scale > factor (2%, or do we want to decrease it to 1%?) I think it's probably fine. I think, that the optimal number for the base_threhold is probably dependant on the width of the row, for a very narrow row where you might have many on the same page, 20 or 50 might be right, but for a very wide table a smaller number might be optimal, however I think it probably doesn't matter much anyway. Reducing the default to 10 seems fine, and perhaps even removing it as a tuning knob. I think there are too many autovacuum knobs and it confuses people. Is it too late to possibly remove this GUC altogether?
В списке pgsql-hackers по дате отправления: