Há algumas maneiras de monitorar o desempenho do Firebase Realtime Database e identificar possíveis problemas no app. Analisar a largura de banda de entrada e saída e a carga do app também pode ajudar a compreender o que esperar na fatura. Além disso, se algo parecer fora do normal, ter uma visão clara das operações do seu banco de dados pode ser uma ferramenta útil de solução de problemas.
Esta página aborda o monitoramento do desempenho do Realtime Database. Para o monitoramento do uso, consulte Monitorar o uso do Database.
Usar as ferramentas de monitoramento do Realtime Database
Você pode usar ferramentas diferentes para coletar dados sobre o desempenho do Realtime Database, de acordo com o nível de granularidade necessário:
Usar a ferramenta de criação de perfil do Realtime Database
A ferramenta de criação de perfil do Realtime Database fornece uma visão geral em tempo real das operações de leitura/gravação no banco de dados. O relatório inclui informações sobre a velocidade e o payload de cada operação, além das consultas não indexadas. Ele não inclui informações históricas ou estatísticas sobre sobrecarga de conexão e não deve ser usado para fazer estimativas quanto aos custos de faturamento.
Consulte Criar perfil do seu banco de dados para saber mais sobre como usar a ferramenta de criação de perfil.
Use o console Firebase
A guia Uso no console do Firebase oferece informações sobre conexões simultâneas com o banco de dados, como a quantidade de dados armazenados, a largura de banda de saída (incluindo sobrecarga de criptografia e protocolo) e a carga do banco de dados durante intervalos de um minuto. A guia Uso apresenta uma visão geral mais precisa de todo o desempenho do banco de dados, mas talvez não mostre detalhes suficientes para resolver possíveis problemas de desempenho.
Usar Cloud Monitoring
Com o Cloud Monitoring do Google Cloud, é possível usar o Metrics Explorer para conferir métricas de desempenho individuais ou criar painéis diferentes com gráficos que exibem várias combinações dessas métricas 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 são descritas em Monitorar o uso do Database.
Consulte as seções a seguir para conferir dicas sobre como usar métricas específicas do Cloud Monitoring para detectar problemas de desempenho.
Monitorar o desempenho no Cloud Monitoring
Em caso de problemas de desempenho, incluindo tempo de atividade ou latência,
é recomendado usar o Cloud Monitoring para monitorar as métricas a seguir.
Os nomes dos tipos de métricas são prefixados com firebasedatabase.googleapis.com/
.
Nome da métrica | Descrição |
---|---|
Carga do banco de dados |
|
Rede desativada para uso excedente |
|
Armazenamento desativado para uso excedente |
|
Combine métricas em gráficos no seu painel para receber insights úteis e visões gerais. Por exemplo, teste as seguintes combinações:
- Operações: use a métrica
io/database_load
para ver a quantidade da carga total do banco de dados usada para cada tipo de operação. Agrupeio/database_load
por tipo para resolver problemas de diferentes tipos de operação. - Armazenamento: use
storage/limit
estorage/total_bytes
para monitorar sua utilização de armazenamento em relação aos limites de armazenamento do Realtime Database. Também é possível adicionarstorage/disabled_for_overages
para conferir se o app passou por algum tempo de inatividade devido a limites de armazenamento excedidos. - Sobrecarga de SSL: use
network/https_requests_count
para monitorar o número de solicitações de conexão SSL recebidas pelo banco de dados e separe as solicitações que reutilizaram um tíquete de sessão SSL atual com o filtroreused_ssl_session
. É possível avaliar isso em relação anetwork/sent_bytes_count
enetwork/sent_payload_and_protocol_bytes_count
para monitorar se seu app está usando tíquetes de sessão SSL com eficiência.
Também é possível configurar alertas
pelo Cloud Monitoring e receber notificações com base nas métricas do Realtime Database.
Por exemplo, é possível optar por receber uma notificação quando io/database_load
estiver se aproximando de um determinado limite.
Consulte a lista completa de métricas do Realtime Database disponíveis com o Cloud Monitoring.
Tipos de carga do Database
A métrica io/database_load
também apresenta um rótulo que indica qual tipo de operação causou a carga. Veja a seguir os tipos de operações medidas:
admin
: operações de administração, como definição de regras e leitura de metadados do projeto.auth
: autenticação de verificação de contas de serviço ou do Firebase Authentication para um único cliente.client_management
: gerenciamento da 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
: recuperação dos dados de um REST GET comshallow=true
.get
: gerenciamento das operações REST GET.listen
: recuperação dos dados iniciais para as operaçõeson
eonce
de clientes conectados.on_disconnect
: registro em operações de desconexão de clientes.put
: gerenciamento de operaçõesset
de clientes ou operações REST PUT.transaction
: execução de transações de solicitações REST condicionais ou uma operaçãotransaction
de um cliente.update
: gerenciamento de operaçõesupdate
ou solicitações REST PATCH.
Monitorar regras de segurança no Cloud Monitoring
Também é possível analisar a avaliação das regras de segurança. Os nomes dos tipos de métricas são prefixados com firebasedatabase.googleapis.com/
.
Nome da métrica | Descrição |
---|---|
Avaliações de regra | rules/evaluation_count . O número de avaliações das regras do Realtime Database realizadas em resposta a solicitações de gravação ou leitura. É possível separar essa métrica pelo resultado da solicitação (PERMITIR, NEGAR ou ERRO). |
Adapte o gráfico do Cloud Monitoring para avaliações de regras conforme necessário, por exemplo, ao filtrar resultados de avaliação específicos, PERMITIR, NEGAR ou ERRO. A configuração e a personalização de gráficos são abordadas em Monitorar o uso do Database.
Consulte a lista completa de métricas do Realtime Database disponíveis com o Cloud Monitoring.