Существует несколько способов мониторинга производительности Firebase Realtime Database и выявления потенциальных проблем в вашем приложении. Анализ входящей и исходящей пропускной способности и нагрузки приложения также может дать представление о том, чего ожидать от вашего счета. Кроме того, если что-то не так, чёткое представление о работе базы данных может быть полезным инструментом для устранения неполадок.
На этой странице обсуждается мониторинг производительности Realtime Database . Подробнее о мониторинге использования см. в разделе «Мониторинг использования базы данных» .
Используйте инструменты мониторинга Realtime Database
Вы можете собирать данные о производительности вашей Realtime Database с помощью нескольких различных инструментов, в зависимости от необходимого вам уровня детализации.
Используйте инструмент профилирования Realtime Database
Инструмент Realtime Database Profiler предоставляет обзор операций чтения/записи в вашей базе данных в режиме реального времени. Отчёт включает информацию о скорости и объёме полезной нагрузки каждой операции, а также о неиндексированных запросах. Однако он не содержит исторической информации или статистики о накладных расходах на подключение и не должен использоваться для оценки стоимости выставления счетов .
Дополнительную информацию об использовании инструмента профилирования см. в разделе Профилирование базы данных .
Используйте консоль Firebase
Вкладка «Использование» в консоли Firebase содержит информацию об одновременных подключениях к вашей базе данных, объёме хранимых данных, исходящей пропускной способности (включая накладные расходы на протокол и шифрование) и нагрузке на базу данных за 1-минутные интервалы. Хотя вкладка «Использование» даёт более точное представление об общей производительности базы данных, она может быть недостаточно детализирована для диагностики потенциальных проблем с производительностью.
Используйте Cloud Monitoring
С помощью Cloud Monitoring от Google Cloud вы можете использовать Metrics Explorer для просмотра отдельных показателей производительности или создавать различные панели мониторинга с диаграммами, отображающими различные комбинации показателей производительности с течением времени. Интеграция Realtime Database с Cloud Monitoring обеспечивает самый глубокий уровень детализации.
Действия по настройке 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 для одного клиента. -
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 . Количество оценок правил базы данных в реальном времени, выполненных в ответ на запросы на запись или чтение. Эту метрику можно разбить по результату запроса (РАЗРЕШИТЬ, ЗАПРЕТИТЬ или ОШИБКА). |
Настройте диаграмму Cloud Monitoring для оценки правил по мере необходимости, например, отфильтровав результаты по определённым критериям: РАЗРЕШИТЬ, ЗАПРЕТИТЬ или ОШИБКА. Настройка и настройка диаграмм описаны в разделе «Мониторинг использования базы данных» .
Ознакомьтесь с полным списком показателей Realtime Database доступных через Cloud Monitoring .