Actualmente estoy limpiando una tabla con 2 índices y 250 millones de filas activas y aproximadamente tantas filas muertas (o más). Emití el comando VACCUM FULL ANALYZE desde mi computadora cliente (computadora portátil) a mi servidor. Ha estado funcionando durante los últimos 3-4 días más o menos; Me pregunto si terminará pronto porque tengo mucho trabajo por hacer.PostgreSQL Long VACUUM
El servidor tiene un procesador cuádruple Xeon a 2,66 GHz, 12 GB o RAM y un controlador RAID conectado a 2 x 10K rpm 146 GB SAS HD en una configuración RAID 1; está ejecutando Suse Linux. Me pregunto ...
Ahora, en primer lugar, el proceso del postmaster VACUUM parece estar haciendo uso de un solo núcleo. En segundo lugar, no veo una escritura de E/S muy alta en la relación de tiempo de inactividad de E/S. En tercer lugar, al llamar al procinfo
, puedo extrapolar que el proceso VACUUM pasa la mayor parte del tiempo (88%) esperando I/0.
¿Por qué no está utilizando más núcleos a través de subprocesos para sobrecargar el controlador RAID (obtener altas escrituras de E/S en la relación de inactividad)? ¿Por qué está esperando E/S si la carga de E/S no es alta? ¿Por qué no va más rápido con toda esta potencia/recursos en sus dedos? Me parece que VACUUM puede y debe ser multiproceso, especialmente si está trabajando en una mesa enorme y ¡es el único que funciona!
Además, ¿es una forma de configurar postgresql.conf para dejarlo multihilo en tales VACUUM? ¿Puedo matarlo y aún así beneficiarme de su limpieza parcial? Necesito trabajar en esa mesa.
[estoy usando PostgreSQL 8.1]
Thx de nuevo
Dice que mate el vacío y luego haga una copia de seguridad de la tabla, ¿cuál será el resultado de la muerte de VACUUM? Me gusta tu idea de soltar y restaurar. Thx –
No pasa nada malo cuando se elimina la aspiradora, solo se pierde el trabajo realizado en la recuperación del tablespace hasta el momento. Teníamos un trabajo que automáticamente mataba cualquier aspiradora a las 8:00 a.m., para que los usuarios no se quedaran atascados cuando llegaran. Si esto ocurría, volcamos/restauramos la noche siguiente. –
Podría ser una buena idea establecer un trabajo cron para pasar la aspiradora a partir de ahora. – Calyth