Atualmente, estou limpando uma mesa com 2 índices e 250 milhões de linhas ativas e aproximadamente quantas linhas mortos (ou mais). I emitiu o comando VACCUM CHEIA ANALISAR do meu computador cliente (laptop) para o meu servidor. Foi indo sobre seu negócio para os últimos 3-4 dias ou mais; Eu estou querendo saber se ele vai acabar tão cedo, pois tenho muito trabalho a fazer!
O servidor tem um Xeon 2,66 processador quad-código GHz, 12 GB ou RAM e um controlador RAID ligado a 2 x 10K rpm 146 GB SAS HDS em uma configuração RAID 1; ele está sendo executado Suse Linux. Estou pensando...
Agora, em primeiro lugar o processo postmaster VÁCUO parece estar fazendo uso de apenas um núcleo. Em segundo lugar, eu não estou vendo um muito alto I / O escreve para I / O rácio de tempo ocioso. Em terceiro lugar, de chamar procinfo, eu posso extrapolar que o processo de vácuo passa a maior parte de seu tempo (88%) à espera de I / 0.
Então, por que não está utilizando mais núcleos através de tópicos, a fim de sobrecarregar o controlador RAID (obter alto I / O escreve para a marcha lenta ratio)? Por que é à espera de I / O se a carga I / O não é alta? Por que não ir mais rápido com todo esse poder / recursos em seus dedos? Parece-me que o vácuo pode e deve ser multithreaded, especialmente se ele está trabalhando em uma enorme mesa e é o único a trabalhar!
Além disso, é a sua maneira de configurar postgresql.conf para deixá-lo multithread tais VACUUM? Eu posso matá-lo e ainda beneficiar da sua parcial clean-up? Eu preciso trabalhar nessa tabela.
[Eu estou usando PostgreSQL 8.1]
Thx novamente













