Práctica: Ejecución de script PHP. Rendimiento.¶
Nota
(9 tareas - 20 puntos)(8 tareas obligatorias - 15 puntos)
Vamos a comparar el rendimiento de distintas configuraciones de servidores web sirviendo páginas dinámicas programadas con PHP, en concreto vamos a servir un CMS Wordpress.
Las configuraciones que vamos a realizar son las siguientes:
- Módulo php5-apache2
- PHP-FPM + apache2
- PHP-FPM + nginx
Nota
- Tarea 1 (1 punto)(Obligatorio): Documenta la instalación del módulo php de apache2. Muestra wordpress funcionando con el módulo php de apache2. Realiza una comprobación de que, efectivamente, se está usando el módulo php.
- Tarea 2 (1 punto)(Obligatorio): Documenta la instalación y configuración de FPM-PHP y apache2 (escuchando en un socket UNIX) con el módulo de multiprocesamiento event. Muestra wordpress funcionando con FPM-PHP. Realiza una comprobación de que, efectivamente, se está usando FPM-PHP.
- Tarea 3 (1 punto)(Obligatorio): Cambia la configuración anterior para que PHP-FPM escuche en un socket TCP.
- Tarea 4 (1 punto)(Obligatorio): Documenta la instalación y configuración de PHP-FPM y nginx (escuchando en un socket UNIX) con el módulo de multiprocesamiento event. Muestra wordpress funcionando con PHP-FPM. Realiza una comprobación de que, efectivamente, se está usando PHP-FPM.
- Tarea 5 (1 punto)(Obligatorio): Cambia la configuración anterior para que PHP-FPM escuche en un socket TCP.
Estudio de rendimiento¶
Ahora utilizando el script benchmark.py, realiza las pruebas de rendiemento para cada una de las configuraciones anteriores:
- Módulo php5-apache2
- FPM-PHP + apache2 (escuchando en un socket UNIX o en un socket TCP)
- FPM-PHP + nginx (escuchando en un socket UNIX o en un socket TCP)
Nota
- Tarea 6 (5 puntos)(Obligatorio): Entrega la configuración del script de pruebas para cada una de las configuraciones. Entrega los datos obtenidos y la gráfica que has generado.
Aumento de rendimiento¶
Nota
- Tarea 7 (2 puntos)(Obligatorio): Añade a la configuración ** ganadora del punto anterior** memcached. Documenta la instalación y configuración memcached. Recuerda que para que Wordpress utilice memcached le tenemos que instalar un plugin. Muestra las estadísticas de memcached después de acceder varias veces a wordpress para comprobar que esa funcionando.
- Tarea 8 (3 puntos)(Obligatorio): Configura un proxy inverso - caché Varnish escuchando en el puerto 80 y que se comunica con el servidor web por el puerto 8080. Entrega y muestra una comprobación de que varnish está funcionando con la nueva configuración.
Estudio de rendimiento¶
A continuacion hacemos el estudio de rendimiento para las siguientes configuraciones:
- Configuración ganadora
- Configuración ganadora + memcached
- Configuración ganadora + varnish
Nota
- Tarea 9 (5 puntos): Entrega la configuración del script de pruebas para cada una de las configuraciones. Entrega los datos obtenidos y la gráfica que has generado.