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