¿Alguien tiene algún número de rendimiento que compare IIS y .NET con Cherokee y Mono?


8

Estoy configurando un servidor de desarrollo y quiero configurarlo para servir páginas ASP.NET usando Mono. Estoy planeando usar Cherokee y Mono ( http://www.cherokee-project.com/doc/cookbook_mono.html ) y me pregunté si alguien había hecho alguna prueba de rendimiento comparando la pila basada en Unix con la basada en Windows.


Terminé yendo a SuseGallery [1] e hice una búsqueda rápida de Mono y encontré JEOS Mono ASP.net [2] que ya estaba configurado para lo que quería. Acabo de comenzar a usar para algunas pruebas de migración de ASP.net en Windows con VirtualBox. Solo necesitaba iniciar Apache y configurar el reenvío de puertos. [1]: susegallery.com [2]: susegallery.com/a/0uPadf/jeos-mono-aspnet
Larry Smithmier

Respuestas:


7

Al probar las cargas de trabajo Mono / Linux vs .NET / Windows, debe recordar que hay más en juego que solo el entorno de tiempo de ejecución.

Hay áreas en las que Linux funciona mejor que Windows (la mayoría de las operaciones de red e IO tienden a ser más rápidas para programas C comparables). Al mismo tiempo, .NET tiene un recolector de basura más avanzado y un compilador JIT más avanzado.

Cuando se trata de las bibliotecas de clases, realmente depende de qué rutas de código esté utilizando. Como dijo JacksonH en una publicación anterior, puede golpear las rutas de código que se han optimizado en una implementación, pero no en la otra, y viceversa.

En las cargas de trabajo de ASP.NET, debe recordar que la configuración predeterminada enrutará todas las solicitudes entrantes a un solo proceso de "trabajador", mod_mono y Cherokee utilizan un enfoque similar:

Muchos servidores HTTP a un mod-mono-servidor
(fuente: mono-project.com )

Al menos con Apache, admitimos un mecanismo en el que puede dividir las cargas de trabajo de la aplicación entre varios trabajadores, lo que ayuda bajo cargas elevadas, ya que evita cualquier bloqueo en el proceso y brinda a cada trabajador un conjunto completo de subprocesos para trabajar:

Enrutamiento de solicitudes a diferentes hosts ASP.NET con mod_mono
(fuente: mono-project.com )
Los detalles sobre cómo configurar esta configuración están disponibles aquí:

http://mono-project.com/Mod_mono


7

Esto no es una respuesta. Sin embargo, no hay una respuesta real aquí. Lamentablemente, esto depende mucho de la aplicación. Su aplicación podría acertar en algo que Mono hace realmente bien o puede estar usando mucho algo que está mal implementado o tiene algunos errores. No se trata realmente de que Mono sea X veces más lento / más rápido que IIS.

Mi sugerencia es tomar su aplicación, implementarla en dos instancias diferentes de EC2 (una Windows y una Mono) y hacer sus pruebas allí. Si encuentra problemas importantes en la instancia de Mono, infórmelos e intentaremos mejorar las cosas.

Dicho todo esto, puedo decirle por experiencia personal que Mono aspx funciona realmente bien.


Secundario: uso Apache + mod_mono, y funciona muy bien una vez que comienza. La única vez que veo lentitud es durante la carga inicial de la página, pero esto es común con casi todo (Rails, etc.).
BR
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.