PDF de programación - Optimizar un WordPress

<<>>
Imágen de pdf Optimizar un WordPress

Optimizar un WordPressgráfica de visualizaciones

Publicado el 25 de Abril del 2020
413 visualizaciones desde el 25 de Abril del 2020
5,5 MB
53 paginas
Optimizar un WordPress
Miles de visitas por segundo a poco precio

www.wpbarcelona.com - @WPBarcelona

¿Quiénes somos?

Ernesto Gámez
@ernestogamezgo
SysAdmin
www.kisslab.com

Javier Casares
@JavierCasares
Founder & CTO
www.geenapp.com

¿Cuántas visitas tienes?

¿Más de 100 visitas/día?
¿Más de 1.000 visitas/día?
¿Más de 10.000 visitas/día?
¿Más de 100.000 visitas/día?

Ronda de “trucos”

- No almacenar historial de entradas
define ('WP_POST_REVISIONS', false);

- Vaciar la papelera
define ('EMPTY_TRASH_DAYS', 7);

Efecto Menéame

¡Alarma! ¡No va nada!
1. Acceso y análisis
2. Replanteamiento de todo (¡es una basura!)
3. Se hacen bien las cosas
4. Todo funciona, porque somos los mejores.
¿Y cómo lo hemos hecho?

¿Qué es lo que #$*& un WordPress?

1. Los plugins
2. Las plantillas
3. La mala configuración del servidor

...y me atrevería a decir que en ese orden.

Ronda de “trucos”

- Activar el Gzip de WordPress desde las
Opciones...
/wp-admin/options.php

...allí busca el parámetro [gzipcompression] y lo
pones a “1”.

La Herramienta

Web Page Test es LA HERRAMIENTA.
- Tenemos el gráfico en cascada donde
podemos ver todo lo necesario, además de
otras herramientas añadidas e indicadores...

Un ejemplo, con un blog sencillo.

Web Page Test

Web Page Test

Premisas

- WordPress simple (no MU / MS -o sí-)
- Gastar poco dinero en servidores
- Saber un poco de tecnología
- Pedir ayuda de un “sysadmin” cuando sea
necesario

Dominios y DNS

¿Dónde registro un dominio?

- Siempre en un registrador oficial
- A mi me gusta DonDominio

¿Dónde configuro las DNS?

- Es preferible un sistema escalable
- A mi me gusta Route 53 de Amazon

Dominios y DNS

Dos dominios

- Principal para “dinámicos”
- Secundario para “estáticos”

TTL DNS

- Dominio Principal, 1 hora es correcto
- Dominio Secundario, 1 día es correcto

Infraestructura

¿Qué hosting mínimo puedo necesitar?

- Puedo hacer el tonto y montar un blog en un
hosting compartido… ;)

… aunque probablemente vaya fatal porque no
puedes optimizar prácticamente nada.

Infraestructura

¡Montemos un VPS para nosotros solos!

Necesito una máquina con un mínimo de:
- 1 CPU
- 1 GB de RAM
- 20 GB de disco

Infraestructura monolítica

- MySQL (Oracle, Percona, MariaDB)
- Apache / nginx
- PHP

Todo en una misma máquina. Si algo va mal
cuesta saber qué es lo que falla.

Infraestructura distribuida

- MySQL (Oracle, Percona, MariaDB)

- Apache / nginx
- PHP

Siempre separar primero la base de datos.

Infraestructura distribuida cacheada

- MySQL (Oracle, Percona, MariaDB)

- Apache / nginx
- PHP

- web-proxy / caché / memcached...

(Pros) Nginx vs (Contras) Apache

Nginx

Apache HTTP

- Arquitectura por
eventos.
- Agrupa procesos por
N solicitudes.

- Arquitectura por
procesos.
- Crea N procesos por
N solicitudes.

(Pros) Nginx vs (Contras) Apache

- Bajo consumo de
memoria en páginas
estáticas.

- Extremadamente
rápido sirviendo
contenido estático.

- Consumo medio por
crear N procesos.

- Peor rendimiento al
servir contenido
estático.

(Contras) Nginx vs (Pros) Apache

- La configuración se
puede complicar
mucho.

- Muchas opciones de
configuración.

- Poca o escasa
documentación

- Mucha
documentación.

(Contras) Nginx vs (Pros) Apache

- Pocos componentes
añadidos.

- Muchas
funcionalidades.

- Más ligero por
defecto.

- Exceso de
funcionalidades
precargadas.

Hosting

¿Dónde pongo mi sitio web?

- Alojamiento Bueno, Bonito y Barato
- Alta disponibilidad
- Buena conectividad
- Posibilidad de ser distribuido

Hosting

¿Qué te recomendamos?

- Windows Azure
- WordPress.com
- WPengine.com
- ...

Hosting

Azure

Azure

1 CPU (1 Ghz)

768 MB RAM

1 CPU (1.6 Ghz)

1.75 GB RAM

30 GB HDD

30 GB HDD

WordPress.com

WPengine Personal

10 GB HDD

10 e/mes

28 e/mes

70 e/año

25 e/mes

CDN… ¿es necesario?

- Por norma general no es necesario un CDN
- JetPack viene con un CDN gratis: Photon
- Te puedes montar tu pseudo-CDN, que
también escala dinámicos.

Dominios para estáticos

Ajustes -> Multimedia -> Subida ficheros
- Carpeta: /wp/wp-content/uploads/
- URL completa: http://staticdomain.com/

Si subimos una imagen quedará como:
http://staticdomain.com/imagen.jpg

Varnish

sub vcl_fetch {
if (req.url ~ "\.jpg$") {
set beresp.ttl = 60s;

}
}

Purgar Caché mediante Ban por linea de
comandos o bien con el Plugin de Casares.

Bloque de Varnish para WP

sub vcl_recv {
if (req.url ~ "^/wp-admin/css/" || req.url ~ "^/wp-admin/images/" || req.url ~ "^/wp-
admin/js/") { return(lookup); }
if (req.url ~ "^/wp-(login|admin)" || req.url ~ "preview=true") { return(pipe); }
set req.http.Cookie = regsuball(req.http.Cookie, "comment_author=[^;]+(; )?", "");
set req.http.Cookie = regsuball(req.http.Cookie, "comment_author_email =[^;]+(; )?",
"");
set req.http.Cookie = regsuball(req.http.Cookie, "comment_author_url =[^;]+(; )?",
"");
if (req.http.Cookie ~ "wordpress_logged_in_") { return (pass); }
if (req.url ~ "^/xmlrpc.php") { return(pipe); }
if (req.url ~ "^/wp-config.php" || req.url ~ "^/readme.html") { return(error); }
}

eurocopa.com

verano 2012

Día 1

- 1 Base de datos (MySQL Percona)
- 1 Apache para estáticos (imágenes, etc…)
- 2 Apache para WordPress
- 2 Varnish (1 estáticos, 1 dinámicos)

La web transmite, en texto, en tiempo real los partidos.
Caché máxima de 1 minuto.

Día 2

- 1 Base de datos (MySQL Percona)
- 1 Apache para estáticos (imágenes, etc…)
- 4 Apache para WordPress
- 2 Varnish (1 estáticos, 1 dinámicos)

Parece que es suficiente… ¿seguro?

Primer partido de España

- 1 Base de datos (MySQL Percona)
- 1 Apache para estáticos (imágenes, etc…)
- 5 Apache para WordPress (1 para “admin”)
- 2 Varnish (1 estáticos, 1 dinámicos)

¡EMERGENCIA!

Siguiente partido de España

¡Y petó todo!

Qué: el kernel de Linux no soporta todas las conexiones
concurrentes que tenemos. WTF!

Porqué: la mayoría de Linux viene pensado para
conexiones de módem a 56 kbps.

Cómo: hay que reconfigurar el kernel para dar soporte a
muchas conexiones concurrentes.

Ya tenemos la infraestructura...

...ahora toca escalar el software y, sobre todo,
los ¡malditos plugins!

Para ello analizaremos el rendimiento con el

P3 (Plugin Performance Profiler)

P3

P3

P3

P3

P3

Plugins Generales

- Real IP
- WP Mail SMTP
- Hide Admin Bar from Non-Admins
- WordPress HTTPS (SSL)

Plugins “Minify”

- WP Minify
- WP Minify Fix
- Better WordPress Minify

Plugins “Asincronía”

- Lazy Load
- Infinite-Scroll

Plugins Monitor SQL

- Query Monitor
- Debug Queries

Cachea, distribuye y mejora la BDD:
- HyperDB

Plugins Imágenes

- WP Smush.it
- Regenerate Thumbnails
- EWWW Image Optimizer
- CW Image Optimizer
- Imsanity
- Hammy

Plugins nginx

- Nginx
- Nginx Cache Controller

Plugins memcached

- Memcached Object Cache
- Batcache

Recuerda volver a ejecutar P3

- Principalmente cuando haya actualizaciones
del núcleo de WordPress
- Si se actualiza algún plugin de los
complicados, ¡pásalo!

Las cachés (del servidor/navegador)

- ETag vs. Last-Modified
Principalmente para estáticos.

- Expires vs. Cache-Control
Principalmente para dinámicos.

Las cachés de WordPress

- W3 Total Cache
- WP Super Cache
- Quick Cache
- Hyper Cache
- WP Fastest Cache
- WP Fast Cache
… y otros tantos más

Gracias

ernestogamez.es | javiercasares.com
  • Links de descarga
http://lwp-l.com/pdf17557

Comentarios de: Optimizar un WordPress (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad