Cirrus.js + Nginx pure Performance

Dado que me han contactado varios miembros de la comunidad de V7 interesados en Cirrus.js me di a la tarea de realizar un load testing usando Blitz.io, digamos que quería saber hasta donde llega Cirrus.js.

Estos son los datos de las prueba:

Maquina: Amazon EC2 m1.medium con 3.7 Ram con una unidad de procesamiento y 2 cores virtuales, para disco use una EBS con IOPS a 400 (Input Output Per Second), corriendo sobre un Ubuntu Server 12.0.4 lts de 64 bits.

Velneo => version v7.7101

Prueba: => Básicamente atacar la ruta “/tareas” que esta definida en la open app de Cirrus.js que toma 10 registros de la tabla tareas y devuelve un JSON.

Resultados:

CONCLUSIÓN.

Como puede observarse básicamente lo que hace el load testing es atacar con usuarios concurrentes el path “/tareas” el objetivo es estresar el servidor para saber con que tanto puede, el resultado: el vServer muere a los 37 segundos mientras soporta 168 concurrentes repondiendoles a un rate de 118 visitas/segundo con lo que se pudieron lograr 3100 visitas en ese lapso de tiempo y pudiendo servir algo asi como 5.6 Millones de requests por día, después de lo cual comienza a dar timeouts y en consecuencia a disminuir el rate y los promedios.

MAS BUENAS NOTICIAS.

La primera:

Este load testing lo realice previo a unas optimizaciones que pienso implementar en el código de Cirrus.js, así que más velocidad esta por venir.

La segunda:

Esta es la mejor, estuve realizando pruebas y al parecer el vServer corre los puertos TCP cada uno en un Thread (hilo) diferente, lo que significa que al levantar sobre diferentes puertos el objeto TCP en el que corre Cirrus.js puedo multiplicar la concurrencia usando Nginx como un load balancer aprovechando todo el performance de su “Non Blocking I/O” y llevar hasta las nubes la capacidad de carga de Cirrus.js sin problemas de enganches.

Un saludo,

pdata: Cirrus.js ya soporta Cookies y sessiones, muy pronto un post documentando la funcionalidad.

About these ads

3 pensamientos en “Cirrus.js + Nginx pure Performance

  1. Hola que tal. Mi nombre es Roberto Ocampo de México, y tengo poco tiempo con Velneo y realmente nada con cirrus.js. Lo que si tengo es una solución de aplicación en Velneo que me correo de maravilla en local pero con problemas de rendimiento desde su ejecución en un servidor en la nube. Quiero probar tu solución en mi aplicación. Como podría ser esto posible_?

    • Hola pues para usar Cirrus.js tiene que hacerlo o en un vServer local o en un vServer que este un vPS pero tuyo pues el cloud de Velneo no te permitirá abrir puertos TCP a tu antojo, hecha esta salvedad te comento que en el mes de diciembre hicimos un screencast con la gente de ayudavelneo.com explicando Cirrus.js

      aquí lo tienes:

      en cuanto a optimización revisate el foro y el blog de velneo que allí se tratan temas como:
      - ejecutar búsquedas en tercer plano
      - evtiar variables locales en disco
      - correr todos los procesos que se puedan el el servidor directamente (3er plano)
      - páginación en rejillas
      - etc-

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s