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