6. Plugins (Performance) - Mateo-RH/wordpress-aws-ha GitHub Wiki

WordPress

Creación de Usuario

  • Creamos nuestro usuario y contraseña para nuestro wordpress

crear

  • Después nos debería de aparecer nuestra pagina web por defecto.

Prncipal

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.

w3

  • Después de descargarlo y activarlo, procedemos a la configuración del mismo dando click en Settings

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 HTTPS El método de memoria que siempre escogemos Disk: Basic

page

  • El Minify no lo activamos, ni tampoco el Opcode Cache, nos dirigimos directamente al Database Cache y al Object Cache y lo activamos

data

  • Y por ultimo vamos activar el CDN

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.

smush

  • 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

lotes

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

prueba1

  • 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.

Prueba2

  • 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.

Prueba3

  • 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