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.
performance
mono
.net
asp.net
Larry Smithmier
fuente
fuente
Respuestas:
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:
(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:
(fuente: mono-project.com )
Los detalles sobre cómo configurar esta configuración están disponibles aquí:
http://mono-project.com/Mod_mono
fuente
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.
fuente