SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
A Perfect Launch,
Every Time
Stanford DrupalCamp 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
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?
@getpantheon
irc.freenode.net #pantheon
getpantheon.com

Más contenido relacionado

La actualidad más candente

Agile Resourcing
Agile ResourcingAgile Resourcing
Agile ResourcingCprime
 
Canary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release OftenCanary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release OftenC4Media
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneDashlane
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS FrameworkCode Mastery
 
Scrum Control or Kanban Agility? You Can Have both, Using Metrics
Scrum Control or Kanban Agility? You Can Have both, Using MetricsScrum Control or Kanban Agility? You Can Have both, Using Metrics
Scrum Control or Kanban Agility? You Can Have both, Using MetricsAtlassian
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous DeliveryXebiaLabs
 
Embrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your OrganizationEmbrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your OrganizationPaul Osman
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemGus Prestera
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1colleenfry
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefingRavi Tadwalkar
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
Scrum in Distributed Teams
Scrum in Distributed TeamsScrum in Distributed Teams
Scrum in Distributed TeamsCprime
 
Leveraging HP Performance Center
Leveraging HP Performance CenterLeveraging HP Performance Center
Leveraging HP Performance CenterMartin Spier
 
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Agile Greece
 
Webinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiWebinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiCygnet Infotech
 
DevOps, CLI, APIs, Oh My! Security Gone Agile
DevOps, CLI, APIs, Oh My!  Security Gone AgileDevOps, CLI, APIs, Oh My!  Security Gone Agile
DevOps, CLI, APIs, Oh My! Security Gone AgileMatt Tesauro
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...QASymphony
 
Fundamentals of agile tntu (2015-04-27)
Fundamentals of agile   tntu (2015-04-27)Fundamentals of agile   tntu (2015-04-27)
Fundamentals of agile tntu (2015-04-27)Oleg Nazarevych
 
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...Agile Greece
 

La actualidad más candente (20)

Agile Resourcing
Agile ResourcingAgile Resourcing
Agile Resourcing
 
Canary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release OftenCanary Analyze All The Things: How We Learned to Keep Calm and Release Often
Canary Analyze All The Things: How We Learned to Keep Calm and Release Often
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
 
Devops Mindset Essentials
Devops Mindset EssentialsDevops Mindset Essentials
Devops Mindset Essentials
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS Framework
 
Scrum Control or Kanban Agility? You Can Have both, Using Metrics
Scrum Control or Kanban Agility? You Can Have both, Using MetricsScrum Control or Kanban Agility? You Can Have both, Using Metrics
Scrum Control or Kanban Agility? You Can Have both, Using Metrics
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
Embrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your OrganizationEmbrace Chaos - Introducing Chaos Engineering to your Organization
Embrace Chaos - Introducing Chaos Engineering to your Organization
 
Pricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter ThemPricing Pitfalls...and How to Counter Them
Pricing Pitfalls...and How to Counter Them
 
W4 0245 agility_v1
W4 0245 agility_v1W4 0245 agility_v1
W4 0245 agility_v1
 
Distributed agile- exec level briefing
Distributed agile- exec level briefingDistributed agile- exec level briefing
Distributed agile- exec level briefing
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Scrum in Distributed Teams
Scrum in Distributed TeamsScrum in Distributed Teams
Scrum in Distributed Teams
 
Leveraging HP Performance Center
Leveraging HP Performance CenterLeveraging HP Performance Center
Leveraging HP Performance Center
 
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
Ralph Jocham, effective agile - Scaled Scrum at Swiss Postal Services | Agile...
 
Webinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roiWebinar agile-spring-maximum-roi
Webinar agile-spring-maximum-roi
 
DevOps, CLI, APIs, Oh My! Security Gone Agile
DevOps, CLI, APIs, Oh My!  Security Gone AgileDevOps, CLI, APIs, Oh My!  Security Gone Agile
DevOps, CLI, APIs, Oh My! Security Gone Agile
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
Fundamentals of agile tntu (2015-04-27)
Fundamentals of agile   tntu (2015-04-27)Fundamentals of agile   tntu (2015-04-27)
Fundamentals of agile tntu (2015-04-27)
 
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
Improving Agility (Learning from Maersk Line's Journey) | Özlem Yüce | Agile ...
 

Destacado

Produce the Perfect Product Launch
Produce the Perfect Product LaunchProduce the Perfect Product Launch
Produce the Perfect Product LaunchThe Marx Group
 
When do drug patents expire and when can generic drugs launch?
When do drug patents expire and when can generic drugs launch?When do drug patents expire and when can generic drugs launch?
When do drug patents expire and when can generic drugs launch?thinkBiotech
 
Marketing Plan Final
Marketing Plan FinalMarketing Plan Final
Marketing Plan Finalleilajannati
 
How To Launch A Product: 7 Tips To Drive Demand
How To Launch A Product: 7 Tips To Drive DemandHow To Launch A Product: 7 Tips To Drive Demand
How To Launch A Product: 7 Tips To Drive DemandDrift
 

Destacado (6)

Knowledge management
Knowledge managementKnowledge management
Knowledge management
 
Produce the Perfect Product Launch
Produce the Perfect Product LaunchProduce the Perfect Product Launch
Produce the Perfect Product Launch
 
When do drug patents expire and when can generic drugs launch?
When do drug patents expire and when can generic drugs launch?When do drug patents expire and when can generic drugs launch?
When do drug patents expire and when can generic drugs launch?
 
Marketing Plan Final
Marketing Plan FinalMarketing Plan Final
Marketing Plan Final
 
How To Launch A Product: 7 Tips To Drive Demand
How To Launch A Product: 7 Tips To Drive DemandHow To Launch A Product: 7 Tips To Drive Demand
How To Launch A Product: 7 Tips To Drive Demand
 
MARKETING POWERPOINT
MARKETING POWERPOINTMARKETING POWERPOINT
MARKETING POWERPOINT
 

Similar a Stanford DrupalCamp 2014 - A Perfect Launch, Every Time

DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus WebinarAddressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus WebinarImpetus Technologies
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing ProcessSynerzip
 
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 TimePantheon
 
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...Federico Toledo
 
Agile foundation and agile myths
Agile foundation and agile mythsAgile foundation and agile myths
Agile foundation and agile mythsDennis Stevens
 
Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodologyIndra
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerAndrew Siemer
 
Reducing Release Cycle Times with Scaled Agile
Reducing Release Cycle Times with Scaled AgileReducing Release Cycle Times with Scaled Agile
Reducing Release Cycle Times with Scaled AgileColinBird
 
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 DockerRightScale
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous TestingParasoft
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauroMatt Tesauro
 
MidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeMidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeSuzanne Aldrich
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Clever Moe
 

Similar a Stanford DrupalCamp 2014 - A Perfect Launch, Every Time (20)

DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every Time
 
Addressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus WebinarAddressing Performance Testing Challenges in Agile- Impetus Webinar
Addressing Performance Testing Challenges in Agile- Impetus Webinar
 
The QA/Testing Process
The QA/Testing ProcessThe QA/Testing Process
The QA/Testing Process
 
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
 
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
 
Agile foundation and agile myths
Agile foundation and agile mythsAgile foundation and agile myths
Agile foundation and agile myths
 
SAFe and DevOps - better together
SAFe and DevOps - better togetherSAFe and DevOps - better together
SAFe and DevOps - better together
 
Apt agile methodology
Apt agile methodologyApt agile methodology
Apt agile methodology
 
QualiSystems-Brief TestShell
QualiSystems-Brief TestShellQualiSystems-Brief TestShell
QualiSystems-Brief TestShell
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Reducing Release Cycle Times with Scaled Agile
Reducing Release Cycle Times with Scaled AgileReducing Release Cycle Times with Scaled Agile
Reducing Release Cycle Times with Scaled Agile
 
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
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
No Devops Without Continuous Testing
No Devops Without Continuous TestingNo Devops Without Continuous Testing
No Devops Without Continuous Testing
 
Making security-agile matt-tesauro
Making security-agile matt-tesauroMaking security-agile matt-tesauro
Making security-agile matt-tesauro
 
MidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every TimeMidCamp 2014 - A Perfect Launch, Every Time
MidCamp 2014 - A Perfect Launch, Every Time
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
Keeping up with PHP
Keeping up with PHPKeeping up with PHP
Keeping up with PHP
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 

Último

『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxMario
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxNIMMANAGANTI RAMAKRISHNA
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119APNIC
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesLumiverse Solutions Pvt Ltd
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxmibuzondetrabajo
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxAndrieCagasanAkio
 

Último (9)

『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
Company Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptxCompany Snapshot Theme for Business by Slidesgo.pptx
Company Snapshot Theme for Business by Slidesgo.pptx
 
ETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptxETHICAL HACKING dddddddddddddddfnandni.pptx
ETHICAL HACKING dddddddddddddddfnandni.pptx
 
IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119IP addressing and IPv6, presented by Paul Wilson at IETF 119
IP addressing and IPv6, presented by Paul Wilson at IETF 119
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
Cybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best PracticesCybersecurity Threats and Cybersecurity Best Practices
Cybersecurity Threats and Cybersecurity Best Practices
 
Unidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptxUnidad 4 – Redes de ordenadores (en inglés).pptx
Unidad 4 – Redes de ordenadores (en inglés).pptx
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
TRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptxTRENDS Enabling and inhibiting dimensions.pptx
TRENDS Enabling and inhibiting dimensions.pptx
 

Stanford DrupalCamp 2014 - A Perfect Launch, Every Time

  • 1. A Perfect Launch, Every Time Stanford DrupalCamp 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 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.
  • 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 ).
  • 42. A Perfect Launch, Every Time