Prestazioni
Gen 2
IBM Cloud® Databases for MongoDB Le distribuzioni possono essere adattate manualmente in base al proprio utilizzo. Se state ottimizzando le prestazioni della vostra distribuzione, prendete innanzitutto in considerazione alcuni fattori.
Monitoraggio della distribuzione
Databases for MongoDB Le distribuzioni offrono un'integrazione con il servizio IBM Cloud® Monitoring per il monitoraggio di base dell'utilizzo delle risorse, come lo spazio su disco e gli IOPS della distribuzione. Osservare le tendenze relative all'utilizzo può aiutare a risolvere i problemi di prestazioni prima che i database diventino instabili a causa dell'esaurimento delle risorse.
Disk usage
Se ti preoccupa lo spazio che MongoDB sta utilizzando per archiviare i tuoi dati, puoi eseguire alcuni comandi nativi MongoDB diagnostica dell'archiviazione dei dati per verificare le dimensioni di elementi quali database, collezioni e indici. Se la dimensione approssimativa del set di dati è nota e fissa, è possibile ridimensionare manualmente il disco per adattarlo ai dati.
I/O disco
Il numero di operazioni di input-output al secondo (IOPS) nelle implementazioni di Databases for MongoDB è limitato dal tipo di volume di archiviazione. I volumi di archiviazione per le implementazioni di “ Databases for MongoDB ” sono volumi di archiviazione a blocchi di tipo “endurance” nella fascia da 5 IOPS per GB. Il raggiungimento dei limiti di utilizzo delle risorse I/O può causare un rallentamento nella risposta dei database o farli apparire come se non rispondessero. Le query non ottimizzate, la creazione di indici e la creazione di nuovi indici possono causare picchi di IOPS. Anche i normali carichi di lavoro delle applicazioni possono superare gli IOPS disponibili per la vostra implementazione.
È possibile aumentare il numero di IOPS disponibili per la propria distribuzione aumentando lo spazio su disco.
Per ulteriori informazioni, consultare la documentazione relativa a “ MongoDB ”.
WiredTiger cache e memoria
Databases for MongoDB utilizza il motore di archiviazione " WiredTiger ", che si avvale sia della cache di memoria del file system sia di una cache di memoria interna. MongoDB offre le migliori prestazioni quando fornisce i dati dalla propria cache interna, prestazioni leggermente inferiori quando i dati si trovano nella cache del file system e prestazioni minime quando deve recuperare i dati dal disco.
La dimensione predefinita della cache interna è 50% of (total RAM per member - 1 GB) oppure 256 MB, a seconda di quale dei due valori sia maggiore. Ad esempio, la dimensione minima della memoria di un'istanza di Databases
for MongoDB è di 4096 MB per ogni membro dei dati, quindi la cache interna è di 1536 MB (poiché 0.5 * (4096 MB - 1024 MB) = 1536 MB.
Nella tua installazione, il rapporto tra cache interna e cache del file system non è configurabile dall'utente, ma puoi scalare la quantità totale di memoria per regolare la cache interna e migliorare le prestazioni del database. Ad esempio,
se si imposta la memoria a 5120 MB per membro, la dimensione della cache interna diventa 2048 MB. 0.5 * (5120 MB - 1024 MB) = 2048 MB.
Un altro modo per utilizzare l'autoscaling consiste nell'impostare il ridimensionamento della memoria quando l'utilizzo dell'I/O su disco raggiunge una determinata soglia. Aumentando la memoria si riduce la quantità di dati che MongoDB legge o scrive sul disco; pertanto, una maggiore quantità di memoria potrebbe alleggerire il carico sull'I/O del disco, consentendo un maggiore utilizzo della cache.
Maggiori informazioni sulla cache " WiredTiger " sono disponibili nella documentazione " MongoDB ".
Prestazioni delle query
La documentazione di MongoDB contiene diverse risorse sulle prestazioni delle query, tra cui una guida pratica all'analisi delle prestazioni delle query. Una volta che avrai un'idea generale delle prestazioni delle tue query, troverai anche alcuni consigli su come ottimizzarle.
Per approfondire l'argomento, puoi scoprire come MongoDB gestisce i piani di query.
Altri strumenti di monitoraggio di MongoDB
È inoltre possibile sfruttare alcune delle funzioni native di monitoraggio di MongoDB. Ad esempio, è possibile utilizzare entrambi mongotop e mongostat.
Esegui uno qualsiasi dei comandi documentati che forniscono informazioni sullo stato del database di MongoDB.
Molte delle utilità e dei comandi di MongoDB richiedono il ruolo " Cluster Monitor " per essere eseguiti.
Non fa parte del set di ruoli predefinito di manager. Assegna il ruolo "Cluster Monitor "
all'utente manager nella tua distribuzione.