Как подчеркнуть тестовое хранилище google с javascript?
Нам нужно проверить нашу инфраструктуру на устойчивость (до сотен тысяч запросов в секунду), а один из элементов в архитектуре - это хранилище данных Google Cloud. Один из тестов, который мне нужно выполнить, - это сколько объектов можно записать за секунду.
Ниже приведен пример кода здесь от Google, чтобы вставлять и перечислять элементы, но я нахожу, что это медленная запись одного объекта (одного или две секунды на вставку), даже паралелизуя их в bash script, требуется довольно много времени, как вне инфраструктуры, так и внутри.
Есть ли способ проверить хранилище данных, где тысячи запросов могут отправляться в секунду? Предпочтительно в javascript.
Я сам не программист javascript, поэтому приношу извинения, если этот вопрос встречается как немного очевиден - я надеюсь, что нет.
Ответы
Ответ 1
Cloud Datastore предназначен для одновременного обслуживания всех приложений GAE и даже приложений вне GAE или даже вне облака Google. Поэтому ИМХО, проверяющее производительность самого хранилища, является беспредметным, если вы уважаете опубликованный Limits - скорее всего, вы будете только чтобы проверить глубину ваших карманов в процессе. Просто чтобы получить представление: Есть ли какое-либо SLA для облачного хранилища Google?
Тестирование производительности вашего приложения с использованием хранилища данных - совсем другое дело. Это зависит от вашей реализации приложения, структуры и отношений ваших объектов и т.д. Это то, на что вы хотите сосредоточиться. Но это тестирование вашего приложения, а не самого хранилища данных.
Вы можете посмотреть:
Ответ 2
Вы можете посмотреть на это:
https://artillery.io/
Вы можете установить его через Nodejs и запустить ваши запросы, выбрав целевой URL через yml файл следующим образом:
config:
target: 'https://artillery.io'
phases:
- duration: 60
arrivalRate: 20
defaults:
headers:
x-my-service-auth: '987401838271002188298567'
scenarios:
- flow:
- get:
url: "/docs"
Вы можете запустить приведенный выше код через следующее:
artillery run hello.yml
Вы можете получить более подробную информацию об этой библиотеке javascript по этой ссылке:
https://artillery.io/docs/getting-started/#run-a-quick-test
Ответ 3
Рад, что вы используете Google Datastore (GDS).
Лучший способ протестировать бэкэнд с помощью Apache JMeter с экземпляром сервера с ручным модулем (в настоящее время службы).
Не зная о вашей модели хранилища данных, GDS может сохранять одну сущность в секунду в группе сущностей. Тем не менее, вы можете увеличить пропускную способность GDS с помощью метода очередности агрегации заданий. В настоящее время достигнуто до 300 запросов в секунду за сохранение.