rendimiento drupal
DESCRIPTION
Diapositivas de mi intervención en el "Taller de Rendimiento" del Drupal Day Barcelona 2011TRANSCRIPT
Desde la perspectiva de un administrador de sistemas
RENDIMIENTO DRUPAL
http://creativecommons.org/licenses/by-sa/3.0/es/
Fundador de SceneBeta.com +5 años con Drupal Administrador de sistemas Asesor de rendimiento
Pedro González Serrano @NITEMAN_es
¿Por qué?
El problema
Velocidad
Capacidad
Recursos
Condenados a escalar o morir de éxito
¿Qué persigues?
Minimizar el tiempo de carga
Estabilidad
Maximizar la capacidad
Escalabilidad
cc imagen: http://www.flickr.com/photos/nostri-imago/
ANALIZA TÚ PROBLEMA Conócete a ti mismo Mídelo Busca la parte del león
¿Qué está pasando?
No todas las páginas cuestan lo mismo
Registrados / Anónimos: Perros y gatos
mid
e, m
ide,
mid
e, m
ide,
mid
e, m
ide,
mid
e, m
ide,
mid
e, m
ide,
mid
e, m
ide,
mid
e,
cc imagen: http://www.flickr.com/photos/helloturkeytoe/
Herramientas
Tabla accesslog
Munin / Cacti
Servicios externos
Live Off-line Staging
Apache Benchmark
Jmeter
Maatkit
Devel
XHProf
Monit
Ajusta y vuelve a empezar
Las partes
Arquitecturas I
Estrategia: escalar verticalmente
Estrategia: escalar horizontalmente
Arquitecturas II
Estrategia: servir todo lo posible desde el extremo más próximo al usuario
Estrategia: Off-load de servicios (Solr)
PROXY DB
Memcached
HTTP
Solr
U
S
U
A
R
I
O
Arquitecturas III
La complejidad tiene un coste
CD
NF
ire
wa
ll(s
)
Ba
lan
cea
do
res
Pro
xys
We
b H
ea
ds
Me
mca
che
d
So
lrD
BA
rch
ivo
s
Un mundo de alternativas
Proxy Cachés
Formas de ejecutar PHP en un servidor HTTP
mod_php
• Aparentemente el más rápido
• Comparte APC entre instancias
FPM
• Apuesta de futuro
• Un daemon para PHP
mod_fcgi
• Compromiso velocidad / consumo recursos
FastCGI
• El método tradicional
¿alguna más?
Servidores HTTP
Servidores SQL (MySQL compatibles)
Un motor para cada necesidad
cc imagen: http://www.flickr.com/photos/ephotography29/
elige tu veneno
Hasta luego, y gracias por el pescado
píldoras:
Cuidado con cron: Blog de Metal Toad Media http://drpl.it/ZM4
Evita combinar NFS con .htaccess, lleva esas reglas al vhost
Aumenta la ventana inicial para la negociación TCP/IP: http://drpl.it/ZMJ