Entre Xampp, WAMP, LAMP son todos buenos y todos iguales, usando Apache2 con mod_php.
Si quieres profundizar, pruébalo tú mismo:
Realmente dependería de su aplicación. Su servidor web, PHP y MySQL pueden convertirse rápidamente en cuellos de botella si no se configuran correctamente.
- ¿Una tarjeta controladora RAID con memoria integrada tiene una ventaja significativa sobre una que no la tiene?
- Cómo medir con precisión el tiempo de respuesta de los percentiles 99 y 95 de un servidor
- ¿Cuál es la ventaja de ejecutar una base de datos escrita en Ruby On Rails sobre MySQL en un servidor Apache?
- Cuando una persona experimenta una respuesta lenta de una solicitud de página de Internet, ¿se debe con mayor frecuencia al tráfico entre el servidor y el solicitante o el propio servidor?
- ¿Cuál es el mejor servidor en la nube escalable?
En lo que respecta a PHP, estos chicos afirman que Litespeed y Openlitespeed son los más rápidos: ¿Cuál es la mejor plataforma para los motores PHP más rápidos? Quizás no sea sorprendente, ya que lo están vendiendo.
El segundo en su punto de referencia es Apache y mod_php, seguido de nginx con php-fpm.
Php7 tiene su propio servidor web incorporado, que también es bastante rápido.
Acabo de hacer tres pruebas rápidas en el último docker php oficial en el paquete de servidor Digitalocean más barato:
$ php -v PHP 7.1.0 (cli) (construido: 6 de diciembre de 2016 21:22:14)
Tengo un index.php en / var / www / html:
$ php -S 127.0.0.1:80 y $ apt-get install apache2-utils $ ab -q -k -c 50 -n 10000 http://127.0.0.1/
La primera ejecución obtuvo 200 / s. La segunda carrera obtuvo 1600 / s. El tercero consiguió 400 / s. Hmm … mejor ejecuta esto en metal desnudo, el alojamiento compartido no es constante.
$ killall -9 php $ apt-get install apache2 libapache2-mod-php5 $ ab -q -k -c 50 -n 10000 http://127.0.0.1/
Primera ejecución 1700 / s. Segunda carrera 1900 / s. Tercera carrera 2800 / s. Cuarto 3000 / s. Pero eso es php5.
$ servicio apache2 stop
Probemos PHP7 … Tuve que seguir las instrucciones de Instalar PHP7 en Debian 8 Jessie (con Apache) para instalar el dotdeb. (Falta el comando era a2enmod php7.0)
$ ab -q -k -c 50 -n 10000 http://127.0.0.1/
Primera ejecución: 2000 / s. Segundo: 1700 / s. Tercero: 2300 / s. 2300. 2700. 2700. 3000.
50% más rápido: 5 ms
Probemos php7.0-fpm:
$ apt-get install php7.0-fpm $ a2dismod php7.0 $ a2enmod proxy_fcgi $ a2enmod php7.0-fpm $ service php7.0-fpm start $ ab -q -k -c 50 -n 10000 http://127.0.0.1/
Listo? Primera ejecución: 1400 / s. Segundo: tiempo de espera. Tercero: tiempo de espera.
$ service apache2 restart
Cuarto: 1500. Quinto: tiempo de espera
50% más rápido: 28 ms
$ service php7.0-fpm restart
Sexto: tiempo de espera
¡No use apache2 con php7.0-fpm a menos que tenga tiempo para leer el manual o contribuir con documentación o código!
Probemos con nginx:
$ apt-get install nginx $ servicio apache2 stop $ apt-get install vim-tiny $ vi / etc / nginx / sites-enabled / default ...
Descomente los bits php, agregue index.php, cambie el calcetín a /var/run/php/php7.0-fpm.sock
$ service nginx start $ ab -q -k -c 50 -n 10000 http://127.0.0.1/
Primera ejecución: 2200 / S. Segundo: 500 / s. Tercero: 500 / s. Cuarto: tiempo de espera. … Hmm … ¿el servidor host se ha ocupado? ¿Perdí mi tiempo probando en un servidor compartido …
50% más rápido: 18 ms
Bien, intentemos openlitespeed:
(siga las instrucciones en su página de inicio para Debian)
$ ab -q -k -c 50 -n 10000 http://127.0.0.1/
Primera ejecución: 3000 req / s. 3500. 2800. 2500. 3600.
50% más rápido: 15 ms
Ahí lo tenemos. Solo marginalmente más rápido que apache + mod_php.
Servidor compartido o no, supongo que php -S no es multiproceso, y php-fpm agrega al menos 12 ms de sobrecarga. Esto es, por supuesto, sin modificar ninguno de los anteriores, sin duda, hay muchas variables de configuración para ajustar y aún más dependiendo de su plataforma y pila de aplicaciones.
Para responder realmente a su pregunta: prueba. Prueba. Y luego prueba un poco más! ¡Deje de probar cuando las pruebas se vuelvan más caras que simplemente lanzar más hardware al problema!
A modo de comparación, probé cada uno de los anteriores después de cambiar el nombre de mi index.php y crear un index.html en blanco para probar la sobrecarga estática:
php -S: 0 – 2000 requisitos / s, mínimo 12 ms
apache2: 2000 – 5000 req / s, mínimo 7 ms
nginx: 6000 – 7000 req / s, mínimo 6ms
lighttpd: 10000 – 19000 req / s, mínimo 0msnative programa de socket C que sirve un encabezado estático y bifurcación en cada solicitud: 300 – 3000 req / s, mínimo 15ms (¿Aún tienes mucho respeto por los grandes servidores?)
servidor web de ensamblador diminuto puro: 0 – 5000 req / s, mínimo 9 ms. (Servidor de http://canonical.org/~kragen/sw/…)
openlitespeed: 8000 – 12000 req / s mínimo 4ms. No está mal.
Sin embargo, una buena respuesta rápida: parece que mod_php es un valor predeterminado muy seguro.
Sin embargo, si tiene una gran cantidad de contenido estático, pasar lighttpd o nginx a apache2 probablemente le brindará el máximo rendimiento de su servidor con la menor molestia de configuración.
Para construir sobre lo anterior, necesita hacer algunas consultas MySQL desde PHP. También puede hacer una prueba de esfuerzo de MySQL (o MariaDB) por separado, antes de realizar pruebas combinadas con PHP.
Además, ab es solo una herramienta de prueba. Uno pensaría que trataría a apache2 particularmente bien … no es así.