Prestazioni

IBM Cloud® Databases for PostgreSQL le distribuzioni possono essere sia scalate manualmente in base all'utilizzo, sia configurate per autoscalare in base a determinate condizioni di risorse. Ci sono alcuni fattori da considerare quando si mettono a punto le prestazioni dell'installazione.

Monitoraggio della distribuzione

Le distribuzioni Databases for PostgreSQL offrono un'integrazione con IBM Cloud® Monitoring servizio per il monitoraggio di base dell'uso delle risorse sulla vostra distribuzione. Molte delle metriche disponibili, come l'uso del disco e le IOPS, sono presentate per aiutare l'utente a configurare l'autoscaling sulla propria installazione. Osservare le tendenze di utilizzo e configurare l'autoscaling per rispondere a tali tendenze può aiutare a ridurre i problemi di prestazioni prima che i database diventino instabili a causa dell'esaurimento delle risorse.

IOPS disco

Il numero di operazioni di input/output al secondo (IOPS) è limitato dal tipo di volume di archiviazione. I volumi di archiviazione per le implementazioni Databases for PostgreSQL sono forniti su Block Storage Endurance Volumes nel livello 10 IOPS per GB. Se il carico operativo satura o supera il limite IOPS, le richieste e le operazioni del database vengono ritardate finché il disco non riesce a recuperare. Periodi prolungati di forte carico possono causare l'impossibilità di elaborare le query e la conseguente indisponibilità dell'installazione. Se si verificano risposte ritardate e operazioni non riuscite, è possibile che si stia superando il limite IOPS del disco. È possibile aumentare il numero di IOPS disponibili per l'installazione aumentando lo spazio su disco.

Si consiglia un disco da almeno 100 GB (1.000 IOPS) per gli ambienti di produzione.

Utilizzo memoria

Databases for PostgreSQL le impostazioni di memoria dell'installazione client sono regolate automaticamente in base alla memoria totale dell'installazione client. In particolare, work_mem, maintenance_work_mem e effective_cache_size sono impostati su fornitura, ripristino o scala.

È possibile impostare la quantità di memoria dedicata al pool di buffer condivisi del database regolando il parametro shared_buffers nella configurazione PostgreSQL. Il valore consigliato è il 25% della memoria totale dell'installazione. L'allocazione di una quantità eccessiva di memoria al pool di buffer condivisi può affamare il sistema di memoria per altri scopi, ostacolando le prestazioni o addirittura disattivando il database.

L'allocazione di quantità maggiori di memoria (al di fuori del pool di buffer condivisi) per l'implementazione è comunque vantaggiosa per le prestazioni. Ad esempio, PostgreSQL riempie la memoria con pagine del disco memorizzate nella cache per garantire le prestazioni. Non è necessario allocare memoria a PostgreSQL direttamente perché PostgreSQL lo usi.

Limiti connessioni

Databases for PostgreSQL imposta il numero massimo di connessioni al database PostgreSQL a 115. 15 connessioni sono riservate al superutente per mantenere lo stato e l'integrità del database, mentre 100 connessioni sono disponibili per l'utente e le sue applicazioni. Una volta raggiunto il limite di connessione, qualsiasi tentativo di avviare una nuova connessione provoca un errore. Per evitare di sovraccaricare il deployment di connessioni, utilizzare il pooling delle connessioni o scalare il deployment e aumentare il limite di connessioni. Per ulteriori informazioni, consultare la pagina Gestione delle connessioni PostgreSQL.

Databases for PostgreSQL imposta il numero massimo di connessioni al database PostgreSQL a 115. 15 connessioni sono riservate al superutente per mantenere lo stato e l'integrità del database, mentre 100 connessioni sono disponibili per l'utente e le sue applicazioni. Una volta raggiunto il limite di connessione, qualsiasi tentativo di avviare una nuova connessione provoca un errore. Per evitare di sovraccaricare il deployment di connessioni, utilizzare il pooling delle connessioni o scalare il deployment e aumentare il limite di connessioni. Per ulteriori informazioni, vedere Gestione PostgreSQL delle connessioni.

Risoluzione dei problemi relativi alle prestazioni

Per assistenza nella comprensione dei problemi relativi alle prestazioni PostgreSQL e su come risolverli, consulta Risoluzione dei problemi PostgreSQL relativi alle prestazioni.