SlideShare una empresa de Scribd logo
1 de 51
Descargar para leer sin conexión
Beat the Devil
towards a Drupal performance benchmark
http://drupal.org/user/770300
@rodricels


http://drupal.org/user/8859
@perusio


http://drupal.org/user/39078
@NITEMAN_es
We'll kill a lot of sacred
           cows
the murder weapon
      will be

  Occam's razor
which amounts to the
principle of least effort
laziness is good
hopefully in the end you'll
       be puzzled
good things happen to
 puzzled people who
       obsess
simplest
 laziest
 easiest
performance is for
     everyone
do you have
performance issues?
system thinking



   http://www.flickr.com/photos/irisheyes/148134965/sizes/o/in/photostream/
mathematics is
 for everyone
request per second
         vs
seconds per request
MTTR
  Mean Time To
    Recovery
        vs
      MTBF
Mean Time Between
      Failure
do you monitor live
      system
  performance?
live monitoring tools


Munin

Cacti
drupal accesslog table
has tons of useful data
beware the logs
logstash / graylog
  aggregate them
economics
      costs per
request/volume/peek



  operational costs
Return On Investment
we're talking about $peed

$peed = cost_effective_performance
slowness
   downtime
   operations
costs you money
it's not the
tools you have

it's the use you
make of them
have you benchmarked
     your Drupal?
complex is easy and fragile



simple is hard and resilient



  Keep It Simple Stupid
Know your stack
   Know your targets
Monitor your performance
find where the problems are
don't fix things that aren't broken
         the worse the first
         one change a time
                  &
    keep a log of your actions
dissecting
  frontend vs backend

         backend
    static vs dynamic

        dynamic
processing vs data gather
beyond development &
     operations

good developers are those that take
   all aspects in consideration
test systems


keep everything as close as
  possible to production
test systems


     take advantage of
configuration management
  to reproduce your live
       infrastructure
test systems

   some software has its
   performance directly
tied to the number of cores
           and/or
    the amount of RAM
sacred cow of frontend




CDN (expiration logic)
cloud servers
frontend vs backend
number of req. / parallelization

blocking events

data side: DNS resolution
data side: download time
data side: size / weight
order matters
frontend vs backend tools

            Firebug
         Chrome tools
     Google Speed Tracer
             Yslow
Web services [*] [*] [*] [*]
sacred cow of backend




load balancing: how? failover strategy?
more webheads: cache consistency?
another server: what for?
backend: static vs dynamic
  anonymous vs registered

 cacheable vs non cacheable
HTTP benchmarking tools


             ab
          Jmeter
         Httperf
            wrk
         Gatling

        TCP copy
sacred cow of PHP

HipHop (hacked libs)
PHP Extensions (C / PECL)
sacred cow of PHP




                                APC Tuning
       profile, profile, profile and profile
  upgrading PHP version (if you're brave)
dynamic
processing vs data gather


             locks
      difficult to dissect
             devel
benchmarking / profiling PHP
           Xdebug
          Webgrind
           Xhprof


 don't even try without an
       opcode cache
 & remember the hard disk
sacred cow of databases



              NoSQL
              denormalization
              sharding




        http://www.flickr.com/photos/rebeccaselah/3942904359/sizes/l/in/photostream/
sacred cow of databases




NoSQL             => helps with writes
denormalization   => helps with HUGE DBs
sharding          => helps with Big DBs
MySQL Tune & Benchmarking
tools
https://tools.percona.com/
Percona toolkit [*] (formerly maat-kit)
tcpdump + Percona toolkit
Logs are vital!

Every engine has strongs & weakness

                         Better on bare metal!
root hardware causes

      network & DNS play a role

 static content depends mainly on I/O

dynamic content (php) depends on CPU

database server mainly depends on RAM
extra balls:
Drupal known issues (DB): Watchdog, sessions,
accesslog... history...

Please do stress, load & stability tests regularly
in your live system
This is our way, what is
         yours?
(no cows were harmed in the making of this
              presentation)
¿Questions?
  Pablo Picasso [speaking of computers]:
"But they are useless. They can only give you
                 answers."
Beat the devil: towards a Drupal performance benchmark

Más contenido relacionado

La actualidad más candente

Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
Ontico
 
Planning for-high-performance-web-application
Planning for-high-performance-web-applicationPlanning for-high-performance-web-application
Planning for-high-performance-web-application
Nguyễn Duy Nhân
 

La actualidad más candente (20)

[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기[245] presto 내부구조 파헤치기
[245] presto 내부구조 파헤치기
 
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NYApache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
Apache hadoop 3.x state of the union and upgrade guidance - Strata 2019 NY
 
On The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL ClusterOn The Building Of A PostgreSQL Cluster
On The Building Of A PostgreSQL Cluster
 
Shootout at the AWS Corral
Shootout at the AWS CorralShootout at the AWS Corral
Shootout at the AWS Corral
 
BDM37: Hadoop in production – the war stories by Nikolaï Grigoriev, Principal...
BDM37: Hadoop in production – the war stories by Nikolaï Grigoriev, Principal...BDM37: Hadoop in production – the war stories by Nikolaï Grigoriev, Principal...
BDM37: Hadoop in production – the war stories by Nikolaï Grigoriev, Principal...
 
Hive at booking
Hive at bookingHive at booking
Hive at booking
 
Java Performance and Profiling
Java Performance and ProfilingJava Performance and Profiling
Java Performance and Profiling
 
Windows Server 2012 Disk Dedupe
Windows Server 2012 Disk DedupeWindows Server 2012 Disk Dedupe
Windows Server 2012 Disk Dedupe
 
Speeding up R with Parallel Programming in the Cloud
Speeding up R with Parallel Programming in the CloudSpeeding up R with Parallel Programming in the Cloud
Speeding up R with Parallel Programming in the Cloud
 
M|18 Where and How to Optimize for Performance
M|18 Where and How to Optimize for PerformanceM|18 Where and How to Optimize for Performance
M|18 Where and How to Optimize for Performance
 
Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
Как Web-акселератор акселерирует ваш сайт / Александр Крижановский (Tempesta ...
 
Hardware Provisioning
Hardware ProvisioningHardware Provisioning
Hardware Provisioning
 
Dhcp in linux
Dhcp in linuxDhcp in linux
Dhcp in linux
 
Planning For High Performance Web Application
Planning For High Performance Web ApplicationPlanning For High Performance Web Application
Planning For High Performance Web Application
 
Thread Safe Interprocess Shared Memory in Java (in 7 mins)
Thread Safe Interprocess Shared Memory in Java (in 7 mins)Thread Safe Interprocess Shared Memory in Java (in 7 mins)
Thread Safe Interprocess Shared Memory in Java (in 7 mins)
 
Webinar: Tales from the Field - 48 Hours to Data Centre Recovery
Webinar: Tales from the Field - 48 Hours to Data Centre RecoveryWebinar: Tales from the Field - 48 Hours to Data Centre Recovery
Webinar: Tales from the Field - 48 Hours to Data Centre Recovery
 
Spark / Mesos Cluster Optimization
Spark / Mesos Cluster OptimizationSpark / Mesos Cluster Optimization
Spark / Mesos Cluster Optimization
 
Performance and Scalability
Performance and ScalabilityPerformance and Scalability
Performance and Scalability
 
Planning for-high-performance-web-application
Planning for-high-performance-web-applicationPlanning for-high-performance-web-application
Planning for-high-performance-web-application
 
Redis on NVMe SSD - Zvika Guz, Samsung
 Redis on NVMe SSD - Zvika Guz, Samsung Redis on NVMe SSD - Zvika Guz, Samsung
Redis on NVMe SSD - Zvika Guz, Samsung
 

Similar a Beat the devil: towards a Drupal performance benchmark

Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009)
PostgreSQL Experts, Inc.
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
webuploader
 
Continuity Software 4.3 Detailed Gaps
Continuity Software 4.3 Detailed GapsContinuity Software 4.3 Detailed Gaps
Continuity Software 4.3 Detailed Gaps
GilHecht
 

Similar a Beat the devil: towards a Drupal performance benchmark (20)

Testing Delphix: easy data virtualization
Testing Delphix: easy data virtualizationTesting Delphix: easy data virtualization
Testing Delphix: easy data virtualization
 
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
Data Applications and Infrastructure at LinkedIn__HadoopSummit2010
 
Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009) Performance Whack-a-Mole Tutorial (pgCon 2009)
Performance Whack-a-Mole Tutorial (pgCon 2009)
 
Drupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp NorthDrupal Performance : DrupalCamp North
Drupal Performance : DrupalCamp North
 
Oracle R12 EBS Performance Tuning
Oracle R12 EBS Performance TuningOracle R12 EBS Performance Tuning
Oracle R12 EBS Performance Tuning
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
 
Performance Whackamole (short version)
Performance Whackamole (short version)Performance Whackamole (short version)
Performance Whackamole (short version)
 
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
 
Big Data Anti-Patterns: Lessons From the Front LIne
Big Data Anti-Patterns: Lessons From the Front LIneBig Data Anti-Patterns: Lessons From the Front LIne
Big Data Anti-Patterns: Lessons From the Front LIne
 
Puppet for Sys Admins
Puppet for Sys AdminsPuppet for Sys Admins
Puppet for Sys Admins
 
PhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and HealthierPhpTek Ten Things to do to make your MySQL servers Happier and Healthier
PhpTek Ten Things to do to make your MySQL servers Happier and Healthier
 
Php go vrooom!
Php go vrooom!Php go vrooom!
Php go vrooom!
 
Continuity Software 4.3 Detailed Gaps
Continuity Software 4.3 Detailed GapsContinuity Software 4.3 Detailed Gaps
Continuity Software 4.3 Detailed Gaps
 
Handling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
 
How Many Slaves (Ukoug)
How Many Slaves (Ukoug)How Many Slaves (Ukoug)
How Many Slaves (Ukoug)
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist
 
饿了么 TensorFlow 深度学习平台:elearn
饿了么 TensorFlow 深度学习平台:elearn饿了么 TensorFlow 深度学习平台:elearn
饿了么 TensorFlow 深度学习平台:elearn
 
[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions[NetApp] Simplified HA:DR Using Storage Solutions
[NetApp] Simplified HA:DR Using Storage Solutions
 
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
Nagios Conference 2012 - Dan Wittenberg - Case Study: Scaling Nagios Core at ...
 
DrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performanceDrupalCampLA 2011: Drupal backend-performance
DrupalCampLA 2011: Drupal backend-performance
 

Más de Pedro González Serrano

Más de Pedro González Serrano (8)

Think! (out of the box)
Think! (out of the box)Think! (out of the box)
Think! (out of the box)
 
Lifeguard at Dead Sea
Lifeguard at Dead SeaLifeguard at Dead Sea
Lifeguard at Dead Sea
 
Talk is cheap
Talk is cheapTalk is cheap
Talk is cheap
 
When Dev met Ops
When Dev met OpsWhen Dev met Ops
When Dev met Ops
 
Rendimiento: Persiguiendo al conejo blanco
Rendimiento: Persiguiendo al conejo blancoRendimiento: Persiguiendo al conejo blanco
Rendimiento: Persiguiendo al conejo blanco
 
Hasta producción y más allá
Hasta producción y más alláHasta producción y más allá
Hasta producción y más allá
 
Varnish: funcionamiento, configuración y uso
Varnish: funcionamiento, configuración y usoVarnish: funcionamiento, configuración y uso
Varnish: funcionamiento, configuración y uso
 
Rendimiento Drupal
Rendimiento DrupalRendimiento Drupal
Rendimiento Drupal
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Beat the devil: towards a Drupal performance benchmark