데이터 워크로드에 사용할 데이터베이스 유형에 대한 선택 항목이 그 어느 때보다 많습니다. 데이터베이스를 선택하는 주요 요소 중 하나는 데이터베이스 또는 서비스의 성능이지만 벤치마킹 성능은 번거롭고 오류가 발생하기 쉽습니다. Azure Databases의 벤치마킹 프레임워크는 일반적인 모범 사례를 구현하는 마찰이 적은 레시피를 사용하여 인기 있는 오픈 소스 벤치마킹 도구를 사용함으로써 성능을 측정하는 프로세스를 간소화합니다. NoSQL용 Azure Cosmos DB에서 프레임워크는 Java SDK에 대한 모범 사례를 구현하고 오픈 소스 YCSB 도구를 사용합니다. 이 가이드에서는 이 벤치마킹 프레임워크를 사용하여 읽기 워크로드를 구현하여 프레임워크를 숙지합니다.
아직 로그인하지 않은 경우 az login 명령을 사용하여 Azure CLI에 로그인합니다.
다음 값에 대한 셸 변수를 만듭니다.
이름이 cosmosAccountName인 기존 Azure Cosmos DB for NoSQL 계정의 이름입니다.
이름이 sourceResourceGroupName인 리소스가 있는 첫 번째 리소스 그룹의 이름입니다.
이름이 targetResourceGroupName인 두 번째 빈 리소스 그룹의 이름입니다.
이름이 cosmosEndpoint인 NoSQL 계정 엔드포인트 URI에 대한 기존 Azure Cosmos DB
이름이 cosmosPrimaryKey인 NoSQL 계정 기본 키에 대한 기존 Azure Cosmos DB
# Variable for Azure Cosmos DB for NoSQL account name
cosmosAccountName="<cosmos-db-nosql-account-name>"
# Variable for resource group with Azure Cosmos DB and Azure Storage accounts
sourceResourceGroupName="<first-resource-group-name>"
# Variable for empty resource group
targetResourceGroupName="<second-resource-group-name>"
# Variable for API for NoSQL endpoint URI
cosmosEndpoint="<cosmos-db-nosql-endpoint-uri>"
# Variable for API for NoSQL primary key
cosmosPrimaryKey="<cosmos-db-nosql-primary-key>"
# Variable for Azure Storage account name
storageAccountName="<storage-account-name>"
# Variable for storage account connection string
storageConnectionString="<storage-connection-string>"
이 쿼리 결과를 관찰합니다. 결과는 JobStartTime, JobStatus, JobFinishTime 속성이 있는 단일 작업을 반환해야 합니다. 처음에는 작업의 상태 속성이 Started이며 JobStartTime 속성에 타임스탬프가 포함되지만 JobFinishTime 속성에는 포함되지 않습니다.
Azure Databases의 벤치마킹 프레임워크에는 "1-클릭" 환경을 위해 기본 벤치마킹 도구에 전달되는 워크로드 정의를 캡슐화하는 레시피가 포함되어 있습니다. 워크로드 정의는 Azure Cosmos DB 팀과 벤치마킹 도구 팀이 게시한 모범 사례를 기반으로 설계되었습니다. 레시피는 일관된 결과를 위해 테스트되고 유효성을 검사했습니다.
GitHub 리포지토리의 모든 읽기 및 쓰기 레시피에 대해 다음과 같은 대기 시간을 볼 수 있습니다.
읽기 대기 시간
쓰기 대기 시간
일반적인 문제
이 섹션에는 벤치마킹 도구를 실행할 때 발생할 수 있는 일반적인 오류가 포함되어 있습니다. 도구에 대한 오류 로그는 일반적으로 Azure Storage 계정 내의 컨테이너에서 사용할 수 있습니다.
스토리지 계정에서 로그를 사용할 수 없는 경우 이 문제는 일반적으로 잘못되었거나 누락된 스토리지 연결 문자열로 인해 발생합니다. 이 경우 이 오류는 클라이언트 가상 머신의 /home/benchmarking 폴더 내 agent.out 파일에 나열됩니다.
Error while accessing storage account, exiting from this machine in agent.out on the VM
이 오류는 Azure Cosmos DB 엔드포인트 URI가 올바르지 않거나 연결할 수 없는 경우 클라이언트 VM과 스토리지 계정 모두에서 agent.out 파일에 나열됩니다.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known
이 오류는 Azure Cosmos DB 키가 올바르지 않은 경우 클라이언트 VM과 스토리지 계정 모두에서 agent.out 파일에 나열됩니다.
The input authorization token can't serve the request. The wrong key is being used….