Re: [HACKERS] Block level parallel vacuum
От | Dilip Kumar |
---|---|
Тема | Re: [HACKERS] Block level parallel vacuum |
Дата | |
Msg-id | CAFiTN-vcpFKUD+Lv3QBxs-RrNs5UN-cXem6qu2Uh0g64xtdnrg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Block level parallel vacuum (Masahiko Sawada <sawada.mshk@gmail.com>) |
Ответы |
Re: [HACKERS] Block level parallel vacuum
|
Список | pgsql-hackers |
On Tue, Oct 29, 2019 at 12:37 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > I realized that v31-0006 patch doesn't work fine so I've attached the > updated version patch that also incorporated some comments I got so > far. Sorry for the inconvenience. I'll apply your 0001 patch and also > test the total delay time. > While reviewing the 0002, I got one doubt related to how we are dividing the maintainance_work_mem +prepare_index_statistics(LVShared *lvshared, Relation *Irel, int nindexes) +{ + /* Compute the new maitenance_work_mem value for index vacuuming */ + lvshared->maintenance_work_mem_worker = + (nindexes_mwm > 0) ? maintenance_work_mem / nindexes_mwm : maintenance_work_mem; +} Is it fair to just consider the number of indexes which use maintenance_work_mem? Or we need to consider the number of worker as well. My point is suppose there are 10 indexes which will use the maintenance_work_mem but we are launching just 2 workers then what is the point in dividing the maintenance_work_mem by 10. IMHO the calculation should be like this lvshared->maintenance_work_mem_worker = (nindexes_mwm > 0) ? maintenance_work_mem / Min(nindexes_mwm, nworkers) : maintenance_work_mem; Am I missing something? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com
В списке pgsql-hackers по дате отправления: