¿Desea conocer algunos consejos sobre cómo mejorar su rendimiento en línea de Postgres? Aquí hay algunos parámetros de configuración de base de datos a considerar para ayudar a mejorar el rendimiento general de la base de datos.

Pasos

  1. 1 Establezca algunas configuraciones para un rendimiento óptimo:
    • shared_buffers: establece los almacenamientos intermedios de memoria compartida por PG Cluster. Ajústelo lo suficientemente grande como para contener las tablas / índices más comúnmente accedidos Y lo suficientemente pequeño como para evitar la actividad de cambio de página.
    • work_mem: controla la cantidad de memoria utilizada para las operaciones de clasificación y hash. Si no es lo suficientemente grande, clasifica los derrames en el disco. Para ayudar a ajustarlo correctamente, observe la ubicación temporal de Postgres en el disco: $ PGDATA / base / DBOID / pgsql_tmp. Memoria asignada por sesión Ajustado por sesión.
    • work_maintenance_mem: controla la cantidad de memoria utilizada para las operaciones de mantenimiento de base de datos, como "vacío" y "crear índice". Puede reducir drásticamente el tiempo para completar tales operaciones de mantenimiento DB.
    • effective_cache_size: establece la suposición del optimizador sobre la eficacia de la memoria caché de disco de O / S. No asigna físicamente la memoria. Ajústelo al menos a 2/3 de RAM disponible para influir en el optimizador para realizar escaneos de índice sobre escaneos de tabla (seqscan).
    • random_page_cost: establece el costo estimado de recuperación no secuencial. Bajarlo para influir en el optimizador para realizar escaneos de índice sobre escaneos de tabla.
    • enable_indexscan: cuando se establece en verdadero, el optimizador de consultas favorece el escaneo de índice sobre escaneos de tabla
    • enable_seqscan: cuando se establece en verdadero, el optimizador favorece los escaneos de tabla (secuenciales) sobre los escaneos de índice.
    • enable_hashjoin: cuando se establece en true, el optimizador favorece el uso de uniones hash.
    • enable_nestloop: cuando se establece en true, el optimizador favorece el uso de combinaciones de bucles anidados.
    • enable_mergejoin: cuando se establece en verdadero, el optimizador favorece el uso de combinaciones de fusión. Usado para afinar / probar consultas. Nota: Antes de decidir usar las sugerencias del optimizador de Postgres (paso 6-10) en producción, debe volver a visitar los otros parámetros de ajuste de consulta (paso 1 a 5) y afinar
    • max_fsm_pages: establece el número máximo de páginas de disco para las cuales se rastreará el espacio libre en el mapa compartido de espacio libre. Ajuste correctamente hacia arriba para que las carreras de vacío sean más rápidas y elimine / reduzca la necesidad de "aspirar por completo" o "reindexar". Debe ser un poco más que el número total de páginas de datos que serán tocadas por actualizaciones y eliminaciones entre vacíos. Requiere poca memoria (6 bytes por ranura), así que sea generoso ajustando su tamaño. Cuando se ejecuta el vacío con la opción "verbosa", el motor DB le informa sobre el tamaño adecuado.