Измерение производительности Azure Cosmos DB для NoSQL с помощью платформы тестирования
Существует больше вариантов, чем когда-либо, в типе базы данных для использования с рабочей нагрузкой данных. Одним из ключевых факторов выбора базы данных является производительность базы данных или службы, но производительность тестирования может быть громоздкой и подверженной ошибкам. Платформа тестирования для баз данных Azure упрощает процесс измерения производительности с помощью популярных средств тестирования с открытым исходным кодом с помощью рецептов низкой трения, реализующих распространенные рекомендации. В Azure Cosmos DB для NoSQL платформа реализует рекомендации по пакету SDK java и использует средство YCSB с открытым кодом. В этом руководстве вы используете эту платформу тестирования для реализации рабочей нагрузки чтения для ознакомления с платформой.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Учетная запись Azure Cosmos DB для NoSQL. Создайте учетную запись API для NoSQL.
- Обязательно запишите универсальный код ресурса (URI) конечной точки и первичный ключ для учетной записи.
- Учетная запись хранения Azure. Создайте учетную запись служба хранилища Azure.
- Убедитесь, что вы заметите строка подключения для учетной записи хранения. Vies служба хранилища Azure строка подключения.
- Вторая пустая группа ресурсов. Создайте группу ресурсов.
- Интерфейс командной строки Azure (CLI).
Создание ресурсов учетной записи Azure Cosmos DB
Сначала вы создадите базу данных и контейнер в существующей учетной записи API для NoSQL.
Перейдите к существующей учетной записи API для NoSQL в портал Azure.
В меню ресурсов выберите Обозреватель данных.
На странице обозревателя данных выберите параметр "Создать контейнер" на панели команд.
В диалоговом окне создания контейнера создайте новый контейнер со следующими параметрами:
Параметр Значение Идентификатор базы данных ycsb
Тип пропускной способности базы данных Вручную Объем пропускной способности базы данных 400
Идентификатор контейнера usertable
Ключ секции /id
Развертывание платформы тестирования в Azure
Теперь вы используете шаблон Azure Resource Manager для развертывания платформы тестирования в Azure с помощью рецепта чтения по умолчанию.
Разверните платформу тестирования с помощью шаблона Azure Resource Manager, доступного по этой ссылке.
На странице настраиваемого развертывания следующие параметры
Выберите "Рецензирование" и "Создать", чтобы развернуть шаблон.
Дождитесь завершения развертывания.
Совет
Развертывание может занять 5–10 минут.
Просмотр результатов теста
Теперь можно использовать существующую учетную запись служба хранилища Azure для проверки состояния задания теста и просмотра агрегированных результатов. Состояние сохраняется с помощью таблицы хранилища, а результаты объединяются в большой двоичный объект хранилища с помощью формата CSV.
Перейдите к существующей учетной записи служба хранилища Azure в портал Azure.
Перейдите в таблицу хранилища с именем ycsbbenchmarkingmetadata и найдите сущность с ключом секции
ycsb_sql
.Обратите внимание на
JobStatus
поле сущности таблицы. Изначально состояние задания иStarted
включает метку времени вJobStartTime
свойстве, но неJobFinishTime
свойство.Подождите, пока задание не имеет состояния
Finished
и включает метку времени вJobFinishTime
свойство.Совет
Выполнение задания может занять около 20–30 минут.
Перейдите к контейнеру хранилища в той же учетной записи с префиксом ycsbbenchmarking-*. Просмотрите выходные и диагностические BLOB-объекты для средства.
Откройте большой двоичный объект aggregation.csv и просмотрите содержимое. Теперь у вас должен быть набор данных CSV с агрегированными результатами от всех клиентов теста.
Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond) READ,180000,299,706,448255,1079,1159,2867
Рецепты
Платформа тестирования для баз данных Azure включает в себя рецепты для инкапсулирования определений рабочих нагрузок, передаваемых базовому средству тестирования для интерфейса "1-Click". Определения рабочей нагрузки были разработаны на основе рекомендаций, опубликованных командой Azure Cosmos DB и командой средства тестирования. Рецепты проверены и проверены для согласованных результатов.
Вы можете увидеть следующие задержки для всех рецептов чтения и записи в репозитории GitHub.
Распространенные проблемы
В этом разделе содержатся распространенные ошибки, которые могут возникнуть при запуске средства проверки производительности. Журналы ошибок для средства обычно доступны в контейнере в учетной записи служба хранилища Azure.
Если журналы недоступны в учетной записи хранения, эта проблема обычно вызвана неправильным или отсутствующим хранилищем строка подключения. В этом случае эта ошибка отображается в файле agent.out в папке /home/benchmarking виртуальной машины клиента.
Error while accessing storage account, exiting from this machine in agent.out on the VM
Эта ошибка указана в файле agent.out как в клиентской виртуальной машине, так и в учетной записи хранения, если URI конечной точки Azure Cosmos DB является неверным или недоступным.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known
Эта ошибка указана в файле agent.out как на клиентской виртуальной машине, так и в учетной записи хранения, если ключ Azure Cosmos DB неверный.
The input authorization token can't serve the request. The wrong key is being used….
Следующие шаги
- Дополнительные сведения о средстве тестирования см. в руководстве по началу работы.