6. Plugins (Performance) - Mateo-RH/wordpress-aws-ha GitHub Wiki
WordPress
Creación de Usuario
Creamos nuestro usuario y contraseña para nuestro wordpress
Después nos debería de aparecer nuestra pagina web por defecto.
Añadiendo Plugins
W3 Total Cache
El primer Plugin que se instalo fue W3 Total Cache es el mas recomendado para la configuración del Cache:
Descripción
W3 Total Cache es un plugin para WordPress que nos permite hacer uso de este tipo de memoria para acelerar el proceso de carga de cualquiera de las páginas del sitio web, cuenta con una configuración compleja y densa.
WordPress carga sus páginas de manera dinámica y por ello la memoria caché juega un papel fundamental para que esta carga sea más rápida.
Después de descargarlo y activarlo, procedemos a la configuración del mismo dando click en Settings
Vamos a proceder a configurar el cache, lo primero que vamos activar es el Page Cache
Esta función es para poder cachear las paginas, podemos configurarla a nuestro antojo para permitir que se cacheen paginas en HTTPSEl método de memoria que siempre escogemos Disk: Basic
El Minify no lo activamos, ni tampoco el Opcode Cache, nos dirigimos directamente al Database Cache y al Object Cache y lo activamos
Y por ultimo vamos activar el CDN
Guardamos los cambios
Smush
EL segundo Plugin que vamos a utlizar es Smush, para la optimización de imágenes, para que sean del mismo tamaño que se renderizan.
Despues de descargado y activado, la configuración por defecto nos brinda Lazy load para que las imágenes no visibles carguen de ultimo, mejorando así el tiempo de respuesta inicial
JMeter
JMeter puede ser utilizado como una herramienta de prueba de carga para analizar y medir el rendimiento de una variedad de servicios, con énfasis en aplicaciones web.
En este caso la utilizaremos para medir el rendimiento de nuestra aplicación.
Primera Prueba
Esta primera prueba se hizo antes de descargar y aplicar los plugins anteriores, aunque para hacer una aclaración ya esta configurado todo lo demás
Como podemos Observar usamos 40 muestras para el informe, esto quiere decir que 40 "usuarios" solicitaron esta petición al mismo tiempo.
la primera petición que se muestra, es la pagina principal de la
aplicación
la segunda petición que se observa, es la petición al CDN
Lo primero, y lo mas importante es que el %Error es igual a 0%, esto quiere decir que todas las peticiones se cumplieron sin ningún contratiempo.
Si observamos el apartado Min es el tiempo mínimo que se demoro la petición en obtener respuesta, en este caso es de 627 mili-segundos, es decir 0,627 segundos.
Al igual si observamos el apartado Max que nos indico el tiempo maximo que se demoro la petición, en este caso es de 6158 mili-segundos, es decir 6,158 segundos.
Otro dato importante que nos ofrece la tabla es la media, el tiempo promedio que se demoro la petición que en este caso fue de 4,184 segundos
Conclusión:
En general tiene un rendimiento aceptable, ninguna petición tuvo problemas y los tiempos de respuesta no son muy elevados. Aunque se puede mejorar el rendimiento activando los plugins.
Segunda Prueba
Esta segunda prueba se hace despues de descargar y activar los plugins anteriores.
Al igual que la anterior prueba si usaron las mismas muestras para ofrecer una mayor precisión en los resultados.
En esta tabla podemos observar un mejor tiempo de respuesta de los resultados.
El minimo tiempo de respuesta en esta tabla es de 0,354 segundos.
El maximo tiempo de respuesta en esta tabla es de 3,579 segundos.
Y si observamos la media de respuesta, es de 1,641 segundos.
Conclusión:
El rendimiento mejoro respecto al anterior, los tiempos de respuesta son mas bajos, por lo tanto sera mas rápida la navegación.
Tercera Prueba
Esta ultima prueba se utilizo para observar la capacidad las instancias y determinar cuantas instancias se necesitan para tener un nivel de concurrencia de 2000 usuarios.
Como podemos observar, cuando aumentamos las muestras a 75, se obtiene un %Error del mas del 20% es decir que algunas peticiones fallaron y que las instancia no resiste este nivel de concurrencia.
Conclusión:
Para obtener un nivel de concurrencia de 2000 usuarios necesitaríamos 29 instancias de las cuales estamos usando, cada instancia cuenta con 1vCPU y 1 de RAM