2010-06-07 14 views
9

básicamente estoy lanzando un sitio pronto y predigo MUCHO tráfico. Para los escenarios, digamos que tendré 1m únicos al día. Los datos serán estáticas, pero tengo que tener incluye aswellSSI o PHP Include()?

sólo incluirá una página HTML dentro de otra página HTML, nada dinámico (tengo mis razones por las que no voy a revelar a mantener este sencillo)

Mi pregunta es decir, lo que se refiere a rendimiento es más rápido

<!--#include virtual="page.htm" --> 

o

<?php include 'page.htm'; ?> 

Respuesta

9

En cuanto al rendimiento más rápido es el almacenamiento de las plantillas en otro lugar, lo que genera el pleno HTML, y regenerar en base a alteraciones en su plantilla.

Si realmente desea una comparación entre PHP & SSI, creo que SSI es probablemente más rápido, y más importante: no tener PHP es mucho más ligero en RAM necesario en los procesos/hilos de los servidores web, lo que le permite tener más apache hilos/procesos para atender solicitudes.

2

SSI está integrado en Apache, mientras que Apache tiene que generar un proceso PHP para procesar archivos .php, por lo que esperaría que SSI fuera más rápido y ligero.

Estoy de acuerdo con la respuesta anterior, sin embargo, que seguir la ruta PHP le dará más flexibilidad para cambiar en el futuro.

Realmente, cualquier diferencia de velocidad que exista probablemente sea insignificante en la imagen general.

+0

¿Genera un proceso de PHP? ¿Nunca usaste mod_php o FastCGI? –

+0

No estoy del todo seguro de por qué estaba pensando en términos de CGI vainilla cuando escribí esto; Sirvo PHP casi exclusivamente con mod_php. –

2

Quizás debería buscar en HipHop para php que compila PHP en C++. Dado que C++ se compila más rápido. Facebook lo usa para reducir la carga en sus servidores.

http://wiki.github.com/facebook/hiphop-php/

+0

Aunque esto solo funcionaría si el usuario tuviera acceso a sus raíces de servidor, me gusta esta respuesta. Si mi servidor no estuviera configurado con cPanel, probaría esto. (La cosa de cPanel simplemente me hace no querer molestarme con nada) – animuson

+0

@animuson: Espero que un sitio que espera obtener 1m únicos por día no esté usando un sitio alojado de calidad para el consumidor, pero tiene acceso para configurar el software forma que necesitan en sus propios servidores dedicados. –

+0

Si su anfitrión tiene un servicio de atención al cliente decente, probablemente pueda comunicarse con ellos por teléfono y pedirles que lo instalen. Especialmente si esto significa menos carga en sus servidores. –

1

Yo no creo que nadie puede responder a esta definitivamente para usted. Depende de la configuración del servidor web, el sistema operativo y las opciones del sistema de archivos, la complejidad del uso de SSI, otros procesos en competencia en su servidor, etc.

Debe armar algunos archivos de muestra y ejecutar pruebas en el servidor que desea implementar en. Use algunas herramientas de prueba http como ab o siege o httperf o para generar cierta carga y compare los dos enfoques. Esa es la mejor manera de obtener una respuesta correcta para su entorno.

El uso de PHP con mod_php y un caché de código de operación como APC puede ser muy rápido porque almacenaría en caché automáticamente los archivos de alta demanda. Si desactiva apc.stat, no tendrá que tocar el disco para servir el script PHP (con la advertencia de que esto hace más difícil actualizar el script PHP en un sistema en ejecución).

También debe asegurarse de seguir otras buenas prácticas de alta escalabilidad. Use CDN para recursos estáticos, optimice sus scripts y hojas de estilo, etc. Obtenga libros por Steve Souders y Theo & George Schlossnagle y léelos de principio a fin.