Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Supervisar el rendimiento de la base de datos

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Hay algunas formas diferentes de monitorear el rendimiento de su base de datos en tiempo real de Firebase y detectar posibles problemas en su aplicación. Mirar el ancho de banda y la carga entrantes y salientes de su aplicación también puede darle una idea de qué esperar en su factura. Además, si algo parece estar mal, obtener una imagen clara de las operaciones de su base de datos puede ser una herramienta útil para solucionar problemas.

Esta página trata sobre la supervisión del rendimiento de la base de datos en tiempo real. Para monitorear el uso, consulte Monitorear el uso de la base de datos.

Usar herramientas de monitoreo de base de datos en tiempo real

Puede recopilar datos sobre el rendimiento de su base de datos en tiempo real a través de algunas herramientas diferentes, según el nivel de granularidad que necesite.

Usar la herramienta de generación de perfiles de Realtime Database

La herramienta de generación de perfiles de Realtime Database proporciona una descripción general en tiempo real de las operaciones de lectura/escritura en su base de datos. El informe incluye información sobre la velocidad y el tamaño de la carga útil de cada operación, además de consultas no indexadas. Sin embargo, no incluye información histórica ni estadísticas sobre los gastos generales de conexión y no debe usarse para estimar los costos de facturación .

Para obtener más información sobre el uso de la herramienta Profiler, consulte Perfile su base de datos .

Usar la consola de Firebase

La pestaña Uso en Firebase console ofrece información sobre las conexiones simultáneas a su base de datos, la cantidad de datos que está almacenando, el ancho de banda saliente (incluido el protocolo y la sobrecarga de cifrado) y la carga de su base de datos en intervalos de 1 minuto. Si bien la pestaña Uso le brinda una descripción general más precisa del rendimiento general de su base de datos, es posible que no pueda profundizar lo suficiente para solucionar posibles problemas de rendimiento.

Usar monitoreo en la nube

Con Cloud Monitoring de Google Cloud, puede usar Metrics Explorer para ver métricas de rendimiento individuales o crear diferentes paneles con gráficos que muestren varias combinaciones de métricas de rendimiento a lo largo del tiempo. La integración de Realtime Database con Cloud Monitoring ofrece el nivel más profundo de granularidad.

Los pasos para configurar Cloud Monitoring se describen en Supervisar el uso de la base de datos.

Consulte las siguientes secciones para obtener sugerencias sobre el uso de métricas específicas de Cloud Monitoring para detectar problemas de rendimiento.

Supervisar el rendimiento en Cloud Monitoring

Si tiene problemas con el rendimiento, incluido el tiempo de actividad o la latencia, es posible que desee usar Cloud Monitoring para monitorear las siguientes métricas. Tenga en cuenta que todos los nombres de tipos de métricas tienen el prefijo firebasedatabase.googleapis.com/ .

Nombre de la métrica Descripción
Carga de base de datos

io/database_load . Utilice esta métrica para controlar cuánto del ancho de banda disponible de su base de datos está en uso procesando solicitudes a lo largo del tiempo. Es posible que vea problemas de rendimiento a medida que la carga de su base de datos se acerca al ancho de banda total disponible. También puede ver qué tipos de operaciones están utilizando la mayor parte de la carga y solucionar los problemas en consecuencia. La carga notificada puede superar el 100 % en operaciones que tardan más de un minuto. Esto sucede cuando el ancho de banda total utilizado en varios minutos se condensa en el intervalo de informe de un minuto después de que se completa la operación.

Red deshabilitada por excedentes

network/disabled_for_overages . Esta métrica refleja las interrupciones que podrían haber ocurrido si su base de datos en tiempo real excedía cualquier límite de ancho de banda o de red.

Almacenamiento deshabilitado para excedentes

storage/disabled_for_overages . Esta métrica refleja las interrupciones que podrían haber ocurrido si su base de datos en tiempo real excedía los límites de almacenamiento.

Combine métricas en gráficos en su tablero para obtener información útil y resúmenes. Por ejemplo, prueba las siguientes combinaciones:

  • Operaciones: use la métrica io/database_load para ver qué cantidad de la carga total de la base de datos se usa en cada tipo de operación. Asegúrese de agrupar io/database_load por tipo para solucionar diferentes tipos de operaciones.
  • Almacenamiento: use el storage/limit y storage/total_bytes para monitorear su uso de almacenamiento en relación con los límites de almacenamiento de Realtime Database. También puede agregar storage/disabled_for_overages para ver si su aplicación experimentó algún tiempo de inactividad como resultado de los límites de almacenamiento excedidos.
  • Sobrecarga de SSL: use network/https_requests_count para monitorear cuántas solicitudes de conexión SSL recibió su base de datos y divida las solicitudes que reutilizaron un ticket de sesión SSL existente con el filtro reused_ssl_session . Puede comparar esto con network/sent_bytes_count y network/sent_payload_and_protocol_bytes_count para monitorear si su aplicación está usando vales de sesión SSL o no de manera eficiente.

También puede configurar alertas a través de Cloud Monitoring y recibir notificaciones basadas en métricas de Realtime Database. Por ejemplo, puede optar por recibir una notificación si su io/database_load se acerca a cierto umbral.

Consulte la lista completa de métricas de Realtime Database disponibles a través de Cloud Monitoring .

Tipos de carga de base de datos

La métrica io/database_load también proporciona una etiqueta de qué tipo de operación provocó la carga. Los siguientes son los posibles tipos de operaciones medidas:

  • admin : operaciones de administración como establecer reglas y leer metadatos del proyecto.
  • auth : Verificación de la autenticación de cuentas de servicio o Firebase Authentication para un solo cliente.
  • client_management : Manejar la adición y eliminación de conexiones simultáneas, esto incluye ejecutar operaciones de desconexión en la eliminación.
  • get_shallow : Recuperar los datos de un REST GET con shallow=true .
  • get : Manejo de operaciones REST GET.
  • listen : Recuperación de los datos iniciales para operaciones on y once de clientes conectados.
  • on_disconnect : Registro en operaciones de desconexión de clientes.
  • put : Manejo de operaciones de set de clientes u operaciones REST PUT.
  • transaction : Realización de transacciones a partir de solicitudes REST condicionales o una operación de transaction de un cliente.
  • update : manejo de operaciones de update o solicitudes REST PATCH.

Supervise las reglas de seguridad en Cloud Monitoring

También puede analizar la evaluación de las Reglas de Seguridad. Tenga en cuenta que todos los nombres de tipos de métricas tienen el prefijo firebasedatabase.googleapis.com/ .

Nombre de la métrica Descripción
Evaluaciones de reglas rules/evaluation_count . El número de evaluaciones de reglas de base de datos en tiempo real realizadas en respuesta a solicitudes de escritura o lectura. Puede desglosar esta métrica por el resultado de la solicitud (PERMITIR, DENEGAR o ERROR).

Adapte su gráfico de Cloud Monitoring para las evaluaciones de reglas según sea necesario, por ejemplo, filtrando resultados de evaluación particulares, PERMITIR, DENEGAR o ERROR. La configuración y personalización de gráficos se cubre en Supervisar el uso de la base de datos.

Consulte la lista completa de métricas de Realtime Database disponibles a través de Cloud Monitoring .