Измерение производительности Azure Cosmos DB для NoSQL с помощью платформы тестирования производительности
В настоящее время существует больше возможностей выбора типа базы данных для использования с рабочей нагрузкой данных. Одним из ключевых факторов выбора базы данных является производительность базы данных или службы, но производительность производительности может быть громоздкой и подверженной ошибкам. Платформа тестирования производительности для баз данных Azure упрощает процесс измерения производительности с помощью популярных средств тестирования производительности с открытым кодом с низким уровнем трения, которые реализуют распространенные рекомендации. В Azure Cosmos DB для NoSQL платформа реализует рекомендации по пакету SDK для Java и использует средство YCSB с открытым кодом. В этом руководстве вы используете эту платформу тестирования производительности для реализации рабочей нагрузки чтения, чтобы ознакомиться с ней.
Предварительные требования
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
- Учетная запись Azure Cosmos DB для NoSQL. Создайте учетную запись API для NoSQL.
- Обязательно запишите универсальный код ресурса (URI) конечной точки и первичный ключ для учетной записи. API для первичных ключей NoSQL.
- Учетная запись хранения Azure. Создайте учетную запись хранения Azure.
- Обязательно запишите строку подключения для учетной записи хранения. Строка подключения службы хранилища Vies Azure.
- Вторая пустая группа ресурсов. Создайте группу ресурсов.
- Интерфейс Command-Line Azure (CLI).
Создание ресурсов учетной записи Azure Cosmos DB
Сначала создайте базу данных и контейнер в существующей учетной записи API для NoSQL.
Перейдите к существующей учетной записи API для NoSQL в портал Azure.
В меню ресурсов выберите Обозреватель данных.
На странице Data Explorer выберите параметр Создать контейнер на панели команд.
В диалоговом окне Новый контейнер создайте контейнер со следующими параметрами:
Параметр Значение Идентификатор базы данных 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 щелчком. Определения рабочих нагрузок были разработаны на основе рекомендаций, опубликованных командой 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….
Дальнейшие действия
- Дополнительные сведения о средстве тестирования производительности см. в руководстве по начало работы.