Понимать, где использование полосы пропускания поступает из базы данных Firebase
Мое приложение растет с точки зрения использования полосы пропускания с базой данных Firebase, и я пытаюсь оптимизировать свои запросы, чтобы использовать меньшую пропускную способность (таким образом, снизить стоимость), но я делаю это довольно слепо, потому что нет статистики о моем использовании базы данных (I не могут знать, какие запросы занимают наибольшую пропускную способность).
Есть ли способ узнать, какие запросы занимают большую полосу пропускания? Как вы собираетесь оптимизировать использование с базой данных Firebase?
Edit:
У меня есть сайт чата, и я использую наблюдателей, таких как messagesRef.child(conversationID).limitToLast(25).on('child_added'...
conversationsRef.child(conversationID).('participants').on('value'...
Ответы
Ответ 1
Профайлер Firebase спас мне жизнь. https://firebase.google.com/docs/database/usage/profile
Была возможность точно определить, какая ссылка (включая детей) забивала полосу пропускания, что значительно облегчило определение того, какая часть кода является проблематичной.
Ответ 2
нет инструментов настройки запросов, если это то, что вы ищете. вы можете создавать простые записи времени для захвата непосредственно до и после запросов, регистрировать эти данные и собирать их с клиента, чтобы сузить до наиболее плохо выполняемых.
трудно помочь, не видя фактических запросов или модели данных.
Ответ 3
На всякий случай, если вы еще не используете Firebase .indexOn()
..., что является лучшим способом улучшить вашу производительность (так они говорят ниже), посмотрите Индекс ваших данных.
Ребята из Firebase говорят:
Если вы заранее знаете, каковы будут ваши индексы, вы можете определить их с помощью правила .indexOn в ваших правилах базы данных Firebase Realtime, чтобы улучшить производительность запросов.
Ответ 4
высоко согласен с ответом ZagNut.
Заполнение регистрационных запросов на "then()" поможет вам здесь.
Вы можете хранить количество запросов для запроса node на стороне клиента и сохранять этот запрос по идентификатору клиента в отдельном node из вашей структуры данных в базе данных firebase.
Теперь отфильтруйте эти запросы, чтобы найти шаблоны использования.
Спасибо.