Medir o desempenho do Azure Cosmos DB for NoSQL com uma estrutura de parâmetro de comparação
Há mais opções, agora do que nunca, sobre o tipo de banco de dados a ser usado com sua carga de trabalho de dados. Um dos fatores-chave para escolher um banco de dados é o desempenho do banco de dados ou serviço, mas o desempenho de parâmetro de comparação pode ser complicado e sujeito a erros. A estrutura de parâmetro de comparação para Bancos de Dados do Azure simplifica o processo de medição de desempenho com ferramentas populares de parâmetro de comparação de código aberto com métodos de baixo atrito que implementam as melhores práticas comuns. No Azure Cosmos DB for NoSQL, a estrutura implementa as melhores práticas para o SDK do Java e usa a ferramenta de código aberto YCSB. Neste guia, você usa esta estrutura de parâmetro de comparação para implementar uma carga de trabalho de leitura para se familiarizar com a estrutura.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Conta do Azure Cosmos DB for NoSQL. Criar uma conta da API para o NoSQL.
- Certifique-se de anotar o URI do ponto de extremidade e a chave primária da conta.
- Conta de Armazenamento do Azure. Criar uma conta de Armazenamento do Microsoft Azure.
- Certifique-se de anotar a cadeia de conexão para a conta de armazenamento. Cadeia de conexão do Armazenamento do Microsoft Azure.
- Segundo grupo de recursos vazio. Crie um grupo de recursos.
- CLI (interface de linha de comando) do Azure .
Criar recursos de uma conta do Azure Cosmos DB
Primeiro, você cria um banco de dados e um contêiner na API existente para a conta do NoSQL.
Navegue até sua conta existente da API para NoSQL no portal do Azure.
No menu de recursos, selecione Data Explorer.
Na página Data Explorer, selecione a opção Novo contêiner na barra de comandos.
Na caixa de diálogo Novo contêiner, crie um novo contêiner com as seguintes configurações:
Configuração Valor ID do banco de dados ycsb
Tipo de taxa de transferência do banco de dados Manual Quantidade de taxa de transferência do banco de dados 400
ID do contêiner usertable
Chave de partição /id
Implantar estrutura de parâmetro de comparação ao Azure
Agora, você usa um modelo do Azure Resource Manager para implantar a estrutura de parâmetro de comparação ao Azure com método de leitura padrão.
Implantar a estrutura de parâmetro de comparação usando um modelo do Azure Resource Manager disponível neste link.
Na página de Implantação Personalizada, execute os seguintes parâmetros
Selecione Examinar + criar e depois Criar para implantar o modelo.
Aguarde até que a implantação seja concluída.
Dica
A implantação pode levar de 5 a 10 minutos para ser concluída.
Exibição dos resultados do parâmetro de comparação
Agora, você pode usar a conta de Armazenamento do Microsoft Azure existente para verificar o status do trabalho de parâmetro de comparação e exibir os resultados agregados. O status é armazenado usando uma tabela de armazenamento e os resultados são agregados em um blob de armazenamento usando o formato CSV.
Navegue até sua conta existente do Armazenamento do Microsoft Azure no portal do Azure.
Navegue até uma tabela de armazenamento denominada ycsbbenchmarkingmetadata e localize a entidade com uma chave de partição de
ycsb_sql
.Observe o campo
JobStatus
da entidade de tabela. Inicialmente, o status do trabalho éStarted
e inclui um carimbo de data/hora na propriedadeJobStartTime
, mas não na propriedadeJobFinishTime
.Aguarde até que o trabalho tenha um status de
Finished
e inclua um carimbo de data/hora na propriedadeJobFinishTime
.Dica
O trabalho pode levar aproximadamente 20-30 minutos para ser concluído.
Navegue até o contêiner de armazenamento na mesma conta com um prefixo de ycsbbenchmarking-*. Observe os blobs de saída e diagnóstico para a ferramenta.
Abra o blob aggregation.csv e observe o conteúdo. Agora você deve ter um conjunto de dados CSV com resultados agregados de todos os clientes de parâmetros de comparações.
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 parâmetro de comparação para Bancos de Dados do Azure inclui métodos para encapsular as definições de carga de trabalho que são passadas para a ferramenta de parâmetro de comparação subjacente para uma experiência de "1-Clique". As definições da carga de trabalho foram projetadas com base nas melhores práticas publicadas pela equipe do Azure Cosmos DB e pela equipe da ferramenta de parâmetro de comparação. Os métodos foram testados e validados para resultados consistentes.
Você pode esperar ver as seguintes latências para todas os métodos de leitura e gravação no repositório GitHub.
Problemas comuns
Esta seção inclui os erros comuns que podem ocorrer ao executar a ferramenta de parâmetro de comparação. Os logs de erros da ferramenta estão normalmente disponíveis em um contêiner dentro da conta de Armazenamento do Microsoft Azure.
Se os logs não estiverem disponíveis na conta de armazenamento, este problema é normalmente causado por uma cadeia de conexão de armazenamento incorreta ou ausente. Neste caso, este erro está listado no arquivo 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 VM
Este erro está listado no arquivo agent.out tanto na VM do cliente quanto na conta de armazenamento se o URI do ponto de extremidade do Azure Cosmos DB estiver incorreto ou inacessível.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known
Este erro está listado no arquivo agent.out tanto na VM do cliente quanto na conta de armazenamento se a chave do Azure Cosmos DB estiver incorreta.
The input authorization token can't serve the request. The wrong key is being used….
Próximas etapas
- Saiba mais sobre a ferramenta de parâmetro de comparação com o Guia de Introdução.