NCache Puntos de referencia de rendimiento

2 millones de operaciones/seg

(Clúster de 5 nodos)

Ver resultados de rendimiento de NCache en entornos distribuidos. Estas pruebas se realizaron en el entorno de Amazon AWS.

En nuestros últimos puntos de referencia, hemos demostrado con éxito que NCache puede escalar linealmente y lograr 2 millones de transacciones por segundo con solo un clúster de caché de 5 servidores. NCache ofrece este rendimiento con una latencia de submicrosegundos. La escalabilidad es lineal, lo que significa que si agrega más servidores de caché, NCache ofrecerá un mayor rendimiento de transacciones.

NCache Gráficos de referencia

NCache Gráficos de referencia
See NCache rendimiento a medida que agregamos servidores de caché al clúster.

Mire el video de evaluación comparativa real para que pueda ver cómo se realizaron estas evaluaciones comparativas.

En este video vamos a hablar de NCache números de evaluación comparativa de rendimiento. NCache es extremadamente rápido y escalable Almacenamiento en caché distribuido en memoria sistema para su .NET y .NET Core aplicaciones y hoy lograremos 2 Millones de Operaciones por segundo y, al mismo tiempo, manteniendo menos de 3 Microsegundos de latencia por operación, con solo 5 NCache Servidores

NCache es linealmente escalable más allá de este punto, lo que significa que puede agregar tantos servidores como necesite, y aunque agregaría más servidores, obtendría más capacidad de manejo de solicitudes, fuera de su Clúster de caché y eso también de forma lineal.

Configuración de puntos de referencia

Revisemos nuestra configuración de referencia. Estoy usando 'AWS m4. Servidores 10xlarge para mi prueba. tengo cinco de estos NCache Servidores, en los que tengo configurado mi Clúster de caché y tengo 15 Servidores de clientes, desde donde ejecutaría mis aplicaciones y me conectaría a este clúster de caché.

Configuración de puntos de referencia
Configuración de puntos de referencia

Estoy usando Windows Server 2016 como sistema operativo, Data Center Edition de 64 bits. NCache la versión es 5.0 Enterprise y estoy usando NCache Caché con particiones, como una topología de almacenamiento en caché.

Topología de almacenamiento en caché

Es el diagrama arquitectónico de esta topología, donde tenemos datos completamente distribuidos en particiones, en todos los Servidores de Caché y los Clientes se conectan a todos los Servidores para solicitudes de Lectura y Escritura. También utilizan completamente todos los servidores al mismo tiempo. No tenemos la replicación activada para esta topología, pero hay otras topologías, como Caché de réplica con particiones, que también viene equipado con soporte de replicación.

Topología de almacenamiento en caché
Topología de almacenamiento en caché

Configuración del entorno de referencia

He Tubería Activado. Esa es una característica nueva en NCache versión 5.0. Funciona de tal manera que, en el lado del cliente, acumula todas las solicitudes que están ocurriendo en tiempo de ejecución y aplica esas solicitudes a la vez en el lado del servidor y la acumulación se realiza en microsegundos. Por lo tanto, está muy optimizado y es una instalación o configuración muy recomendada cuando tiene altos requisitos de carga transaccional.

Configuración del entorno de referencia
Configuración del entorno de referencia

En lo que respecta a las configuraciones de carga, estamos utilizando 1 millón de elementos en total, que se agregarán en el caché y luego simularán la carga de solicitud de lectura y escritura con una proporción de 80% de lecturas y 20% de escrituras. el caché Y tenemos una matriz de bytes de 100 cada uno, como elemento individual en el caché. Tengo un tamaño de caché de 4 GB por servidor y tenemos un total de 30 instancias de aplicaciones, que se conectarán al caché.

Población de datos

Entonces, sin demoras, comenzaré con la "Población de datos" de 1 millón de elementos en mi Clúster de caché. Ahora, este es nuestro entorno de demostración. tenemos 5 NCache servidores, como se discutió anteriormente. Por el momento no hay actividad, pero voy a simular una aplicación cliente que se conectará y agregará 1 millón de elementos en el caché.

Población de datos
Población de datos

Por lo tanto, ejecuté la aplicación y vería 1 cliente conectado en todos los servidores de almacenamiento en caché y tenemos actividad en el contador de adiciones por segundo en todos los servidores. El tamaño de la memoria caché aumenta y el contador de conteo también aumenta y las solicitudes por segundo son una cantidad total de solicitudes por segundo. Y listo, ya se agregaron 1 millón de elementos en el clúster de caché. Ahora puedo, ya sabes, comenzar con la carga de solicitudes de lectura y escritura, y si te muestro rápidamente los detalles de monitoreo, puedes ver un parpadeo, ya sabes, aumento en la CPU, en la memoria, adiciones por segundo y solicitudes por segundo y también en el contador de conteo y el tamaño del caché también ha aumentado.

Crear carga transaccional

Ahora ejecutaré la aplicación para crear una carga transaccional en este clúster de caché, con un 80 % de operaciones de lectura y un 20 % de escritura. Entonces, hagámoslo rápidamente. Y comenzaría a ver actividad en todos los servidores de caché en los contadores de PerfMon.

1 millón de solicitudes / segundo

Puede ver la cantidad de contadores de clientes que muestran alrededor de 10 clientes, ya sabe, instancias conectadas a cada uno NCache servidor, con actividad en Fetches así como en Actualizaciones por segundo, y el contador de Solicitudes por segundo está en algún lugar entre 180,000 y 190,000 solicitudes por segundo. Y como tenemos 5 NCache servidores, que están trabajando en paralelo, por lo que acumular estas solicitudes nos trae, ya sabes, 1 millón de solicitudes por segundo por parte de este clúster de caché, y puede ver bastante consistente distribución de datos.

1 millón de solicitudes / segundo
1 millón de solicitudes / segundo

Las estadísticas de monitoreo web son bastante saludables, con memoria del sistema y CPU, bastante bajas, con recuperaciones por segundo y solicitudes por segundo, mostrando 200,000 solicitudes por segundo, alrededor de 150,000 recuperaciones por segundo. Las actualizaciones son 50,000 actualizaciones por segundo. Y, el microsegundo promedio por operación de caché es poco menos de 10 microsegundos por operación. Y eso es lo mejor de este clúster de caché, donde está en memoria y garantiza que tenga baja latencia y alto rendimiento de su NCache Clúster de caché.

Nuestra etapa uno se completa donde hemos logrado con éxito 1 millón de operaciones por segundo desde nuestro clúster de caché. Tengo una captura de pantalla como referencia, donde tenemos 200,000 solicitudes por segundo por cada NCache servidor y tenemos 5 de estos NCache Servidores, manteniendo también menos de 10 microsegundos por latencia operativa de caché.

1 millón de solicitudes / segundo logrado
1 millón de solicitudes / segundo logrado

Por lo tanto, es bastante rápido por operación, y tenemos una combinación bastante consistente de búsquedas y actualizaciones por segundo, para exhibir un escenario de aplicación de la vida real, y al mismo tiempo tenemos una utilización muy eficiente de la CPU y la memoria, donde tenemos una utilización muy inferior de estos recursos, para esta prueba en particular.

1.5 millones de solicitudes por segundo

Ahora que hemos logrado 1 millón de solicitudes por segundo, es hora de aumentar la carga. Por lo tanto, ejecutaría algunas instancias de aplicaciones más, para aumentar la carga transaccional, y tan pronto como estas aplicaciones se ejecutaran, vería un aumento en el contador de Solicitudes por segundo.

1.5 millón de solicitudes / segundo
1.5 millón de solicitudes / segundo

En primer lugar, puede notar que el número de Clientes es 20. 20 instancias que están conectadas a todos NCache Servidores y tenemos Solicitudes por segundo contador ahora mostrando 300,000 Solicitudes por segundo por cada NCache Servidor, y hemos logrado con éxito 1.5 millones de solicitudes por segundo, desde este clúster de caché.

Déjame mostrarte rápidamente el Herramienta de monitoreo web, para estadísticas de rendimiento. Puede ver Solicitudes por segundo por cada Servidor, 300,000 Solicitudes por segundo. Las recuperaciones son poco más de 200,000 50,000 recuperaciones por segundo y las actualizaciones oscilan entre 100,000 4 y XNUMX XNUMX. Y puede ver un microsegundo promedio por operación de caché de menos de XNUMX microsegundos, eso es sorprendente porque tenemos una latencia muy baja y esto es un impacto de 'Tubería'. Cuando tiene una alta carga transaccional desde el extremo del cliente, la canalización realmente ayuda y reduce la latencia y aumenta el rendimiento. Y entonces es por eso que podemos recomendar que se active.

Nuestra etapa dos ahora está completa, donde hemos logrado 1.5 millones de operaciones por segundo desde nuestro clúster de caché. Aquí hay una captura de pantalla para este resultado.

1.5 millón de solicitudes / segundo logrado
1.5 millón de solicitudes / segundo logrado

Ahora tenemos 300,000 solicitudes por segundo por cada NCache Servidor. Entonces, eso ha aumentado y nuestra latencia ha disminuido. Hemos promediado microsegundos por operación de caché, ahora toma alrededor de 3 a 4 microsegundos por operación de caché. Entonces, esa es una gran mejora y, nuevamente, tenemos una combinación bastante buena de recuperaciones y actualizaciones y, nuevamente, mantenemos una menor utilización de la CPU y la memoria. Por lo tanto, nuestros servidores no se están agotando en este momento. Quiero aclarar que puedes estirar aún más la carga, lo cual haremos a continuación.

2 millones de solicitudes por segundo

Después de lograr 1.5 millones de solicitudes por segundo, no me detendría aquí. Aumentemos aún más la carga y veamos cómo NCache Cache Cluster se comporta como resultado de eso. Por lo tanto, estoy ejecutando algunas instancias de aplicación más, y vería un aumento adicional en el contador de Solicitudes por segundo. Puede ver 30 Clientes, ya sabe, las instancias ahora están conectadas a todos NCache Servidores y ya estamos viendo un aumento en el contador de Solicitudes por segundo.

2 millón de solicitudes / segundo
1.5 millón de solicitudes / segundo

Ahora puede ver que hemos tocado con éxito 400,000 solicitudes por segundo por cada NCache Servidor. y tenemos 5 NCache Servidores, por lo que hace un total de 2 millones de solicitudes por segundo por este NCache Clúster de caché. Entonces, al aumentar la carga de transacciones desde el extremo del cliente, puede ver claramente, NCache ha logrado 2 millones de solicitudes por segundo. Y tenemos un microsegundo promedio por operación de caché de menos de 3 microsegundos y también tenemos memoria del sistema y tiempo de procesador, ya sabes, CPU muy por debajo de los límites, donde tenemos una utilización del 40 % al 50 %, en ambos frentes.

Como puede ver ahora, hemos logrado con éxito 2 millones de operaciones por segundo. Entonces, revisemos estos resultados con la ayuda de una captura de pantalla.

NCache Estadísticas de referencia
See NCache Supervisando las estadísticas a medida que alcanzamos los 2 millones de operaciones por segundo.

Ahora tenemos 400,000 solicitudes por segundo por cada NCache Servidor, que hace un total de 2 millones de solicitudes por segundo y lo bueno es que la latencia se ha reducido aún más. Ahora tenemos una latencia de operación de 2 a 3 microsegundos por caché, y eso es nuevamente una mejora con respecto al resultado anterior. Puede volver a ver una combinación de recuperaciones y actualizaciones y una utilización bastante eficiente de la CPU, así como de los recursos de memoria.

Y como dije, NCache is linealmente escalable, entonces, revisemos nuestros números de escalabilidad. Ya sabes, al aumentar el número de servidores, puedes ver NCache escala hacia fuera de una manera bastante lineal. con 5 NCache servidores, pudimos lograr 2 millones de solicitudes por segundo, y puede agregar más y más servidores, y esta tendencia sería aún más lineal, donde más servidores significan más capacidad de manejo de solicitudes, fuera de NCache.

Conclusión

Esto nos lleva hacia el final de nuestro video. Todos estos resultados de pruebas y aplicaciones de muestra están disponibles en nuestro sitio web, que puede descargar y revisar usted mismo, en su entorno. Y si tiene alguna pregunta, no dude en ponerse en contacto con nuestras ventas (sales@alachisoft.com) así como con nuestro apoyo (support@alachisoft.com) equipo. Muchas gracias por tu tiempo.

© Copyright Alachisoft 2002 - Todos los derechos reservados. NCache es una marca registrada de Diyatech Corp.