Existem algumas maneiras diferentes de monitorar o desempenho do Firebase Realtime Database e detectar possíveis problemas no seu aplicativo. Observar a largura de banda e a carga de entrada e saída do seu aplicativo também pode dar uma ideia do que esperar da sua fatura. Além disso, se algo parecer errado, obter uma imagem clara das operações do seu banco de dados pode ser uma ferramenta útil para solução de problemas.
Esta página discute o monitoramento de desempenho do Realtime Database. Para monitoramento de uso, consulte Monitorar o uso do banco de dados .
Use ferramentas de monitoramento do Realtime Database
Você pode coletar dados sobre o desempenho do Realtime Database por meio de algumas ferramentas diferentes, dependendo do nível de granularidade necessário.
Usar a ferramenta de criação de perfil do Realtime Database
A ferramenta Realtime Database Profiler fornece uma visão geral em tempo real das operações de leitura/gravação no seu banco de dados. O relatório inclui informações sobre a velocidade e o tamanho da carga útil de cada operação, além de consultas não indexadas. No entanto, ele não inclui informações históricas ou estatísticas sobre sobrecarga de conexão e não deve ser usado para estimar custos de faturamento .
Para saber mais sobre como usar a ferramenta de criação de perfil, consulte Criar perfil do seu banco de dados .
Usar o console do Firebase
A guia Uso no console do Firebase oferece informações sobre conexões simultâneas ao seu banco de dados, quantos dados você está armazenando, largura de banda de saída (incluindo sobrecarga de protocolo e criptografia) e a carga do seu banco de dados em intervalos de 1 minuto. Embora a guia Uso forneça uma visão geral mais precisa do desempenho geral do seu banco de dados, talvez você não consiga fazer uma busca detalhada o suficiente para solucionar possíveis problemas de desempenho.
Use o monitoramento em nuvem
Com o Cloud Monitoring do Google Cloud, você pode usar o Metrics Explorer para ver métricas de desempenho individuais ou criar diferentes painéis com gráficos que exibem diversas combinações de métricas de desempenho ao longo do tempo. A integração do Realtime Database com o Cloud Monitoring oferece o nível mais profundo de granularidade.
As etapas para configurar o Cloud Monitoring estão descritas em Monitorar o uso do banco de dados .
Consulte as seções a seguir para dicas sobre como usar métricas específicas do Cloud Monitoring para detectar problemas de desempenho.
Monitore o desempenho no Cloud Monitoring
Se você estiver enfrentando problemas de desempenho, incluindo tempo de atividade ou latência, use o Cloud Monitoring para monitorar as métricas a seguir. Observe que todos os nomes de tipos de métrica são prefixados com firebasedatabase.googleapis.com/
.
Nome da métrica | Descrição |
---|---|
Carga do banco de dados | |
Rede desativada por excesso | |
Armazenamento desativado por excesso | |
Combine métricas em gráficos em seu painel para obter insights e visões gerais úteis. Por exemplo, experimente as seguintes combinações:
- Operações: use a métrica
io/database_load
para ver quanto da carga total do banco de dados é usada por cada tipo de operação. Certifique-se de agrupario/database_load
por tipo para solucionar problemas de diferentes tipos de operação. - Armazenamento: use
storage/limit
estorage/total_bytes
para monitorar a utilização do armazenamento em relação aos limites de armazenamento do Realtime Database. Você também pode adicionarstorage/disabled_for_overages
para ver se seu aplicativo sofreu algum tempo de inatividade como resultado de limites de armazenamento excedidos. - Sobrecarga de SSL: use
network/https_requests_count
para monitorar quantas solicitações de conexão SSL seu banco de dados recebeu e dividir solicitações que reutilizaram um ticket de sessão SSL existente com o filtroreused_ssl_session
. Você pode medir isso em relação anetwork/sent_bytes_count
enetwork/sent_payload_and_protocol_bytes_count
para monitorar se seu aplicativo está ou não usando tickets de sessão SSL com eficiência.
Você também pode configurar alertas por meio do Cloud Monitoring e receber notificações com base nas métricas do Realtime Database. Por exemplo, você pode optar por receber uma notificação se seu io/database_load
estiver se aproximando de um determinado limite.
Veja a lista completa de métricas do Realtime Database disponíveis por meio do Cloud Monitoring .
Tipos de carga de banco de dados
A métrica io/database_load
também fornece um rótulo de qual tipo de operação causou a carga. A seguir estão os possíveis tipos de operações medidas:
-
admin
: operações administrativas, como definição de regras e leitura de metadados do projeto. -
auth
: verificando a autenticação de contas de serviço ou Firebase Authentication para um único cliente. -
client_management
: Lidar com a adição e remoção de conexões simultâneas, incluindo a execução de operações de desconexão na remoção. -
get_shallow
: Recuperando os dados de um REST GET comshallow=true
. -
get
: Tratamento de operações REST GET. -
listen
: recuperando os dados iniciais para operaçõeson
eonce
de clientes conectados. -
on_disconnect
: Registrando em operações de desconexão de clientes. -
put
: Manipulação de operações deset
de clientes ou operações REST PUT. -
transaction
: Executando transações a partir de solicitações REST condicionais ou uma operaçãotransaction
de um cliente. -
update
: Tratamento de operaçõesupdate
ou solicitações REST PATCH.
Monitore regras de segurança no Cloud Monitoring
Você também pode analisar a avaliação das regras de segurança. Observe que todos os nomes de tipos de métrica são prefixados com firebasedatabase.googleapis.com/
.
Nome da métrica | Descrição |
---|---|
Avaliações de regras | rules/evaluation_count . O número de avaliações de regras do Realtime Database executadas em resposta a solicitações de gravação ou leitura. Você pode dividir essa métrica pelo resultado da solicitação (ALLOW, DENY ou ERROR). |
Personalize seu gráfico do Cloud Monitoring para avaliações de regras conforme necessário, por exemplo, filtrando resultados de avaliação específicos, ALLOW, DENY ou ERROR. A configuração e a personalização de gráficos são abordadas em Monitorar o uso do banco de dados .
Veja a lista completa de métricas do Realtime Database disponíveis por meio do Cloud Monitoring .