Prestazioni
Le distribuzioni IBM Cloud® Databases for MongoDB possono essere ridimensionate al tuo utilizzo manualmente o configurate per il ridimensionamento automatico in alcune condizioni di risorsa. Se si stanno ottimizzando le prestazioni della propria distribuzione, considerare prima alcuni fattori.
Monitoraggio della distribuzione
Le distribuzioni Databases for MongoDB offrono un'integrazione con il servizioIBM Cloud® Monitoring per il monitoraggio di base dell'uso delle risorse nella tua distribuzione. Molte delle metriche disponibili, come l'utilizzo del disco e l'IOPS, vengono presentate per aiutarti a configurare il ridimensionamento automatico nella tua distribuzione. Osservare le tendenze di utilizzo e configurare il ridimensionamento automatico per rispondere può aiutare ad alleviare i problemi di prestazione prima che i tuoi database diventino instabili a causa dell'esaurimento delle risorse.
Disk usage
Se sei preoccupato della quantità di spazio che MongoDB sta utilizzando per archiviare i tuoi dati, puoi eseguire alcune diagnostiche di archiviazione dati native di MongoDB per trovare le dimensioni di database, raccolte e indici. Se la dimensione approssimativa del dataset è nota e fissa, è possibile ridimensionare manualmente il disco per adattare i dati. Se il dataset cresce a una velocità prevedibile nel tempo, è possibile configurare il ridimensionamento automatico per aumentare la dimensione del disco quando l'utilizzo del disco raggiunge una determinata soglia.
I/O disco
Il numero di operazioni di input - output al secondo (IOPS) sulle distribuzioni Databases for MongoDB è limitato dal tipo di volume di archiviazione. I volumi di memoria per le distribuzioni Databases for MongoDB sono Block Storage Endurance Volumes in the 10 IOPS per GB tier. Rispettare i limiti di utilizzo I/O può far sì che i database rispondano lentamente o sembrino non rispondere. Cose come query non ottimizzate, creazione dell'indicee creazione di nuovi indici possono causare picchi in IOPS, ma è anche possibile che i normali carichi di lavoro per la tua applicazione possano superare l'IOPS disponibile per la tua distribuzione.
Puoi incrementare il numero di IOPS disponibili per la tua distribuzione aumentando lo spazio su disco. È anche possibile configurare il ridimensionamento automatico per aumentare automaticamente la dimensione del disco se l'utilizzo I/O della distribuzione raggiunge un determinato punto di saturazione per un periodo di tempo esteso.
Per ulteriori informazioni, vedi la documentazione diMongoDB.
WiredTiger cache e memoria
Databases for MongoDB utilizza il WiredTiger motore di archiviazione, che utilizza sia la cache di memoria del file system che una cache di memoria interna. MongoDB è il più performante quando serve i tuoi dati dalla sua cache interna, un po' meno performante quando i dati si trovano nella cache del file system e meno performante quando deve prendere i tuoi dati dal disco.
La dimensione predefinita della cache interna è 50% of (total RAM per member - 1 GB) o 256 MB, a seconda di quale valore è maggiore. Ad esempio, la dimensione minima della memoria di una distribuzione Databases for
MongoDB è di 4096 MB per membro dei dati, quindi la cache interna è di 1536 MB (perché 0.5 * (4096 MB - 1024 MB) = 1536 MB.
Il rapporto cache interno / file system non è configurabile dall'utente nella distribuzione, ma è possibile scalare la quantità totale di memoria per regolare la cache interna per rendere il database più performante. Ad esempio, se si scala
la memoria a 5120 MB per membro, la dimensione della cache interna diventa di 2048 MB. 0.5 * (5120 MB - 1024 MB) = 2048 MB.
Un altro modo per utilizzare la scalabilità automatica è impostare la memoria per scalare quando l'utilizzo I/O del disco raggiunge una determinata soglia. L'aumento della memoria diminuisce la quantità che MongoDB legge o scrive sul disco, quindi la memoria aggiuntiva potrebbe alleviare la pressione sull'I/O del disco, supportando una maggiore memorizzazione nella cache.
Ulteriori informazioni sulla cache WiredTiger sono disponibili nella documentazione diMongoDB.
Prestazioni delle query
La documentazione di MongoDB ha più risorse sulle prestazioni della query, incluso un how-to su analisi delle prestazioni della query. Una volta che hai un'idea generale su come funzionano le tue query, hanno anche dei suggerimenti su come ottimizzare le query.
Come argomento più avanzato, puoi imparare come MongoDB gestisce i piani query.
Altri strumenti di monitoraggio MongoDB
Puoi anche trarre vantaggio da alcune delle funzioni di monitoraggio MongoDB native. Ad esempio, è possibile utilizzare sia mongotop che mongostat.
mongotop 30 --username admin --password $PASSWORD --tls --tlsCAFile $CERTFILE --authenticationDatabase admin --host host1.databases.appdomain.cloud:31712, host2.databases.appdomain.cloud:31712
mongostat -n 20 1 --username admin --password $PASSWORD --tls --tlsCAFile $CERTFILE --authenticationDatabase admin --host host1.databases.appdomain.cloud:31712,host2.databases.appdomain.cloud:31712 --json
Esegui uno dei comandi documentati che riportano lo stato del tuo database MongoDB.
Molte delle utilità e dei comandi di MongoDB richiedono il ruolo di Cluster Monitor per essere eseguiti. Non fa parte
della serie di ruoli predefiniti admin. Concedi il ruolo Cluster Monitor all'utente admin nella tua distribuzione.
Per ulteriori informazioni, consultare il post del blog Best Practices.