Beat the devil: towards a Drupal performance benchmark
Upcoming SlideShare
Loading in...5

Beat the devil: towards a Drupal performance benchmark



Slides from the session we (@perusio @rodricels @NITEMAN_es) gave on Drupal Developer Days Barcelona 2012:

Slides from the session we (@perusio @rodricels @NITEMAN_es) gave on Drupal Developer Days Barcelona 2012:



Total Views
Views on SlideShare
Embed Views



3 Embeds 7 3 2 2



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Beat the devil: towards a Drupal performance benchmark Beat the devil: towards a Drupal performance benchmark Presentation Transcript

  • Beat the Deviltowards a Drupal performance benchmark
  • Well kill a lot of sacred cows
  • the murder weapon will be Occams razor
  • which amounts to theprinciple of least effort
  • laziness is good
  • hopefully in the end youll be puzzled
  • good things happen to puzzled people who obsess
  • simplest laziest easiest
  • performance is for everyone
  • do you haveperformance issues?
  • system thinking
  • mathematics is for everyone
  • request per second vsseconds per request
  • MTTR Mean Time To Recovery vs MTBFMean Time Between Failure
  • do you monitor live system performance?
  • live monitoring toolsMuninCacti
  • drupal accesslog tablehas tons of useful data
  • beware the logslogstash / graylog aggregate them
  • economics costs perrequest/volume/peek operational costsReturn On Investment
  • were talking about $peed$peed = cost_effective_performance
  • slowness downtime operationscosts you money
  • its not thetools you haveits the use youmake of them
  • have you benchmarked your Drupal?
  • complex is easy and fragilesimple is hard and resilient Keep It Simple Stupid
  • Know your stack Know your targetsMonitor your performance
  • find where the problems aredont fix things that arent broken the worse the first one change a time & keep a log of your actions
  • dissecting frontend vs backend backend static vs dynamic dynamicprocessing vs data gather
  • beyond development & operationsgood developers are those that take all aspects in consideration
  • test systemskeep everything as close as possible to production
  • test systems take advantage ofconfiguration management to reproduce your live infrastructure
  • test systems some software has its performance directlytied to the number of cores and/or the amount of RAM
  • sacred cow of frontendCDN (expiration logic)cloud servers
  • frontend vs backendnumber of req. / parallelizationblocking eventsdata side: DNS resolutiondata side: download timedata side: size / weightorder matters
  • frontend vs backend tools Firebug Chrome tools Google Speed Tracer YslowWeb services [*] [*] [*] [*]
  • sacred cow of backendload 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 PHPHipHop (hacked libs)PHP Extensions (C / PECL)
  • sacred cow of PHP APC Tuning profile, profile, profile and profile upgrading PHP version (if youre brave)
  • dynamicprocessing vs data gather locks difficult to dissect devel
  • benchmarking / profiling PHP Xdebug Webgrind Xhprof dont even try without an opcode cache & remember the hard disk
  • sacred cow of databases NoSQL denormalization sharding
  • sacred cow of databasesNoSQL => helps with writesdenormalization => helps with HUGE DBssharding => helps with Big DBs
  • MySQL Tune & Benchmarkingtools toolkit [*] (formerly maat-kit)tcpdump + Percona toolkitLogs 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/Odynamic content (php) depends on CPUdatabase server mainly depends on RAM
  • extra balls:Drupal known issues (DB): Watchdog, sessions,accesslog... history...Please do stress, load & stability tests regularlyin 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."