Существует несколько способов мониторинга производительности вашей Firebase Realtime Database и выявления потенциальных проблем в вашем приложении. Анализ входящей и исходящей пропускной способности и нагрузки вашего приложения также может дать вам представление о том, чего ожидать в счете за услуги. Кроме того, если что-то кажется не так, получение четкой картины работы вашей базы данных может стать полезным инструментом для устранения неполадок.
На этой странице обсуждается мониторинг производительности Realtime Database . Для мониторинга использования см. раздел «Мониторинг использования базы данных» .
Используйте инструменты мониторинга Realtime Database
В зависимости от необходимой детализации, вы можете собирать данные о производительности вашей Realtime Database с помощью нескольких различных инструментов.
Используйте инструмент профилирования Realtime Database
Инструмент профилирования Realtime Database предоставляет обзор операций чтения/записи в вашей базе данных в режиме реального времени. Отчет включает информацию о скорости и размере полезной нагрузки каждой операции, а также о запросах без индексации. Однако он не содержит исторической информации или какой-либо статистики о накладных расходах на соединение и не должен использоваться для оценки стоимости услуг .
Чтобы узнать больше об использовании инструмента профилирования, см. раздел «Профилирование базы данных» .
Используйте консоль Firebase
Вкладка «Использование» в консоли Firebase предоставляет информацию об одновременных подключениях к вашей базе данных, объеме хранимых данных, исходящем трафике (включая накладные расходы протокола и шифрования) и нагрузке на базу данных за 1-минутные интервалы. Хотя вкладка «Использование» дает более точное представление об общей производительности вашей базы данных, она может оказаться недостаточно подробной для устранения потенциальных проблем с производительностью.
Используйте Cloud Monitoring
С помощью Cloud Monitoring от Google Cloud вы можете использовать Metrics Explorer для просмотра отдельных показателей производительности или создавать различные панели мониторинга с диаграммами, отображающими различные комбинации показателей производительности во времени. Интеграция с Cloud Monitoring через Realtime Database обеспечивает максимально высокую детализацию.
Пошаговая инструкция по настройке Cloud Monitoring описана в разделе «Мониторинг использования базы данных» .
В следующих разделах вы найдете советы по использованию конкретных метрик Cloud Monitoring для выявления проблем с производительностью.
Мониторинг производительности в Cloud Monitoring
Если у вас возникли проблемы с производительностью, включая время безотказной работы или задержку, вы можете использовать Cloud Monitoring для мониторинга следующих метрик. Обратите внимание, что все имена типов метрик имеют префикс firebasedatabase.googleapis.com/ .
| Название метрики | Описание |
|---|---|
| Загрузка базы данных | |
| Сеть отключена из-за превышения лимита трафика. | |
| Превышение лимита хранения данных отключено. | |
Комбинируйте показатели в диаграммах на панели мониторинга для получения полезных аналитических данных и обзоров. Например, попробуйте следующие комбинации:
- Операции: Используйте метрику
io/database_load, чтобы увидеть, какая часть общей нагрузки на базу данных используется каждым типом операций. Обязательно сгруппируйтеio/database_loadпо типу, чтобы устранять неполадки, связанные с различными типами операций. - Хранилище: Используйте параметры
storage/limitиstorage/total_bytesдля мониторинга использования хранилища в соответствии с лимитами хранилища Realtime Database . Вы также можете добавитьstorage/disabled_for_overagesчтобы проверить, не было ли простоев в работе вашего приложения из-за превышения лимитов хранилища. - Накладные расходы SSL: используйте
network/https_requests_countдля отслеживания количества запросов на SSL-соединение, полученных вашей базой данных, и разделите запросы, которые повторно использовали существующий билет SSL-сессии, с помощью фильтраreused_ssl_session. Вы можете сравнить это сnetwork/sent_bytes_countиnetwork/sent_payload_and_protocol_bytes_countчтобы отслеживать, насколько эффективно ваше приложение использует билеты SSL-сессии.
Вы также можете настроить оповещения через Cloud Monitoring и получать уведомления на основе метрик Realtime Database . Например, вы можете выбрать получение уведомления, если ваш io/database_load приближается к определенному пороговому значению.
Полный список метрик Realtime Database доступных через Cloud Monitoring , можно посмотреть здесь.
Типы загрузки в базу данных
Метрика io/database_load также предоставляет информацию о том, какой тип операции вызвал загрузку. Возможные типы измеряемых операций следующие:
-
admin: Выполнение административных операций, таких как установка правил и чтение метаданных проекта. -
auth: Проверка аутентификации из учетных записей служб или Firebase Authentication для отдельного клиента. -
client_management: Обработка добавления и удаления одновременных подключений, включая выполнение операций отключения при удалении. -
get_shallow: Получение данных из REST GET-запроса сshallow=true. -
get: Обработка REST-запросов (GET). -
listen: Получение исходных данных для операцийonиonceот подключенных клиентов. -
on_disconnect: Регистрация при операциях отключения от клиентов. -
put: Обработка операцийsetот клиентов или операций REST PUT. -
transaction: Выполнение транзакций на основе условных REST-запросов или операцийtransactionот клиента. -
update: Обработка операцийupdateили запросов REST PATCH.
Мониторинг правил безопасности в Cloud Monitoring
Вы также можете проанализировать оценку правил безопасности. Обратите внимание, что все имена типов метрик имеют префикс firebasedatabase.googleapis.com/ .
| Название метрики | Описание |
|---|---|
| Оценка правил | rules/evaluation_count . Количество вычислений правил базы данных в реальном времени, выполненных в ответ на запросы на запись или чтение. Вы можете разбить этот показатель по результату запроса (ALLOW, DENY или ERROR). |
Настройте диаграмму Cloud Monitoring для оценки правил по мере необходимости, например, отфильтровав результаты по определенным параметрам: РАЗРЕШИТЬ, ЗАПРЕТИТЬ или ОШИБКА. Настройка и персонализация диаграмм описаны в разделе «Мониторинг использования базы данных» .
Полный список метрик Realtime Database доступных через Cloud Monitoring , можно посмотреть здесь.