Existen varias formas diferentes de supervisar el rendimiento de Firebase Realtime Database y detectar posibles problemas en tu app. Observar la carga y el ancho de banda entrante y saliente también puede darte una idea del monto de tu próxima factura. Además, si algo parece estar fuera de lugar, contar con una imagen clara de las operaciones de la base de datos puede ser una herramienta útil para solucionar problemas.
En esta página, se analiza la supervisión del rendimiento del Realtime Database. Para obtener información sobre la supervisión de uso, consulta Supervisa el uso de la base de datos.
Usa herramientas de supervisión de Realtime Database
Puedes reunir datos sobre el rendimiento de Realtime Database con unas pocas herramientas diferentes, según el nivel de detalle que necesites.
Usa 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 de las operaciones de lectura y escritura en la base de datos. El informe incluye datos sobre la velocidad y el tamaño de la carga útil de cada operación, además de las consultas sin indexar. Sin embargo, no incluye información histórica ni estadísticas sobre los gastos de funcionamiento 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 de generación de perfiles, consulta Cómo crear un perfil de la base de datos.
Usa Firebase console
La pestaña Uso de Firebase console proporciona información sobre las conexiones simultáneas a la base de datos, cuántos datos almacenas, el ancho de banda saliente (incluida la sobrecarga de encriptación y del protocolo) y los intervalos de carga de la base de datos que superan 1 minuto. La pestaña Uso te ofrece un panorama más preciso del rendimiento general de la base de datos, pero es probable que no puedas obtener una vista lo suficientemente detallada para solucionar posibles problemas de rendimiento.
Usa Cloud Monitoring
Con Cloud Monitoring de Google Cloud, puedes usar el Explorador de métricas para ver métricas de rendimiento individuales o crear diferentes paneles con gráficos que muestren varias combinaciones de métricas de rendimiento con el tiempo. La integración de Realtime Database con Cloud Monitoring ofrece el nivel de detalle más profundo.
Los pasos para configurar Cloud Monitoring se describen en la página Supervisa el uso de la base de datos.
Consulta las siguientes secciones para obtener sugerencias sobre el uso de métricas específicas de Cloud Monitoring para detectar problemas de rendimiento.
Supervisa el rendimiento en Cloud Monitoring
Si tienes problemas con el rendimiento, incluido el tiempo de actividad o la latencia, te recomendamos usar Cloud Monitoring para supervisar las siguientes métricas.
Ten en cuenta que todos los nombres de los tipos de métrica tienen el prefijo firebasedatabase.googleapis.com/
.
Nombre de la métrica | Descripción |
---|---|
Carga de la base de datos |
|
Red inhabilitada por excesos |
|
Almacenamiento inhabilitado por excesos |
|
Combina varias métricas en el panel para hacer gráficos que te permitan ver estadísticas útiles y descripciones generales. Por ejemplo, prueba las siguientes combinaciones:
- Operaciones: Usa la métrica
io/database_load
para saber cuánto de la carga total de la base de datos se usa en cada tipo de operación. Asegúrate de agrupario/database_load
por tipo para solucionar problemas de diferentes tipos de operaciones. - Almacenamiento: Usa las métricas
storage/limit
ystorage/total_bytes
para supervisar el uso del almacenamiento en relación con los límites de almacenamiento de Realtime Database. También puedes agregarstorage/disabled_for_overages
para ver si tu app tuvo tiempos de inactividad debido a que excedió los límites de almacenamiento. - Sobrecarga de SSL: Usa
network/https_requests_count
para supervisar cuántas solicitudes de conexión SSL recibió la base de datos y separar las solicitudes que volvieron a usar una solicitud de sesión SSL existente con el filtroreused_ssl_session
. Puedes medir esto en comparación connetwork/sent_bytes_count
ynetwork/sent_payload_and_protocol_bytes_count
para supervisar si tu app usa o no las solicitudes de sesión SSL de manera eficiente.
También puedes configurar alertas a través de Cloud Monitoring y recibir notificaciones a partir de métricas de Realtime Database.
Por ejemplo, puedes elegir recibir una notificación si io/database_load
se acerca a un umbral determinado.
Consulta la lista completa de métricas de Realtime Database disponible a través de Cloud Monitoring.
Tipos de cargas de la base de datos
La métrica io/database_load
también proporciona una etiqueta del tipo de operación que causó la carga. Estos son los posibles tipos de operaciones que se miden:
admin
: Operaciones de administrador, como la configuración de reglas y la lectura de metadatos de proyectos.auth
: Verificación de la autenticación desde cuentas de servicio o Firebase Authentication para un único cliente.client_management
: Control de adición y eliminación de conexiones simultáneas, que incluye la ejecución de operaciones de desconexión durante la eliminación.get_shallow
: Recuperación de datos desde un GET de REST conshallow=true
.get
: Control de operaciones del GET de REST.listen
: Recuperación de datos iniciales para operacioneson
yonce
de clientes conectados.on_disconnect
: Registro en operaciones de desconexión de clientes.put
: Control de operacionesset
de clientes o de operaciones PUT de REST.transaction
: Realización de transacciones desde solicitudes condicionales de REST o una operacióntransaction
de un cliente.update
: Control de operacionesupdate
o solicitudes de PATCH de REST.
Supervisa las reglas de seguridad en Cloud Monitoring
También puedes analizar la evaluación de las reglas de seguridad. Ten en cuenta que todos los nombres de los tipos de métrica tienen el prefijo firebasedatabase.googleapis.com/
.
Nombre de la métrica | Descripción |
---|---|
Evaluaciones de las reglas | rules/evaluation_count . La cantidad de evaluaciones de reglas de Realtime Database ejecutadas en respuesta a solicitudes de escritura o lectura. Puedes desglosar esta métrica según el resultado de la solicitud (ALLOW, DENY o ERROR). |
Adapta el gráfico de Cloud Monitoring para las evaluaciones de reglas según sea necesario. Por ejemplo, filtra los resultados de evaluaciones específicas, ALLOW, DENY o ERROR. La configuración y personalización de gráficos se describe en Supervisa el uso de la base de datos.
Consulta la lista completa de métricas de Realtime Database disponible a través de Cloud Monitoring.