Medición del rendimiento de Azure Cosmos DB for NoSQL con un marco de pruebas comparativas
Hay más opciones ahora que nunca en el tipo de base de datos que se usará con la carga de trabajo de datos. Uno de los factores clave para elegir una base de datos es el rendimiento de la base de datos o el servicio, pero el rendimiento de las pruebas comparativas puede ser complicado y propenso a errores. El marco de pruebas comparativas para bases de datos de Azure simplifica el proceso de medición del rendimiento con herramientas de pruebas comparativas de código abierto populares con recetas de baja fricción que implementan procedimientos recomendados comunes. En Azure Cosmos DB for NoSQL, el marco implementa los procedimientos recomendados para el SDK de Java y usa la herramienta YCSB de código abierto. En esta guía, usará este marco de pruebas comparativas para implementar una carga de trabajo de lectura para familiarizarse con el marco.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Cuenta de Azure Cosmos DB for NoSQL. Creación de una API para una cuenta de NoSQL.
- Asegúrese de anotar el URI del punto de conexión y la clave principal de la cuenta.
- Cuenta de Azure Storage. Cree una cuenta de Azure Storage.
- Asegúrese de anotar la cadena de conexión para la cuenta de almacenamiento. Cadena de conexión de Azure Storage.
- Segundo grupo de recursos vacío. Cree un grupo de recursos.
- Interfaz de la línea de comandos (CLI) de Azure .
Crear recursos de una cuenta de Azure Cosmos DB
En primer lugar, creará una base de datos y un contenedor en la API existente para la cuenta de NoSQL.
Vaya a la cuenta de API for NoSQL en Azure Portal.
En el menú de recursos, seleccione Explorador de datos.
En la página Data Explorer, seleccione la opción Nuevo contenedor en la barra de comandos.
En el cuadro de diálogo Nuevo contenedor, cree un contenedor con la siguiente configuración:
Configuración Valor Id. de base de datos ycsb
Tipo de rendimiento de la base de datos Manual Cantidad de rendimiento de la base de datos 400
Id. de contenedor usertable
Clave de partición /id
Implementación del marco de pruebas comparativas en Azure
Ahora, usará una plantilla de Azure Resource Manager para implementar el marco de pruebas comparativas en Azure con la receta de lectura predeterminada.
Implemente el marco de pruebas comparativas mediante una plantilla de Azure Resource Manager disponible en este vínculo.
En la página Implementación personalizada, los parámetros siguientes
Seleccione Revisar y crear y, a continuación, Crear para implementar la plantilla.
Espere a que la implementación se complete.
Sugerencia
La implementación puede tardar entre 5 y 10 minutos en completarse.
Visualización de los resultados de la prueba comparativa
Ahora, puede usar la cuenta de Azure Storage existente para comprobar el estado del trabajo de prueba comparativa y ver los resultados agregados. El estado se almacena mediante una tabla de almacenamiento y los resultados se agregan a un blob de almacenamiento con el formato CSV.
Vaya a la cuenta de Azure Storage existente en Azure Portal.
Vaya a una tabla de almacenamiento denominada ycsbbenchmarkingmetadata y busque la entidad con una clave de partición de
ycsb_sql
.Observe el campo
JobStatus
de la entidad de tabla. Inicialmente, el estado del trabajo esStarted
e incluye una marca de tiempo en la propiedadJobStartTime
, pero no en la propiedadJobFinishTime
.Espere hasta que el trabajo tenga un estado de
Finished
e incluya una marca de tiempo en la propiedadJobFinishTime
.Sugerencia
El trabajo puede tardar aproximadamente entre 20 y 30 minutos en completarse.
Vaya al contenedor de almacenamiento en la misma cuenta con un prefijo de ycsbbenchmarking-*. Observe los blobs de salida y diagnóstico de la herramienta.
Abra el blob aggregation.csv y observe el contenido. Ahora debería tener un conjunto de datos CSV con resultados agregados de todos los clientes de pruebas comparativas.
Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond) READ,180000,299,706,448255,1079,1159,2867
Recetas
El marco de pruebas comparativas para bases de datos de Azure incluye recetas para encapsular las definiciones de carga de trabajo que se pasan a la herramienta de pruebas comparativas subyacente para una experiencia de "1 clic". Las definiciones de carga de trabajo se diseñaron en función de los procedimientos recomendados publicados por el equipo de Azure Cosmos DB y el equipo de la herramienta de pruebas comparativas. Las recetas se han probado y validado para obtener resultados coherentes.
Puede esperar ver las siguientes latencias para todas las recetas de lectura y escritura en el repositorio de GitHub.
Problemas comunes
En esta sección se incluyen los errores comunes que pueden producirse al ejecutar la herramienta de pruebas comparativas. Los registros de errores de la herramienta suelen estar disponibles en un contenedor dentro de la cuenta de Azure Storage.
Si los registros no están disponibles en la cuenta de almacenamiento, este problema suele deberse a una cadena de conexión de almacenamiento incorrecta o que falta. En este caso, este error aparece en el archivo agent.out dentro de la carpeta /home/benchmarking de la máquina virtual del cliente.
Error while accessing storage account, exiting from this machine in agent.out on the VM
Este error aparece en el archivo agent.out tanto en la máquina virtual del cliente como en la cuenta de almacenamiento si el URI del punto de conexión de Azure Cosmos DB es incorrecto o inaccesible.
Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known
Este error aparece en el archivo agent.out tanto en la máquina virtual del cliente como en la cuenta de almacenamiento si la clave de Azure Cosmos DB es incorrecta.
The input authorization token can't serve the request. The wrong key is being used….
Pasos siguientes
- Obtenga más información sobre la herramienta de pruebas comparativas con la Guía de introducción.