RENDIMIENTO DRUPAL
Desde la perspectiva de un administrador de sistemas




 http://creativecommons.org/licenses/by-sa/3.0/es/
Pedro González Serrano   Fundador de SceneBeta.com
@NITEMAN_es              +5 años con Drupal
                         Administrador de sistemas
                         Asesor de rendimiento
¿Por qué?
El problema



Velocidad

                                              Recursos

Capacidad


            Condenados a escalar o morir de éxito
¿Qué persigues?
    Minimizar el tiempo de carga                        Maximizar la capacidad


    Estabilidad                                                  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
e, mide, mide, mide, mide, mide, mide, mide, mide, mide, mide, mide, m
          ¿Qué está pasando?


     Registrados / Anónimos: Perros y gatos



     No todas las páginas cuestan lo mismo




cc imagen: http://www.flickr.com/photos/helloturkeytoe/
Herramientas

     Live                Staging         Off-line

  Munin / Cacti       Apache Benchmark    Maatkit

 Tabla accesslog           Jmeter          Devel

Servicios externos                        XHProf


     Monit
Ajusta y vuelve a empezar
Las partes
Arquitecturas I




Estrategia: escalar verticalmente

Estrategia: escalar horizontalmente
Arquitecturas II




 U
                                                    Memcached
 S
 U
 A
 R                            PROXY          HTTP               DB
 I
 O

                                                                Solr




Estrategia: servir todo lo posible desde el extremo más próximo al usuario

Estrategia: Off-load de servicios (Solr)
Firewall(s)                     CDN




                                     Balanceadores




                                                     Proxys




                                Memcached            Web Heads
                                                                                  Arquitecturas III




La complejidad tiene un coste


                                                        Solr           Archivos
                                    DB
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
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




                                              Hasta luego, y gracias por el pescado

Rendimiento Drupal

  • 1.
    RENDIMIENTO DRUPAL Desde laperspectiva de un administrador de sistemas http://creativecommons.org/licenses/by-sa/3.0/es/
  • 2.
    Pedro González Serrano Fundador de SceneBeta.com @NITEMAN_es +5 años con Drupal Administrador de sistemas Asesor de rendimiento
  • 3.
  • 4.
    El problema Velocidad Recursos Capacidad Condenados a escalar o morir de éxito
  • 5.
    ¿Qué persigues? Minimizar el tiempo de carga Maximizar la capacidad Estabilidad Escalabilidad cc imagen: http://www.flickr.com/photos/nostri-imago/
  • 6.
    ANALIZA TÚ PROBLEMA Conócetea ti mismo Mídelo Busca la parte del león
  • 7.
    e, mide, mide,mide, mide, mide, mide, mide, mide, mide, mide, mide, m ¿Qué está pasando? Registrados / Anónimos: Perros y gatos No todas las páginas cuestan lo mismo cc imagen: http://www.flickr.com/photos/helloturkeytoe/
  • 8.
    Herramientas Live Staging Off-line Munin / Cacti Apache Benchmark Maatkit Tabla accesslog Jmeter Devel Servicios externos XHProf Monit
  • 9.
    Ajusta y vuelvea empezar
  • 10.
  • 11.
    Arquitecturas I Estrategia: escalarverticalmente Estrategia: escalar horizontalmente
  • 12.
    Arquitecturas II U Memcached S U A R PROXY HTTP DB I O Solr Estrategia: servir todo lo posible desde el extremo más próximo al usuario Estrategia: Off-load de servicios (Solr)
  • 13.
    Firewall(s) CDN Balanceadores Proxys Memcached Web Heads Arquitecturas III La complejidad tiene un coste Solr Archivos DB
  • 14.
    Un mundo dealternativas
  • 15.
  • 16.
    Formas de ejecutarPHP 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?
  • 17.
  • 18.
    Servidores SQL (MySQLcompatibles) Un motor para cada necesidad
  • 19.
  • 20.
    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 Hasta luego, y gracias por el pescado