Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Agora há mais opções do que nunca sobre o tipo de base de dados a utilizar com a sua carga de trabalho de dados. Um dos fatores-chave para escolher uma base de dados é o desempenho da base de dados ou serviço, mas o desempenho em benchmarking pode ser complicado e propenso a erros. A framework de benchmarking para Azure Databases simplifica o processo de medição do desempenho com ferramentas populares de benchmarking open-source, com receitas de baixa fricção que implementam as melhores práticas comuns. No Azure Cosmos DB para NoSQL, o framework implementa as melhores práticas para o Java SDK e utiliza a ferramenta open source YCSB . Neste guia, usa esta estrutura de benchmarking para implementar uma carga de trabalho de leitura e assim se familiarizar com a estrutura.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Conta do Azure Cosmos DB para base de dados NoSQL.
Crie uma API para uma conta NoSQL.
- Certifica-te de que registas o URI do endpoint e a chave principal da conta.
- Conta de Armazenamento do Azure.
Crie uma conta de Armazenamento do Azure.
- Certifica-te de que registas a cadeia de ligação da conta de armazenamento. Vies Azure Storage connection string.
- Segundo grupo de recursos vazio. Crie um grupo de recursos.
- Azure Command-Line Interface (CLI).
Criar recursos de conta Azure Cosmos DB
Primeiro, cria-se uma base de dados e um contentor na API existente para a conta NoSQL.
- portal do Azure
- Azure CLI
Navegue até à sua API existente para a conta NoSQL no Portal Azure.
No menu de recursos, selecione Data Explorer.
Na página do Data Explorer , selecione a opção Novo Contentor na barra de comandos.
No diálogo Novo Contentor , crie um novo contentor com as seguintes definições:
Configuração Valor ID da base de dados ycsbTipo de rendimento da base de dados Manual Taxa de transferência da base de dados 400ID do contentor usertableChave de partição /id
Implementar o framework de benchmarking no Azure
Agora, usas um modelo do Gerenciador de Recursos do Azure para implementar o framework de benchmarking no Azure com a receita de leitura padrão.
- portal do Azure
- Azure CLI
Implemente o framework de benchmarking usando um modelo Azure Resource Manager disponível neste link.
Na página de Implantação Personalizada, os seguintes parâmetros
Selecione Rever + criar e depois Criar para implementar o modelo.
Aguarde até que a implementação seja concluída.
Sugestão
O desdobramento pode demorar entre 5 a 10 minutos a completar.
Ver resultados do benchmark
Agora, pode usar a conta Azure Storage existente para verificar o estado do trabalho de benchmark e visualizar os resultados agregados. O estado é armazenado usando uma tabela de armazenamento e os resultados são agregados num blob de armazenamento usando o formato CSV.
- portal do Azure
- Azure CLI
Navegue até à sua conta Azure Storage existente no portal Azure.
Navegue até uma tabela de armazenamento chamada ycsbbenchmarkingmetadata e localize a entidade com uma chave de partição de
ycsb_sql.
Observe o
JobStatuscampo da entidade da tabela. Inicialmente, o estado do trabalho éStartede inclui um carimbo temporal na propriedadeJobStartTime, mas não naJobFinishTime.Espere até que o trabalho tenha um estado de
Finishede que inclua um carimbo temporal na propriedadeJobFinishTime.Sugestão
Pode demorar aproximadamente 20-30 minutos para o trabalho terminar.
Aceda ao contentor de armazenamento na mesma conta, com o prefixo ycsbbenchmarking-*. Observe os blobs de saída e de diagnóstico da ferramenta.
Abre o aggregation.csv blob e observa o conteúdo. Agora deves ter um conjunto de dados CSV com resultados agregados de todos os clientes de benchmark.
Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond) READ,180000,299,706,448255,1079,1159,2867
Receitas
A estrutura de benchmarking para Azure Databases inclui receitas para encapsular as definições da carga de trabalho que são passadas para a ferramenta de benchmarking subjacente para uma experiência "1-Clique". As definições da carga de trabalho foram desenhadas com base nas melhores práticas publicadas pela equipa Azure Cosmos DB e pela equipa da ferramenta de benchmarking. As receitas foram testadas e validadas para resultados consistentes.
Pode esperar ver as seguintes latências para todos os processos de leitura e escrita no repositório do GitHub.
Problemas comuns
Esta secção inclui os erros comuns que podem ocorrer ao executar a ferramenta de benchmarking. Os registos de erro da ferramenta estão normalmente disponíveis num contentor dentro da conta Azure Storage.
Se os registos não estiverem disponíveis na conta de armazenamento, este problema é normalmente causado por uma cadeia de ligação de armazenamento incorreta ou em falta. Neste caso, este erro está listado no ficheiro agent.out dentro da pasta /home/benchmarking da máquina virtual do cliente.
Error while accessing storage account, exiting from this machine in agent.out on the VMEste erro está listado no ficheiro agent.out tanto na VM cliente como na conta de armazenamento se o URI do endpoint do Azure Cosmos DB estiver incorreto ou inacessível.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not knownEste erro está listado no ficheiro agent.out tanto na VM cliente como na conta de armazenamento se a chave da base de dados Azure Cosmos estiver incorreta.
The input authorization token can't serve the request. The wrong key is being used….
Próximos passos
- Saiba mais sobre a ferramenta de benchmarking com o guia Getting Started.