SlideShare a Scribd company logo
@mlteal | #WCOC | 2019
Optimize All
The Things!
A Developer’s Guide to Site Performance Optimization
@mlteal | #WCOC | 2019
Maura Teal (@mlteal)
Software Developer
at Pagely and NorthStack
@mlteal | #WCOC | 2019
@mlteal | #WCOC | 2019
What are we optimizing for?
@mlteal | #WCOC | 2019
What are we optimizing for?
Business
1. https://www.thinkwithgoogle.com/intl/en-154/insights-inspiration/research-data/need-mobile-speed-how-mobile-latency-impacts-publisher-revenue/
2. https://developers.google.com/web/fundamentals/performance/why-performance-matters/
• Increase revenue
• Retain users
• Stabilize hosting costs
@mlteal | #WCOC | 2019
What are we optimizing for?
Humans
1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/
• Accessibility
• Location, speed, and data limitations
• Device limitations
@mlteal | #WCOC | 2019
What are we optimizing for?
Search
1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/
2. https://moz.com/learn/seo/page-speed
• Search engines crawl sites
and assess performance
along the way
@mlteal | #WCOC | 2019
Where do we start?
• Google PageSpeed tools

https://developers.google.com/speed/
• GTmetrix https://gtmetrix.com/
• WebPageTest https://www.webpagetest.org/
• Pingdom https://www.pingdom.com/
1. https://gtmetrix.com/blog/the-difference-between-gtmetrix-pagespeed-insights-pingdom-tools-and-webpagetest/
@mlteal | #WCOC | 2019
Site Speed vs. Page Speed
1. https://moz.com/learn/seo/page-speed
Where do we start?
@mlteal | #WCOC | 2019
Where do we start?
@mlteal | #WCOC | 2019
Where do we start?
@mlteal | #WCOC | 2019
What version of PHP are you running?
1. http://php.net/supported-versions.php
2. https://make.wordpress.org/core/2015/09/10/wordpress-and-php7/
3. https://make.wordpress.org/core/2018/10/15/wordpress-and-php-7-3/
Distribute Everything!
@mlteal | #WCOC | 2019
Use a Content Delivery Network
• CloudFlare, Sucuri, Fastly, host-provided
• Alternatively: CloudFront, Akamai, Rackspace,
Google
Cache Everything!
@mlteal | #WCOC | 2019
Full page caching
• Many CDN’s provide this too (Full Site Acceleration)
• Managed WP Hosts
• WP plugins (W3 Total Cache, WP Rocket, etc)
• Challenging on ecommerce
Image Optimization
@mlteal | #WCOC | 2019
Asset Optimization
@mlteal | #WCOC | 2019
1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/
2. https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/
• Minify HTML, JS, and CSS
• Concatenate files when possible
• Limit frivolous scripts
@mlteal | #WCOC | 2019
Advanced Mode: Frontend
• Start with Chrome Dev Tools
• Network & performance
tabs provide great info
@mlteal | #WCOC | 2019
Advanced Mode: Databases
@mlteal | #WCOC | 2019
• Not all MYSQL queries are created equal
• Use indexes!
Advanced Mode: Databases
@mlteal | #WCOC | 2019
• Linux setups are considered standard
• Apache, NGINX, or combo for routing
• Location, location, location
Advanced Mode: Server
@mlteal | #WCOC | 2019
• New Relic https://newrelic.com/

paid, in-depth traces for PHP and SQL
• Datadog https://www.datadoghq.com/

paid, alternative to New Relic
• Grafana https://grafana.com

open source, highly customizable server-level analytics
Advanced Mode: Tools 🔨⏰
@mlteal | #WCOC | 2019
• Assess the growth type to determine direction of
scale
• Horizontal with DB replication: many users
consuming, but not altering, content
• Vertical with only master DB to handle writes:
Many authors, constant updates that likely overlap
• Handle spikes in all cases
Advanced Mode: Scaling
Food for Thought
@mlteal | #WCOC | 2019
Performance vs Reliability
Food for Thought
@mlteal | #WCOC | 2019
Premature Optimization
• Utilizing certain code patterns affects
performance, but generally are minor
• Human readability and usability are more
important, think optimizing workflow and
improving things like testing processes
@mlteal | #WCOC | 2019
You’ve fixed your code, and you’ve set
up your servers, what more can you do?
Cache more things!
Monitor performance
Improve 3rd party script usage
@mlteal | #WCOC | 2019
Questions?
@mlteal | #WCOC | 2019
Maura Teal
@mlteal

More Related Content

What's hot

Spangulumbraco
SpangulumbracoSpangulumbraco
Spangulumbraco
Filip Bruun Bech-Larsen
 
An Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based ServicesAn Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based Services
webmapsolutions
 
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
Esri UK
 
SQLSaturday 541 - Extending Power BI
SQLSaturday 541 - Extending Power BISQLSaturday 541 - Extending Power BI
SQLSaturday 541 - Extending Power BI
Jan Pieter Posthuma
 
Cocoon Project Wizard
Cocoon Project WizardCocoon Project Wizard
Cocoon Project Wizard
gueste97155
 
The Startup Programme - Smart Development - Esri UK Annual Conference 2017
The Startup Programme - Smart Development - Esri UK Annual Conference 2017The Startup Programme - Smart Development - Esri UK Annual Conference 2017
The Startup Programme - Smart Development - Esri UK Annual Conference 2017
Esri UK
 
Open source web services
Open source web servicesOpen source web services
Open source web services
RTigger
 
Presentation on Siebel Power Tools
Presentation on Siebel Power ToolsPresentation on Siebel Power Tools
Presentation on Siebel Power Tools
Navin Raja
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
shubhravrat Deshpande
 
Action cable
Action cableAction cable
Action cable
Colin Rubbert
 
Enterprise Implementation & the Experience API
Enterprise Implementation & the Experience APIEnterprise Implementation & the Experience API
Enterprise Implementation & the Experience API
Ali Shahrazad
 
Word press caching shakir
Word press caching   shakirWord press caching   shakir
Word press caching shakir
Shakir Ali
 

What's hot (12)

Spangulumbraco
SpangulumbracoSpangulumbraco
Spangulumbraco
 
An Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based ServicesAn Overview of Web GIS and Location Based Services
An Overview of Web GIS and Location Based Services
 
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
Introduction to Apps for Smarter Working - Smart Working - Esri UK Annual Con...
 
SQLSaturday 541 - Extending Power BI
SQLSaturday 541 - Extending Power BISQLSaturday 541 - Extending Power BI
SQLSaturday 541 - Extending Power BI
 
Cocoon Project Wizard
Cocoon Project WizardCocoon Project Wizard
Cocoon Project Wizard
 
The Startup Programme - Smart Development - Esri UK Annual Conference 2017
The Startup Programme - Smart Development - Esri UK Annual Conference 2017The Startup Programme - Smart Development - Esri UK Annual Conference 2017
The Startup Programme - Smart Development - Esri UK Annual Conference 2017
 
Open source web services
Open source web servicesOpen source web services
Open source web services
 
Presentation on Siebel Power Tools
Presentation on Siebel Power ToolsPresentation on Siebel Power Tools
Presentation on Siebel Power Tools
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
 
Action cable
Action cableAction cable
Action cable
 
Enterprise Implementation & the Experience API
Enterprise Implementation & the Experience APIEnterprise Implementation & the Experience API
Enterprise Implementation & the Experience API
 
Word press caching shakir
Word press caching   shakirWord press caching   shakir
Word press caching shakir
 

Similar to Optimize All the Things WCOC 2019

ASP.NET MVC 4 Introduction
ASP.NET MVC 4 IntroductionASP.NET MVC 4 Introduction
ASP.NET MVC 4 Introduction
Lohith Goudagere Nagaraj
 
resume
resumeresume
resume
Brent Ransom
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
Batista Harahap
 
Template for zama
Template for zamaTemplate for zama
Template for zama
Mohammed Khan- Zain
 
Xtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceXtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conference
Michael Oryszak
 
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
yalisassoon
 
The Business Case for Speed
The Business Case for SpeedThe Business Case for Speed
The Business Case for Speed
SiriusWay
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content Authors
Rachel Wandishin
 
RightScale Roadtrip - Accelerate to Cloud
RightScale Roadtrip - Accelerate to CloudRightScale Roadtrip - Accelerate to Cloud
RightScale Roadtrip - Accelerate to Cloud
RightScale
 
Capstone_Story.pptx
Capstone_Story.pptxCapstone_Story.pptx
Capstone_Story.pptx
ssuser7d80ea
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
Vadym Kazulkin
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
Roy Wasse
 
Case Study - Building a Website for Vocational Training and Education
Case Study - Building a Website for Vocational Training and EducationCase Study - Building a Website for Vocational Training and Education
Case Study - Building a Website for Vocational Training and Education
Kentico Software
 
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Christian Posta
 
Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13
Konrad Roeder
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
Rafael Casuso Romate
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Callon Campbell
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?
Dan Sullivan, Ph.D.
 
Techniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloudTechniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloud
Akshay Mathur
 
Microsoft SharePoint Presentation from All Covered
Microsoft SharePoint Presentation from All CoveredMicrosoft SharePoint Presentation from All Covered
Microsoft SharePoint Presentation from All Covered
All Covered
 

Similar to Optimize All the Things WCOC 2019 (20)

ASP.NET MVC 4 Introduction
ASP.NET MVC 4 IntroductionASP.NET MVC 4 Introduction
ASP.NET MVC 4 Introduction
 
resume
resumeresume
resume
 
Urbanesia - Development History
Urbanesia - Development HistoryUrbanesia - Development History
Urbanesia - Development History
 
Template for zama
Template for zamaTemplate for zama
Template for zama
 
Xtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conferenceXtending nintex workflow cloud w azure functions - xchange conference
Xtending nintex workflow cloud w azure functions - xchange conference
 
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
Analytics at Carbonite: presentation to Snowplow Meetup Boston April 2016
 
The Business Case for Speed
The Business Case for SpeedThe Business Case for Speed
The Business Case for Speed
 
Demystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content AuthorsDemystifying Decoupled Drupal for Developers & Content Authors
Demystifying Decoupled Drupal for Developers & Content Authors
 
RightScale Roadtrip - Accelerate to Cloud
RightScale Roadtrip - Accelerate to CloudRightScale Roadtrip - Accelerate to Cloud
RightScale Roadtrip - Accelerate to Cloud
 
Capstone_Story.pptx
Capstone_Story.pptxCapstone_Story.pptx
Capstone_Story.pptx
 
Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...Measure and Increase Developer Productivity with Help of Serverless at Server...
Measure and Increase Developer Productivity with Help of Serverless at Server...
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
Case Study - Building a Website for Vocational Training and Education
Case Study - Building a Website for Vocational Training and EducationCase Study - Building a Website for Vocational Training and Education
Case Study - Building a Website for Vocational Training and Education
 
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
 
Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13Web tech weblamp_infosession_2012-13
Web tech weblamp_infosession_2012-13
 
Rise and Fall of the Frontend Developer
Rise and Fall of the Frontend DeveloperRise and Fall of the Frontend Developer
Rise and Fall of the Frontend Developer
 
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?With Automated ML, is Everyone an ML Engineer?
With Automated ML, is Everyone an ML Engineer?
 
Techniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloudTechniques for scaling application with security and visibility in cloud
Techniques for scaling application with security and visibility in cloud
 
Microsoft SharePoint Presentation from All Covered
Microsoft SharePoint Presentation from All CoveredMicrosoft SharePoint Presentation from All Covered
Microsoft SharePoint Presentation from All Covered
 

Recently uploaded

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
Adam Dunkels
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 

Recently uploaded (20)

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
How to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptxHow to Build a Profitable IoT Product.pptx
How to Build a Profitable IoT Product.pptx
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 

Optimize All the Things WCOC 2019

  • 1. @mlteal | #WCOC | 2019 Optimize All The Things! A Developer’s Guide to Site Performance Optimization
  • 2. @mlteal | #WCOC | 2019 Maura Teal (@mlteal) Software Developer at Pagely and NorthStack
  • 4. @mlteal | #WCOC | 2019 What are we optimizing for?
  • 5. @mlteal | #WCOC | 2019 What are we optimizing for? Business 1. https://www.thinkwithgoogle.com/intl/en-154/insights-inspiration/research-data/need-mobile-speed-how-mobile-latency-impacts-publisher-revenue/ 2. https://developers.google.com/web/fundamentals/performance/why-performance-matters/ • Increase revenue • Retain users • Stabilize hosting costs
  • 6. @mlteal | #WCOC | 2019 What are we optimizing for? Humans 1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/ • Accessibility • Location, speed, and data limitations • Device limitations
  • 7. @mlteal | #WCOC | 2019 What are we optimizing for? Search 1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/ 2. https://moz.com/learn/seo/page-speed • Search engines crawl sites and assess performance along the way
  • 8. @mlteal | #WCOC | 2019 Where do we start? • Google PageSpeed tools
 https://developers.google.com/speed/ • GTmetrix https://gtmetrix.com/ • WebPageTest https://www.webpagetest.org/ • Pingdom https://www.pingdom.com/ 1. https://gtmetrix.com/blog/the-difference-between-gtmetrix-pagespeed-insights-pingdom-tools-and-webpagetest/
  • 9. @mlteal | #WCOC | 2019 Site Speed vs. Page Speed 1. https://moz.com/learn/seo/page-speed Where do we start?
  • 10. @mlteal | #WCOC | 2019 Where do we start?
  • 11. @mlteal | #WCOC | 2019 Where do we start?
  • 12. @mlteal | #WCOC | 2019 What version of PHP are you running? 1. http://php.net/supported-versions.php 2. https://make.wordpress.org/core/2015/09/10/wordpress-and-php7/ 3. https://make.wordpress.org/core/2018/10/15/wordpress-and-php-7-3/
  • 13. Distribute Everything! @mlteal | #WCOC | 2019 Use a Content Delivery Network • CloudFlare, Sucuri, Fastly, host-provided • Alternatively: CloudFront, Akamai, Rackspace, Google
  • 14. Cache Everything! @mlteal | #WCOC | 2019 Full page caching • Many CDN’s provide this too (Full Site Acceleration) • Managed WP Hosts • WP plugins (W3 Total Cache, WP Rocket, etc) • Challenging on ecommerce
  • 16. Asset Optimization @mlteal | #WCOC | 2019 1. https://developers.google.com/web/fundamentals/performance/why-performance-matters/ 2. https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/ • Minify HTML, JS, and CSS • Concatenate files when possible • Limit frivolous scripts
  • 17. @mlteal | #WCOC | 2019 Advanced Mode: Frontend • Start with Chrome Dev Tools • Network & performance tabs provide great info
  • 18. @mlteal | #WCOC | 2019 Advanced Mode: Databases
  • 19. @mlteal | #WCOC | 2019 • Not all MYSQL queries are created equal • Use indexes! Advanced Mode: Databases
  • 20. @mlteal | #WCOC | 2019 • Linux setups are considered standard • Apache, NGINX, or combo for routing • Location, location, location Advanced Mode: Server
  • 21. @mlteal | #WCOC | 2019 • New Relic https://newrelic.com/
 paid, in-depth traces for PHP and SQL • Datadog https://www.datadoghq.com/
 paid, alternative to New Relic • Grafana https://grafana.com
 open source, highly customizable server-level analytics Advanced Mode: Tools 🔨⏰
  • 22. @mlteal | #WCOC | 2019 • Assess the growth type to determine direction of scale • Horizontal with DB replication: many users consuming, but not altering, content • Vertical with only master DB to handle writes: Many authors, constant updates that likely overlap • Handle spikes in all cases Advanced Mode: Scaling
  • 23. Food for Thought @mlteal | #WCOC | 2019 Performance vs Reliability
  • 24. Food for Thought @mlteal | #WCOC | 2019 Premature Optimization • Utilizing certain code patterns affects performance, but generally are minor • Human readability and usability are more important, think optimizing workflow and improving things like testing processes
  • 25. @mlteal | #WCOC | 2019 You’ve fixed your code, and you’ve set up your servers, what more can you do? Cache more things! Monitor performance Improve 3rd party script usage
  • 26. @mlteal | #WCOC | 2019 Questions?
  • 27. @mlteal | #WCOC | 2019 Maura Teal @mlteal