phpnuke
ASP NET y PHP son actualmente las principales tecnologías para el desarrollo web. Muchos desarrolladores web comparan la seguridad, la eficiencia de ejecución, la escalabilidad y otros aspectos de las dos tecnologías. Este artículo prueba ASP NET y PHP en diferentes plataformas. diferentes entornos de aplicaciones La eficiencia de ejecución de PHP
PHP, que acaba de lograr un avance histórico en los rankings mensuales de lenguajes de programación, puede ser su mayor rival en el campo del desarrollo web: ASP NET basado en Microsoft NET. Recientemente, Joe Stagner de Microsoft publicó en su blog una serie de artículos que comparan el rendimiento de PHP y ASP NET, lo que atrajo una gran cantidad de respuestas de programadores de ambos lados. Joe dijo que continuaría con estas pruebas y buscaría más. formas apropiadas de obtener el mejor rendimiento para proyectos reales. Conclusión con valor de referencia
Joe dijo en su blog que, en términos generales, el propósito de las pruebas de rendimiento es intentar demostrar que un lado es más rápido que el otro. Soy empleado de Microsoft para escribir código PHP y ASP NET al mismo tiempo. Estoy en NET. He estado usando PHP desde antes de que saliera. Me encantan ambos. Por eso me resulta difícil decir cuál es mejor. Digo cosas buenas de PHP, mis compañeros de Microsoft me escriben y me critican cuando comento mis opiniones. Mis amigos de PHP dirán que soy un bastardo de Microsoft cuando hablo de ASP.NET. Nadie puede dar datos claros. /p>
El entorno de prueba para que ASP NET compita con PHP es el siguiente
◆Todas las pruebas se ejecutan en la misma máquina (con Toshiba Tecra M con memoria G y disco duro G)
◆Ubuntu y Windows Server Standard Edition se instalan en discos duros separados (pero idénticos)
◆Linux usa Apache Windows usa IIS como servidores web respectivos
◆Ambos sistemas operativos han sido completamente parchados o actualizados
◆No se han realizado mejoras de rendimiento adicionales en los sistemas y tiempos de ejecución de ambas partes
A partir de los resultados experimentales, el el rendimiento de ejecución de PHP en Linux y Windows es diferente
◆La ejecución de declaraciones puras funciona mejor en Windows
◆Las llamadas a funciones son más rápidas en Windows
◆Creación y el acceso es más rápido para PHP en Linux pero para PHP es más rápido en Windows
◆Las llamadas a la biblioteca de clases son mucho más rápidas en Linux (por ejemplo, el cifrado en Ubuntu es hasta 2 veces más rápido que en Windows) p>
Comparación entre las plataformas Linux y Windows
El rendimiento del acceso a archivos en Linux es ligeramente superior al de Windows, pero el rendimiento de copia de archivos en Windows es un % más lento que en Linux. Esto puede deberse. a la seguridad avanzada de ACL.
Acceder a MySQL en Linux es mucho más rápido que en Windows y la situación de ejecutar PHP en Windows es aún peor (pero a juzgar por la situación de PostgreSQL a continuación, parece que esto debería deberse a una implementación deficiente)
El rendimiento de PostgreSQL en las dos plataformas es muy cercano (la diferencia entre operaciones es de segundos): tanto PHP como PHP Windows funcionan ligeramente mejor
El rendimiento de El acceso PHP a MS SQL Server en Windows es ligeramente inferior al acceso a MySQL en Linux (no hay soporte de SQL Server para PHP en este momento)
Para un rendimiento de ejecución de PHP puro, decir que Linux y Windows son los Lo mismo no sería un factor decisivo al elegir Linux o Windows como plataforma de implementación. Si está creando una aplicación, PostgreSQL podría serlo.
Es una mejor opción porque funciona muy bien en ambas plataformas
Si su aplicación debe usar MySQL, entonces necesita planificar los problemas de escalabilidad con anticipación al elegir Windows (personalmente creo que Sun no está optimizando demasiado). Rendimiento de MySQL para Windows)
La primera versión del controlador de SQL Server para PHP es un poco más lenta que MySQL o PostpreSQL, pero esto no debería ser un problema. Se está desarrollando una segunda versión del controlador. traer mejoras de rendimiento
En opinión de Joe, los equipos PHP e IIS han tenido mucho éxito en términos de rendimiento de ejecución. A continuación, se necesitan equipos de varios programas de código abierto (Drupal, WordPress, Joomla, etc.). el rendimiento se ha optimizado para cada plataforma
Sin embargo, excepto para las operaciones de copia de archivos, ASP NET está por delante de PHP en términos de rendimiento (ya sea implementado en Linux o Windows)
Acceda a MySQL en Linux El rendimiento es ligeramente mejor que el rendimiento de acceder a SQL Server en Windows (usando tipos de datos normales y declaraciones SELECT), pero la diferencia aquí es casi insignificante
Operaciones ASP NET (C#), como el uso de clases de objetos. llamadas a bibliotecas, etc. Su rendimiento es mucho mayor que el de PHP. Con respecto al resultado de esta prueba, Joe agregó
Sé que algunos de mis amigos de PHP y chicos de Linux saltarán y refutarán mis pruebas. resultados
He estado pensando si dicha comparación de rendimiento necesita agregar algunas opciones de optimización avanzadas. Sin embargo, NET también tiene solicitudes asincrónicas de subprocesos múltiples y varios métodos de almacenamiento en caché que se pueden usar.
Tenga en cuenta que no dije que ASP NET sea más avanzado, por lo que no debería usar PHP. Creo que PHP es demasiado simple, lo que dificulta que algunas aplicaciones avanzadas, como ASP.NET, presenten complejidades de aprendizaje al principio del proyecto.
Para mí, lo más interesante de PHP no es eso. lenguaje/plataforma pero miles de desarrolladores PHP inteligentes y varios proyectos excelentes (como Drupal Joomla WordPress PHPBB Nuke, etc.)
Se puede decir que el rendimiento de PHP en Windows y Linux está en el En el En el mismo nivel, ahora finalmente puedo escribir esas bibliotecas PHP para Windows que he estado esperando durante muchos años
Joe también reveló el código de prueba y dijo que si tienes alguna duda sobre los resultados de esto. prueba, puedes hacerlo tú mismo. Experimenta o escribe tu propio código de prueba para probar
Después de la publicación del artículo, muchos internautas expresaron sus opiniones sobre los resultados de la prueba, Joe básicamente respondió a los puntos principales uno por uno.
Utilicé ASP NET sólo porque me gusta Visual Studio IDE. Personalmente, creo que Visual Studio es la herramienta de desarrollo más productiva, pero hay buenas opciones para PHP. Utilizo Zend Studio PHPEd Komodo Delphi para PHP Estos son todos Genial, odio Eclipse, pero Zend también. Se han creado muchas extensiones para el desarrollo de PHP en esta área
Se debe comparar el rendimiento de ASP; no, gracias. La brecha entre el antiguo ASP y el PHP actual. ASP NET es demasiado grande. Esta comparación parece ser una recomendación. No recomiendo encarecidamente que haga esto cuando desarrolle nuevos proyectos ASP
Comparación de sistemas bit a bit
Bit. Comparación de sistemas de bits: el propósito de estas pruebas no es reflejar el sistema de bits. En futuras pruebas, aumentaré la brecha de rendimiento.
PHP es extremadamente feo; oh, no estoy de acuerdo con eso. el antiguo ASP es mucho más feo. Puedes escribir código PHP muy feo y feo, y también puedes escribir código C# o VB feo y terrible que también se puede escribir en PHP elegante estilo C++. Todo esto depende de las habilidades del desarrollador. p>
Deberías usar Apache en Windows para realizar pruebas: Apache es un servidor en Linux, pero creo que perderás demasiado si no usas IIS en Windows
Hay una manera de hacer esto en Win K Speed ¿Aumentar el rendimiento de la copia de archivos sin perder seguridad? - No parece funcionar. Creo que esto involucra el sistema ACL en el servidor Windows. Puedo probar el rendimiento de la lectura de archivos a través de flujos de datos en el futuro. El rendimiento de algo podría mejorarse, pero las aplicaciones web generalmente no están programadas para copiar grandes cantidades. de archivos
PHP siempre ha sido y siempre será un entorno semiprofesional; esta afirmación es una tontería. Hay muchas aplicaciones profesionales y de alta calidad en la plataforma PHP y hay muchos desarrolladores a quienes respeto mucho. Tanto si son desarrolladores profesionales como si no. El problema no es un problema de PHP o ASP NET.
Creo que es injusto comparar PHP sin el almacenamiento en caché del código de operación. NET se compila y ejecuta, mientras que PHP necesita interpretar y compilar. la página cada vez: estoy de acuerdo en que esta prueba puede no ser suficiente. Completa, pero no estoy de acuerdo con esta lógica. La forma en que pruebo PHP es la misma que descargar e instalar. Mi host virtual no tiene instalado el caché de código de operación. El hecho de que ASP NET venga con esta característica no significa que la prueba sea injusta. Esto se debe a que PHP carece de esta característica, pero esta solicitud es muy razonable y estoy preparando nuevas pruebas.
No tiene sentido. decir que PHP no es un lenguaje profesional porque casi todos los sitios más grandes están construidos con PHP; esta afirmación no tiene sentido, pero también es incorrecto decir que casi todos esos sitios están construidos con PHP. Algunos sí y otros no. /p>
Si tiene más confianza en ASP NET después de ver estos datos, naturalmente estaré muy feliz si no lo hago. Si creo que NET es una mejor opción para desarrollar aplicaciones web, al menos no en otras plataformas. entonces no trabajaré en Microsoft
Pero... si ignoras PHP debido a estas estadísticas también es un comportamiento incorrecto e ingenuo
Desde un punto de vista puramente técnico, Creo que NET es mucho más poderoso que PHP, pero esto no significa que PHP no sea lo suficientemente poderoso. En mi opinión, el poder de PHP se refleja en las numerosas aplicaciones y Framework disponibles
Aproximadamente una semana después. , Joe reveló los resultados de la segunda prueba. En comparación con la prueba anterior, la segunda prueba tiene principalmente los dos cambios siguientes
Instalación en Linux y Windows Se eliminó el caché del código de operación y se volvieron a ejecutar la mayoría de las pruebas.
Debido a algunos problemas de dependencia, la plataforma de prueba de PHP + APC se convirtió en el sistema operativo Debain
Para la segunda prueba y su resultado, explicó Joe
> Según los resultados, la diferencia de rendimiento entre la ejecución de PHP en Ubuntu y Debian es insignificante. El rendimiento de algunos elementos tiene algunas mejoras pequeñas y algunos tienen un porcentaje de mejora, pero en general el efecto es mejor de lo que imaginaba. Medio significa bajo. p>
Después de usar APC, algunos elementos se ejecutan más lento, pero creo que esto es solo un error causado por la máquina. Tenga en cuenta que los resultados que se muestran en la tabla no son la primera vez, sino que se actualizan dos veces. el resultado se obtiene cuando se accede al caché
Creo que la prueba actual es muy justa
Las pruebas de bucle vacío y la ejecución de funciones vacías son muy importantes porque reflejan la base del lenguaje o plataforma El consumo es una consideración importante además de los gastos generales de rendimiento, como la transmisión de páginas.
Algunos de mis amigos de PHP también reconocieron la precisión de esta prueba, pero brindaron complementos muy interesantes.
El líder de rendimiento de ASP NET No tendrá ningún impacto en mí. PHP es mi aplicación favorita. Sí, ASP NET es más rápido en términos de rendimiento básico, pero mi aplicación puede superar esta parte. de rendimiento
Además, según los resultados del último experimento, al ejecutar PHP en la plataforma Windows, MySQ
Hay algunos problemas de rendimiento con L y el acceso a archivos. Muchos equipos de Microsoft han obtenido información relevante de mí. Espero que estos datos se puedan convertir en mejoras prácticas.
Joe dijo que recopilará datos que todos. cree que es más justo y más significativo Escenarios de prueba Los siguientes son los proyectos de prueba que planeó
◆El ciclo de prueba de la página real, las llamadas en caliente y en frío y las operaciones de objetos son un tipo de prueba, pero la presentación general de la misma. página es otra prueba significativa
◆Prueba de carga qué entorno puede manejar una mayor cantidad de solicitudes al mismo tiempo
◆Qué lado el rendimiento se degradará más rápido durante la prueba de carga
◆El rendimiento de la plataforma en diversas circunstancias. ¿Cómo funcionó? lishixinzhi/Article/program/net/201311/11969