Surveiller les performances de la base de données

Il existe différentes manières de surveiller les performances de votre base de données en temps réel Firebase et de détecter les problèmes potentiels dans votre application. L’examen de la bande passante et de la charge entrante et sortante de votre application peut également vous donner une idée de ce à quoi vous attendre sur votre facture. De plus, si quelque chose ne va pas, obtenir une image claire des opérations de votre base de données peut être un outil de dépannage utile.

Cette page traite de la surveillance des performances de la base de données en temps réel. Pour la surveillance de l'utilisation, voir Surveiller l'utilisation de la base de données .

Utiliser les outils de surveillance de base de données en temps réel

Vous pouvez collecter des données sur les performances de votre base de données en temps réel via différents outils, en fonction du niveau de granularité dont vous avez besoin.

Utiliser l'outil de profilage de base de données en temps réel

L' outil de profilage de base de données en temps réel fournit un aperçu en temps réel des opérations de lecture/écriture sur votre base de données. Le rapport comprend des informations sur la vitesse et la taille de la charge utile de chaque opération, en plus des requêtes non indexées. Cependant, il n'inclut pas d'informations historiques ni de statistiques sur les frais de connexion et ne doit pas être utilisé pour estimer les coûts de facturation .

Pour en savoir plus sur l'utilisation de l'outil de profilage, consultez Profiler votre base de données .

Utiliser la console Firebase

L'onglet Utilisation de la console Firebase offre des informations sur les connexions simultanées à votre base de données, la quantité de données que vous stockez, la bande passante sortante (y compris la surcharge de protocole et de chiffrement) et la charge de votre base de données sur des intervalles d'une minute. Bien que l'onglet Utilisation vous donne un aperçu plus précis des performances globales de votre base de données, vous ne pourrez peut-être pas explorer suffisamment pour résoudre les problèmes de performances potentiels.

Utiliser la surveillance du cloud

Avec Cloud Monitoring de Google Cloud, vous pouvez utiliser l'explorateur de métriques pour afficher des métriques de performances individuelles ou créer différents tableaux de bord avec des graphiques qui affichent diverses combinaisons de métriques de performances au fil du temps. L'intégration de Realtime Database avec Cloud Monitoring offre le niveau de granularité le plus profond.

Les étapes de configuration de Cloud Monitoring sont décrites dans Surveiller l'utilisation de la base de données .

Consultez les sections suivantes pour obtenir des conseils sur l'utilisation de métriques Cloud Monitoring spécifiques pour détecter les problèmes de performances.

Surveiller les performances dans Cloud Monitoring

Si vous rencontrez des problèmes de performances, notamment de disponibilité ou de latence, vous souhaiterez peut-être utiliser Cloud Monitoring pour surveiller les métriques suivantes. Notez que tous les noms de types de métriques portent le préfixe firebasedatabase.googleapis.com/ .

Nom de la métrique Description
Chargement de la base de données

io/database_load . Utilisez cette métrique pour surveiller la quantité de bande passante disponible de votre base de données utilisée pour traiter les demandes au fil du temps. Vous pourriez rencontrer des problèmes de performances à mesure que la charge de votre base de données approche de la bande passante totale disponible. Vous pouvez également voir quels types d’opérations utilisent le plus de charge et dépanner en conséquence. La charge signalée peut dépasser 100 % sur les opérations qui durent plus d'une minute. Cela se produit lorsque la bande passante totale utilisée sur plusieurs minutes est condensée dans l’intervalle de rapport d’une minute une fois l’opération terminée.

Réseau désactivé pour les dépassements

network/disabled_for_overages . Cette mesure reflète toutes les pannes qui auraient pu se produire si votre base de données en temps réel dépassait les limites de bande passante ou de réseau.

Stockage désactivé pour les excédents

storage/disabled_for_overages . Cette mesure reflète toutes les pannes qui auraient pu se produire si votre base de données en temps réel dépassait les limites de stockage.

Combinez les mesures dans des graphiques sur votre tableau de bord pour obtenir des informations et des aperçus utiles. Par exemple, essayez les combinaisons suivantes :

  • Opérations : utilisez la métrique io/database_load pour voir quelle part de la charge totale de votre base de données est utilisée par chaque type d'opération. Assurez-vous de regrouper io/database_load par type pour dépanner différents types d'opérations.
  • Stockage : utilisez les storage/limit et storage/total_bytes pour surveiller votre utilisation du stockage par rapport aux limites de stockage de la base de données en temps réel. Vous pouvez également ajouter storage/disabled_for_overages pour voir si votre application a connu un temps d'arrêt en raison du dépassement des limites de stockage.
  • Surcharge SSL : utilisez network/https_requests_count pour surveiller le nombre de demandes de connexion SSL reçues par votre base de données et répartissez les demandes qui ont réutilisé un ticket de session SSL existant avec le filtre reused_ssl_session . Vous pouvez mesurer cela par rapport à network/sent_bytes_count et network/sent_payload_and_protocol_bytes_count pour vérifier si votre application utilise efficacement ou non les tickets de session SSL.

Vous pouvez également configurer des alertes via Cloud Monitoring et recevoir des notifications basées sur les métriques de la base de données en temps réel. Par exemple, vous pouvez choisir de recevoir une notification si votre io/database_load approche d'un certain seuil.

Consultez la liste complète des métriques de base de données en temps réel disponibles via Cloud Monitoring .

Types de chargement de base de données

La métrique io/database_load fournit également une étiquette indiquant le type d'opération à l'origine du chargement. Voici les types possibles d’opérations mesurées :

  • admin : opérations d'administration telles que la définition de règles et la lecture des métadonnées du projet.
  • auth : vérification de l'authentification à partir des comptes de service ou de l'authentification Firebase pour un seul client.
  • client_management : gestion de l'ajout et de la suppression de connexions simultanées, cela inclut l'exécution d'opérations de déconnexion lors de la suppression.
  • get_shallow : Récupération des données d'un REST GET avecshallow shallow=true .
  • get : Gestion des opérations REST GET.
  • listen : Récupération des données initiales pour les opérations on et once des clients connectés.
  • on_disconnect : Enregistrement lors des opérations de déconnexion des clients.
  • put : Gestion des opérations set des clients ou des opérations REST PUT.
  • transaction : effectuer des transactions à partir de requêtes REST conditionnelles ou d'une opération transaction provenant d'un client.
  • update : Gestion des opérations update ou des requêtes REST PATCH.

Surveiller les règles de sécurité dans Cloud Monitoring

Vous pouvez également analyser l'évaluation des règles de sécurité. Notez que tous les noms de types de métriques portent le préfixe firebasedatabase.googleapis.com/ .

Nom de la métrique Description
Évaluations de règles rules/evaluation_count . Nombre d'évaluations de règles de base de données en temps réel effectuées en réponse à des requêtes d'écriture ou de lecture. Vous pouvez décomposer cette métrique en fonction du résultat de la demande (ALLOW, DENY ou ERROR).

Adaptez votre graphique Cloud Monitoring pour les évaluations de règles selon vos besoins, par exemple en filtrant sur des résultats d'évaluation particuliers, ALLOW, DENY ou ERROR. La configuration et la personnalisation des graphiques sont abordées dans Surveiller l'utilisation de la base de données .

Consultez la liste complète des métriques de base de données en temps réel disponibles via Cloud Monitoring .