È possibile migliorare le prestazioni del database PostgreSQL in diversi modi.
I due parametri riportati di seguito controllano le operazioni di vacuum automatico, vengono commentati per default durante l'installazione del server Sentinel Rapid Deployment ed è necessario rimuovere il commento e impostare i valori.
vacuum_cost_delay: determina la durata dell'inattività del processo quando il limite di costo è stato superato. Ad esempio, è possibile impostare tale valore a 100.
vacuum_cost_limit: determina il costo accumulato che renderà il processo vacuum inattivo. Ad esempio, è possibile impostare tale valore a 10000.
Se si impostano i parametri a un valore diverso da zero, si ridurrà l'impatto di I/O del comando vacuum e analyze sull'attività normale del database. Durante l'esecuzione dei rapporti, si potrebbe avere un lieve impatto sulle prestazioni poiché il processo vacuum richiede più tempo di prima.
Per default, il processo autovacuum è impostato su true e viene eseguito periodicamente per recuperare spazio su disco e aggiornare le statistiche pianificate. Quando le dimensioni del database aumentano, autovacuum non è in grado di aggiornare tutti gli oggetti Database. In casi simili, se le prestazioni sono lente, eseguire lo script AnalyzePartitions.sh come lavoro (daemon) Cron. Il lavoro (daemon) Cron deve essere impostato dall'utente proprietario dei processi Sentinel Rapid Deployment.
Ad esempio:
30 11 * * * $ESEC_HOME/bin/AnalyzePartitions.sh
Dove:
30 sono i minuti.
11 sono le ore.
ESEC_HOME è il percorso assoluto del database.
Nell'esempio, lo script viene eseguito ogni giorno alle 11:30.
Evitare di pianificare l'archiviazione durante la generazione di rapporti. Se si pianificano entrambi i processi contemporaneamente, la generazione di rapporti viene messa in attesa a causa dei bug di PostgreSQL e l'elaborazione dei dati ha inizio al termine del lavoro di archiviazione. Questa modifica incide sulle prestazioni del database.