www downloads asp.net iis mono

asp.net - downloads - www go mono com port80



Rendimiento de ASP.NET en Mono(Linux) frente a IIS(Ventana) (6)

¿Hay algún rendimiento diferente entre alojar su asp.net en mono en linux y iis en el servidor de Windows?


Aquí hay un buen benchmark donde alguien probó la diferencia entre windows / IIS vs Linux / Apache / Mono (mod_mono). Lo suficientemente loco como mod_mono (el plugin mono de apache) tuvo un rendimiento significativamente mayor. De acuerdo, estoy seguro de que en ciertas circunstancias sería diferente, pero dado que Linux de bajo perfil y Apache son más el gran trabajo que han hecho los chicos mono, es lógico pensar que Linux / Apache / Mono es una mejor manera de hacerlo. Ahora que se dice, con suerte con el nuevo ASP de código abierto, veremos algunos servidores Linux de gran rendimiento que estarán disponibles próximamente (preparados y listos para la nube).

gráfico de la comparación de rendimiento


Con respecto a la sugerencia de lextm de que la publicación de los resultados de las comparaciones de rendimiento "no es posible", el Acuerdo de licencia de usuario final (también conocido como EULA) para Windows Vista Ultimate lo permite, con condiciones.

PRUEBAS DE BENCHMARK DE MICROSOFT .NET. El software incluye uno o más componentes de .NET Framework 3.0 ("Componentes .NET"). Puede realizar pruebas internas de referencia de esos componentes. Puede divulgar los resultados de cualquier prueba de referencia de esos componentes, siempre que cumpla con las condiciones establecidas en http://go.microsoft.com/fwlink/?LinkID=66406 . A pesar de cualquier otro acuerdo que pueda tener con Microsoft, si divulga dichos resultados de pruebas de referencia, Microsoft tendrá el derecho de divulgar los resultados de las pruebas de referencia que realice de sus productos que compitan con el Componente .NET correspondiente, siempre que cumpla con las mismas condiciones establecidas en http://go.microsoft.com/fwlink/?LinkID=66406 .

Las condiciones, a medida que las leo, son requisitos razonables de divulgación: el código fuente que usó para realizar las pruebas, las versiones de software que probó, la fecha en que realizó las pruebas, la configuración y las optimizaciones que realizó, etc.

El CLUF para Windows Server 2003 incluye las mismas disposiciones. No pude encontrar el EULA para Windows Server 2008 (la última encarnación) pero asumo que las disposiciones de referencia se mantienen.

Addendum : si busca en el EULA para Windows 7, probablemente encontrará una cláusula de no evaluación comparativa, o más precisamente una cláusula de no publicación; Esto se debe a que Win7 todavía está en versión preliminar. Cuando se publique oficialmente, espere que las condiciones de publicación estándar de referencia estén presentes.

En el pasado, Microsoft tenía una política más restrictiva sobre este tema. Básicamente: necesita nuestro permiso (Microsoft) para revelar comparaciones de rendimiento. Esta política se ha relajado, incluso de manera retroactiva a .NET v1.0 y v1.1, según http://go.microsoft.com/fwlink/?LinkID=66406 .


He ejecutado aplicaciones mono bajo mod_mono. De una usabilidad, funciona bien, aunque no hice ningún punto de referencia. Aún así, IIS realmente es un entorno increíblemente conveniente para trabajar. Dada la opción, todavía albergo mi servidor web en IIS y uso clientes linux mono para conectarme a él.


Mono apesta!

O más políticamente correcto: Mono aún no está listo para el horario estelar, al menos para las aplicaciones web de Asp.Net:

  • No hay soporte de almacenamiento en caché
  • El rendimiento es terriblemente inestable y cae después del inicio de la aplicación.

EDITAR: Se agregaron citas para mi publicación, respuesta al último comentario.

Sin embargo, para hacer una comparación justa ... Debería habilitar el almacenamiento en caché ... agregar la siguiente línea en el encabezado del archivo aspx debería ayudarme.

<%@ OutputCache Duration="20" VaryByParam="None" %>

Lo había hecho, sin resultado! El rendimiento es el mismo.

Nota: después de una comprobación más profunda, la implementación de la memoria caché en modo es muy limitada y deficiente, después de las comprobaciones recientes todavía se mantiene en las versiones más nuevas de mono.

Ok, de todos modos hice algunos puntos de referencia (...) el reloj simple me da aproximadamente 750 páginas por segundo para la variante almacenada en caché y 650 para la no almacenada en caché Las pruebas se realizaron bajo IIS 5.0 en Dual Core Pentium D 3G

El mismo código ... con mod_mono (bajo Signle Core AMD Athlon 3000) me había dado:

  • 350 páginas por segundo.
  • La siguiente corrida había dado 300.
  • próximos 200
  • y los siguientes 150

Por lo tanto, la evaluación comparativa es imposible.

¿Hacer referencia a la publicación todavía no es aumentativo?

Ningún mono definitivamente no está listo para el horario estelar.


Por supuesto, hay una diferencia, al igual que hay una diferencia de rendimiento entre Java y .Net. Sin embargo, va a variar ampliamente según lo que esté haciendo la aplicación.

Hay cosas donde .Net es mucho más rápido que Mono. Hay cosas en las que Mono es mucho más rápido que .Net. Hay cosas en las que se desempeñan más o menos igual. Lo mismo ocurre cuando se comparan aplicaciones que se ejecutan en Windows o Linux. Lo mismo ocurre cuando se comparan aplicaciones que se ejecutan en IIS y Apache.

Probablemente, cualquiera de los dos puede ejecutar su aplicación lo suficientemente rápido, y encontrará que su rendimiento será impulsado por sus técnicas de programación. La diferencia de unas pocas solicitudes por segundo probablemente no sea un gran problema a menos que tenga una granja de servidores grande, en cuyo caso lo más probable es que tenga los recursos para probar ambos y ver cuál es más rápido para su aplicación en particular.


Primero, se dijo que no es posible publicar estadísticas de rendimiento para comparar implementaciones CLR (.NET versus Mono). No estoy seguro de cuál es la fuente, pero el equipo de Mono solo publicó una comparación entre las versiones Mono (1.x, 2.0, 2.2, y 2.4), así que asumo que el dicho es real. Por lo tanto, solo puede probar el rendimiento en su propio entorno.

En segundo lugar, Mono está evolucionando mucho más rápido últimamente, lo que le brinda la oportunidad de mejorar el rendimiento simplemente al actualizar el tiempo de ejecución de Mono.

En tercer lugar, utilice una actitud diferente para juzgar un producto de código abierto. Para los productos de código cerrado, no puede hacer nada más que rogar a su proveedor para mejorar el rendimiento o proporcionarle asistencia sobre cómo ajustar sus aplicaciones. Para los proyectos de código abierto, tiene acceso al código base y puede adaptarlo a sus propias necesidades y solucionar los problemas para sus propias aplicaciones.

Como mencionó jpobst, incluso si no puede solucionar los problemas usted mismo, puede ponerse en contacto con los chicos de Mono.