SlideShare a Scribd company logo
1 of 43
Download to read offline
A Perfect Launch, 
Every Time 
DrupalCamp LA 2014
What is a perfect launch? 
• Schedule - On Time 
• Cost - On Budget 
• Scope - On Plan
Why should you care?
A Perfect Launch Recipe 
Launch Team 
• Onboarding 
Launch Check 
• Best Practices 
Load Test 
• Performance Tuning
Launch Team 
Onboarding
How we prepare for launch 
Goal: Get rid of all the “uh-oh” moments 
Method: Launch Team 
Stakeholders: 
• Project Manager - scheduling, best practices 
• Developer - platform knowledge, integration 
• Sys Admin - responsibilities, delegation 
• Business owner - flawless launch
Have a system and tools 
Specify common workflow requirements 
• Repeatable tasks, delegatable 
Project management - Wrike, JIRA, Redmine, Trello 
Orientation logistics 
• Scheduling - calendar, deadlines 
• Real-time communication 
• Phone, Video Conference, GoToMeeting, IRC 
• Training - documentation, Slides, Videos
Mapping the terrain 
Scoping of responsibilities 
• Reduce confusion, set stage 
Channels of communication 
• Define emergency procedures 
• Issue tracking as primary inbox 
Staying in touch 
• Available, open, and regular 
• Proactive
Launch Check 
Best Practices
What is Site Audit? 
Drupal 7 static analysis 
• https://drupal.org/project/site_audit 
Best practices 
Actionable report 
Vendor agnostic 
• Optional Pantheon specific recommendations
What can an audit analyze? 
• Drupal caching settings 
• Codebase and file size 
• Database structure 
• Modules, including duplicate / missing 
• Non-standard code structures 
• Views caching 
• Watchdog logs
Drupal caching settings
Drupal cron
Drupal’s database
Extensions (modules & themes)
Views
Watchdog
Test Configuration 
Simple Drupal 7 site 
Apache Bench 
• 10,000 requests to home page (5 concurrent) 
Warmed cache, cleared watchdog 
Comparison 
• Bad config, 1 PHP notice and warning in theme 
• Good config, no PHP notices or warnings
Result? Doubled performance. 
Performance Comparison Bad Config Good Config 
Load Time (min) 20:52 10:25 
Requests per second 7.98 15.99 
Time per request (ms) 626.192 312.780
Good configuration matters.
Load Testing 
Performance Tuning
Why load test? 
Validate response times under peak load 
Smoke - operations under normal load 
Stress - behavior past peak load 
• Spike - short bursts 
Capacity - plan for growth
Who should execute load tests? 
Developers execute 
Involve stakeholders
Tools for load testing 
DIY and simple 
• Apache Bench - http://httpd.apache.org/docs/2.2/ 
programs/ab.html 
Complex / dynamic 
• Apache JMeter - https://jmeter.apache.org/ 
• Load Impact - https://loadimpact.com/ 
• Load Storm - http://loadstorm.com/
When should I load test? 
Baseline 
Tools 
• Xdebug - http://xdebug.org/ 
• Webgrind - https://github.com/jokkedk/webgrind 
• Devel - https://drupal.org/project/devel 
• Syslog 
• Watchdog 
• New Relic - http://newrelic.com/ 
Incrementally during development
Where do I perform load tests? 
Live environment 
• Bandwidth 
Resource limitations 
SaaS load testing solutions
What to expect during & after 
• Benchmark often 
• Datapoints 
• Aggregate 
• Be reasonable 
• Numbers should dictate expectations 
• Back-end 
• Google Analytics
Caching 
Opcode Cache 
• APC, Zend Opcache, eAccelerator 
Backends 
• Memcached, Redis, MongoDB, file system, APC 
Front-end caching 
• Varnish, Squid, reverse-proxy CDNs
Redis: Engage!
Anonymous page caching: Disabled!
Testing Varnish with cURL
PHP Slow Log
Nginx error log
MySQL slow log 
# Time: 130320 7:30:26 
# User@Host: db_user[db_database] @ localhost [] 
# Query_time: 4.545309 Lock_time: 0.000069 Rows_sent: 219 
Rows_examined: 254 
SET timestamp=1363779026; 
SELECT option_name, option_value FROM wp_options 
WHERE autoload = 'yes';
Pay attention to watchdog 
6652 11/Oct 15:05 warning php Warning: Cannot modify header 
information - headers already sent by (output started at /srv/ 
www/code/includes/common.inc:2700) in drupal_goto() (line 
! 
6643 11/Oct 14:21 notice php Notice: Trying to get property of 
non-object in cap_ui_preprocess_page() (line 27 of /srv/www/code/ 
sites/all/themes/cap_ui/template.php). 
! 
6595 11/Oct 13:00 notice php Notice: Unknown: Can not 
authenticate to IMAP server: [AUTHENTICATIONFAILED] Invalid 
credentials (Failure) (errflg=2) in main() (line of ).
Good load test
Bad load test
Interpreting results 
Hard numbers 
Business impact
A Perfect Launch, Every Time
Thank you! Questions? 
@SuzanneAldrich 
@GetPantheon 
irc.freenode.net #pantheon 
getpantheon.com

More Related Content

What's hot

Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Severalnines
 

What's hot (20)

HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011HTTP cache @ PUG Rome 03-29-2011
HTTP cache @ PUG Rome 03-29-2011
 
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
Webinar slides: MySQL & MariaDB load balancing with ProxySQL & ClusterControl...
 
Speed Matters
Speed MattersSpeed Matters
Speed Matters
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
 
Startup DevOps - Jon Milsom Pitchero - Leeds DevOps - August 2014
Startup DevOps - Jon Milsom Pitchero - Leeds DevOps - August 2014Startup DevOps - Jon Milsom Pitchero - Leeds DevOps - August 2014
Startup DevOps - Jon Milsom Pitchero - Leeds DevOps - August 2014
 
Technical guidance in SaaS Startups
Technical guidance in SaaS StartupsTechnical guidance in SaaS Startups
Technical guidance in SaaS Startups
 
Improving Drupal Performances
Improving Drupal PerformancesImproving Drupal Performances
Improving Drupal Performances
 
Reverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and VarnishReverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and Varnish
 
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
 
Ui perf
Ui perfUi perf
Ui perf
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
KoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbegan
KoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbeganKoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbegan
KoprowskiT_SQLSaturdayManchester_2AMaDisasterJustbegan
 
Moving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learntMoving faster with CI/CD: Best DevOps practices and lessons learnt
Moving faster with CI/CD: Best DevOps practices and lessons learnt
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
BTV PHP - Building Fast Websites
BTV PHP - Building Fast WebsitesBTV PHP - Building Fast Websites
BTV PHP - Building Fast Websites
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
 
Delivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWSDelivering High-Availability Web Services with NGINX Plus on AWS
Delivering High-Availability Web Services with NGINX Plus on AWS
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 

Similar to DrupalCamp LA 2014 - A Perfect Launch, Every Time

Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Suzanne Aldrich
 
SANDcamp 2014 - A Perfect Launch, Every Time
SANDcamp 2014 - A Perfect Launch, Every TimeSANDcamp 2014 - A Perfect Launch, Every Time
SANDcamp 2014 - A Perfect Launch, Every Time
Jon Peck
 

Similar to DrupalCamp LA 2014 - A Perfect Launch, Every Time (20)

Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
 
DrupalCon 2014: A Perfect Launch, Every Time
DrupalCon 2014: A Perfect Launch, Every TimeDrupalCon 2014: A Perfect Launch, Every Time
DrupalCon 2014: A Perfect Launch, Every Time
 
SANDcamp 2014 - A Perfect Launch, Every Time
SANDcamp 2014 - A Perfect Launch, Every TimeSANDcamp 2014 - A Perfect Launch, Every Time
SANDcamp 2014 - A Perfect Launch, Every Time
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
Chill, Distill, No Overkill: Best Practices to Stress Test Kafka with Siva Ku...
 
Project Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on DockerProject Sherpa: How RightScale Went All in on Docker
Project Sherpa: How RightScale Went All in on Docker
 
Keeping up with PHP
Keeping up with PHPKeeping up with PHP
Keeping up with PHP
 
Application Performance Management
Application Performance ManagementApplication Performance Management
Application Performance Management
 
DockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopDockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging Workshop
 
VMworld 2013: Building a Validation Factory for VMware Partners
VMworld 2013: Building a Validation Factory for VMware Partners VMworld 2013: Building a Validation Factory for VMware Partners
VMworld 2013: Building a Validation Factory for VMware Partners
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
Performance management
Performance managementPerformance management
Performance management
 
Production Ready Microservices at Scale
Production Ready Microservices at ScaleProduction Ready Microservices at Scale
Production Ready Microservices at Scale
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Cognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & TricksCognos Performance Tuning Tips & Tricks
Cognos Performance Tuning Tips & Tricks
 
Speeding Up The Snail
Speeding Up The SnailSpeeding Up The Snail
Speeding Up The Snail
 
Improving the Design of Existing Software
Improving the Design of Existing SoftwareImproving the Design of Existing Software
Improving the Design of Existing Software
 

Recently uploaded

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
imonikaupta
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 

Recently uploaded (20)

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort ServiceEnjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
Enjoy Night⚡Call Girls Dlf City Phase 3 Gurgaon >༒8448380779 Escort Service
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Prashant Vihar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRLLucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
Lucknow ❤CALL GIRL 88759*99948 ❤CALL GIRLS IN Lucknow ESCORT SERVICE❤CALL GIRL
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 

DrupalCamp LA 2014 - A Perfect Launch, Every Time

  • 1. A Perfect Launch, Every Time DrupalCamp LA 2014
  • 2. What is a perfect launch? • Schedule - On Time • Cost - On Budget • Scope - On Plan
  • 4. A Perfect Launch Recipe Launch Team • Onboarding Launch Check • Best Practices Load Test • Performance Tuning
  • 6. How we prepare for launch Goal: Get rid of all the “uh-oh” moments Method: Launch Team Stakeholders: • Project Manager - scheduling, best practices • Developer - platform knowledge, integration • Sys Admin - responsibilities, delegation • Business owner - flawless launch
  • 7. Have a system and tools Specify common workflow requirements • Repeatable tasks, delegatable Project management - Wrike, JIRA, Redmine, Trello Orientation logistics • Scheduling - calendar, deadlines • Real-time communication • Phone, Video Conference, GoToMeeting, IRC • Training - documentation, Slides, Videos
  • 8. Mapping the terrain Scoping of responsibilities • Reduce confusion, set stage Channels of communication • Define emergency procedures • Issue tracking as primary inbox Staying in touch • Available, open, and regular • Proactive
  • 9.
  • 10. Launch Check Best Practices
  • 11. What is Site Audit? Drupal 7 static analysis • https://drupal.org/project/site_audit Best practices Actionable report Vendor agnostic • Optional Pantheon specific recommendations
  • 12. What can an audit analyze? • Drupal caching settings • Codebase and file size • Database structure • Modules, including duplicate / missing • Non-standard code structures • Views caching • Watchdog logs
  • 13.
  • 18. Views
  • 20. Test Configuration Simple Drupal 7 site Apache Bench • 10,000 requests to home page (5 concurrent) Warmed cache, cleared watchdog Comparison • Bad config, 1 PHP notice and warning in theme • Good config, no PHP notices or warnings
  • 21. Result? Doubled performance. Performance Comparison Bad Config Good Config Load Time (min) 20:52 10:25 Requests per second 7.98 15.99 Time per request (ms) 626.192 312.780
  • 24. Why load test? Validate response times under peak load Smoke - operations under normal load Stress - behavior past peak load • Spike - short bursts Capacity - plan for growth
  • 25. Who should execute load tests? Developers execute Involve stakeholders
  • 26. Tools for load testing DIY and simple • Apache Bench - http://httpd.apache.org/docs/2.2/ programs/ab.html Complex / dynamic • Apache JMeter - https://jmeter.apache.org/ • Load Impact - https://loadimpact.com/ • Load Storm - http://loadstorm.com/
  • 27. When should I load test? Baseline Tools • Xdebug - http://xdebug.org/ • Webgrind - https://github.com/jokkedk/webgrind • Devel - https://drupal.org/project/devel • Syslog • Watchdog • New Relic - http://newrelic.com/ Incrementally during development
  • 28. Where do I perform load tests? Live environment • Bandwidth Resource limitations SaaS load testing solutions
  • 29. What to expect during & after • Benchmark often • Datapoints • Aggregate • Be reasonable • Numbers should dictate expectations • Back-end • Google Analytics
  • 30. Caching Opcode Cache • APC, Zend Opcache, eAccelerator Backends • Memcached, Redis, MongoDB, file system, APC Front-end caching • Varnish, Squid, reverse-proxy CDNs
  • 34.
  • 37. MySQL slow log # Time: 130320 7:30:26 # User@Host: db_user[db_database] @ localhost [] # Query_time: 4.545309 Lock_time: 0.000069 Rows_sent: 219 Rows_examined: 254 SET timestamp=1363779026; SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes';
  • 38. Pay attention to watchdog 6652 11/Oct 15:05 warning php Warning: Cannot modify header information - headers already sent by (output started at /srv/ www/code/includes/common.inc:2700) in drupal_goto() (line ! 6643 11/Oct 14:21 notice php Notice: Trying to get property of non-object in cap_ui_preprocess_page() (line 27 of /srv/www/code/ sites/all/themes/cap_ui/template.php). ! 6595 11/Oct 13:00 notice php Notice: Unknown: Can not authenticate to IMAP server: [AUTHENTICATIONFAILED] Invalid credentials (Failure) (errflg=2) in main() (line of ).
  • 41. Interpreting results Hard numbers Business impact
  • 42. A Perfect Launch, Every Time
  • 43. Thank you! Questions? @SuzanneAldrich @GetPantheon irc.freenode.net #pantheon getpantheon.com