SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
WordPress Performance
Timothy Wood @codearachnid
www.ImagineSimplicity.com || www.codearachnid.com
How do you percieve performance?
Change behavior to influence perception

Percieved Performance:   Actual Performance:
Responsive               ● Optimize
● Feedback               ● Cache
● Progressive            ● Minimize
● Escape or Distract     ● Workflow
● Describe
Low hanging fruit for WordPress:
● Frontend
   ○ Minimize
   ○ Sprites
● Caching
  ○ Asset delivery
  ○ Chunking
● Application
  ○ Theme
  ○ Plugins
● Server Setups
   ○ OS choice & tweaking
Battle of the brawn



●   Process based       ●   Event based
●   Req increase RAM    ●   RAM use is stable
●   Gobs of features    ●   Speed > features
●   More use cases      ●   no .htaccess
Like Apache, Nginx has all the features you
would expect from a leading Web server. It is
stable, secure and very easy to configure.
Real world comparisons:


                                        9794 req/5 min
                                        32 req/second
                                        Only site on fresh VPS install,
                                        with minimal graphics, scripts,
                                        css.




                                        17479 req/5 min
                                        60 req/second
                                        One of several sites on VPS,
                                        photographer portofolio, heavy
Stress tests by http://loadimpact.com   graphics, minimal scripts & css.
Real world comparisions (cont.):
But wait... There's more!
  - WP Plugin: nginx Compatibility

  - Pretty URLS:

     /etc/nginx/sites-available/nginx.conf

     if (!-e $request_filename) {
          rewrite ^ /index.php last;
     }




                                             Performance
Tips for optimizing application layer
Theme:                   Plugins:
● Simplify & Reduce      ● Delete Unused
                         ● Combine Functionality
● Keep Code Updated
                         ● Avoid Bad Plugins
● Repair MySQL DB
● Log Slow Queries
● Move CSS to top &
  Javascript to bottom
Caching with static content + CDN
Plugins:              Benefit:
● W3TC                ● At least 10x
                        improvement in site
● WP Super Cache
                        performance
● Hyper Cache         ● “Instant” second page
● DB Cache Reloaded     views
                      ● Reduced page load time
                      ● Improved web server
CDN:                    performance
● Amazon S3 &         ● Up to 80% Bandwidth
                        savings
  Cloudfront
W3 Total Cache (setup walkthrough)
1. Sign-up for Amazon S3 & Cloudfront
2. Install W3 Total Cache Plugin within
   WordPress
3. Follow W3 Total Cache Instructions within
   WordPress admin panel
4. Log in to Cloudfront control panel and create
   a Distribution for your newly created bucked
CDN explained & expounded
A content delivery network or content
distribution network (CDN) is a system of
computers containing copies of data placed at
various nodes of a network.
* The optimal number is somewhere between 1 and 5 hosts (1 main host plus 4
hosts on which to parallelize cacheable resources). As a rule of thumb, you
shouldn't use more than 1 host for fewer than 6 resources; fewer than 2
resources on a single host is especially wasteful. It should never be necessary
to use more than 5 hosts (not counting hosts serving resources over which you
have no control, such as ads). (source: Google Page Speed)
Interface polish & performance
●   Yslow, Page Speed, Speed Tracer
●   Minify and combine all CSS and JavaScript
●   gZip, image sprites, smush.it
●   Cleanup your markup
●   Improve wait messaging
What did we learn?
●   Build on a good foundation
●   Pull the weeds of unnecessary code
●   Optimize browser rendering
●   Minimize request overhead
●   Minimize round-trip times
●   Minimize payload size
●   Optimize caching
●   Change perception
Find me online:

@CODEARACHNID

Contenu connexe

Tendances

Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsBrettTasker
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPChau Thanh
 
Web Optimization Level: Paranoid
Web Optimization Level: ParanoidWeb Optimization Level: Paranoid
Web Optimization Level: Paranoidrobin_sy
 
Level Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformanceLevel Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformancePantheon
 
Design a scalable site: Problem and solutions
Design a scalable site: Problem and solutionsDesign a scalable site: Problem and solutions
Design a scalable site: Problem and solutionsChau Thanh
 
Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QADenis Dudaev
 
Implementing High Performance Drupal Sites
Implementing High Performance Drupal SitesImplementing High Performance Drupal Sites
Implementing High Performance Drupal SitesShri Kumar
 
MongoDB on EC2 and EBS
MongoDB on EC2 and EBSMongoDB on EC2 and EBS
MongoDB on EC2 and EBSJared Rosoff
 
Optimising PyroCMS for speed and performance boosts
Optimising PyroCMS for speed and performance boostsOptimising PyroCMS for speed and performance boosts
Optimising PyroCMS for speed and performance boostssaintsatplay
 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012eballisty
 
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_Nguyen Duc Phu
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance DrupalChapter Three
 

Tendances (17)

Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
 
A faster web
A faster webA faster web
A faster web
 
Zingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHPZingme practice for building scalable website with PHP
Zingme practice for building scalable website with PHP
 
Web Optimization Level: Paranoid
Web Optimization Level: ParanoidWeb Optimization Level: Paranoid
Web Optimization Level: Paranoid
 
Performance Web
Performance WebPerformance Web
Performance Web
 
Level Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress PerformanceLevel Up: 5 Expert Tips for Optimizing WordPress Performance
Level Up: 5 Expert Tips for Optimizing WordPress Performance
 
Design a scalable site: Problem and solutions
Design a scalable site: Problem and solutionsDesign a scalable site: Problem and solutions
Design a scalable site: Problem and solutions
 
Ui perf
Ui perfUi perf
Ui perf
 
Website performance optimization QA
Website performance optimization QAWebsite performance optimization QA
Website performance optimization QA
 
Implementing High Performance Drupal Sites
Implementing High Performance Drupal SitesImplementing High Performance Drupal Sites
Implementing High Performance Drupal Sites
 
web optimizations
web optimizationsweb optimizations
web optimizations
 
Memcache d
Memcache dMemcache d
Memcache d
 
MongoDB on EC2 and EBS
MongoDB on EC2 and EBSMongoDB on EC2 and EBS
MongoDB on EC2 and EBS
 
Optimising PyroCMS for speed and performance boosts
Optimising PyroCMS for speed and performance boostsOptimising PyroCMS for speed and performance boosts
Optimising PyroCMS for speed and performance boosts
 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
 
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
02 vng thanhnt-speedup_ntvv2_by_ph_pextmodule_
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 

En vedette (7)

Test
TestTest
Test
 
My presso
My pressoMy presso
My presso
 
Test Title
Test TitleTest Title
Test Title
 
Testing Test Session
Testing Test SessionTesting Test Session
Testing Test Session
 
My presso
My pressoMy presso
My presso
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 

Similaire à WordCamp RVA

WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingWordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingJelastic Multi-Cloud PaaS
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonChris Olbekson
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupAhmed Mohammed Nagdy
 
Setting up a local WordPress Environment
Setting up a local WordPress EnvironmentSetting up a local WordPress Environment
Setting up a local WordPress EnvironmentChris La Nauze
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSJohn McCormack
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun BhallaAtlassian
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it worksIlya Grigorik
 
Optimizing Your Frontend Performance
Optimizing Your Frontend PerformanceOptimizing Your Frontend Performance
Optimizing Your Frontend PerformanceThomas Weinert
 
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...Rafał Leszko
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimizationShafqat Hussain
 
Veeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Software
 
Where is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleWhere is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleRafał Leszko
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleRafał Leszko
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...javier ramirez
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordPhil Pursglove
 
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Chris Shenton
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache  architectural patterns for caching microservices by exampleWhere is my cache  architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleRafał Leszko
 

Similaire à WordCamp RVA (20)

23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress
 
WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingWordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp Houston
 
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo MeetupSpeed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
 
Setting up a local WordPress Environment
Setting up a local WordPress EnvironmentSetting up a local WordPress Environment
Setting up a local WordPress Environment
 
Data Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWSData Scotland 2019: You can run SQL Server on AWS
Data Scotland 2019: You can run SQL Server on AWS
 
Caching 101
Caching 101Caching 101
Caching 101
 
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
Kaseya Connect 2013: Optimizing Your K Server - Best Practices in Kaseya Infr...
 
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons  - Arun BhallaScaling Marketplace to 10,000 Add-Ons  - Arun Bhalla
Scaling Marketplace to 10,000 Add-Ons - Arun Bhalla
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
Optimizing Your Frontend Performance
Optimizing Your Frontend PerformanceOptimizing Your Frontend Performance
Optimizing Your Frontend Performance
 
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
[DevopsDays India 2019] Where is my cache? Architectural patterns for caching...
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimization
 
Veeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and TricksVeeam Backup & Replication Tips and Tricks
Veeam Backup & Replication Tips and Tricks
 
Where is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleWhere is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by example
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
 
ASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen OxfordASP.NET Scalability - NxtGen Oxford
ASP.NET Scalability - NxtGen Oxford
 
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
Second Skin: Real-Time Retheming a Legacy Web Application with Diazo in the C...
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache  architectural patterns for caching microservices by exampleWhere is my cache  architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 

Plus de codearachnid_test (20)

wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
2011_Fox_Tax_Worksheets.pdf
2011_Fox_Tax_Worksheets.pdf2011_Fox_Tax_Worksheets.pdf
2011_Fox_Tax_Worksheets.pdf
 
Here's my slides
Here's my slidesHere's my slides
Here's my slides
 
Testing
TestingTesting
Testing
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 
wordpress.pdf
wordpress.pdfwordpress.pdf
wordpress.pdf
 

WordCamp RVA

  • 1. WordPress Performance Timothy Wood @codearachnid www.ImagineSimplicity.com || www.codearachnid.com
  • 2. How do you percieve performance?
  • 3. Change behavior to influence perception Percieved Performance: Actual Performance: Responsive ● Optimize ● Feedback ● Cache ● Progressive ● Minimize ● Escape or Distract ● Workflow ● Describe
  • 4. Low hanging fruit for WordPress: ● Frontend ○ Minimize ○ Sprites ● Caching ○ Asset delivery ○ Chunking ● Application ○ Theme ○ Plugins ● Server Setups ○ OS choice & tweaking
  • 5. Battle of the brawn ● Process based ● Event based ● Req increase RAM ● RAM use is stable ● Gobs of features ● Speed > features ● More use cases ● no .htaccess Like Apache, Nginx has all the features you would expect from a leading Web server. It is stable, secure and very easy to configure.
  • 6. Real world comparisons: 9794 req/5 min 32 req/second Only site on fresh VPS install, with minimal graphics, scripts, css. 17479 req/5 min 60 req/second One of several sites on VPS, photographer portofolio, heavy Stress tests by http://loadimpact.com graphics, minimal scripts & css.
  • 8. But wait... There's more! - WP Plugin: nginx Compatibility - Pretty URLS: /etc/nginx/sites-available/nginx.conf if (!-e $request_filename) { rewrite ^ /index.php last; } Performance
  • 9. Tips for optimizing application layer Theme: Plugins: ● Simplify & Reduce ● Delete Unused ● Combine Functionality ● Keep Code Updated ● Avoid Bad Plugins ● Repair MySQL DB ● Log Slow Queries ● Move CSS to top & Javascript to bottom
  • 10. Caching with static content + CDN Plugins: Benefit: ● W3TC ● At least 10x improvement in site ● WP Super Cache performance ● Hyper Cache ● “Instant” second page ● DB Cache Reloaded views ● Reduced page load time ● Improved web server CDN: performance ● Amazon S3 & ● Up to 80% Bandwidth savings Cloudfront
  • 11. W3 Total Cache (setup walkthrough) 1. Sign-up for Amazon S3 & Cloudfront 2. Install W3 Total Cache Plugin within WordPress 3. Follow W3 Total Cache Instructions within WordPress admin panel 4. Log in to Cloudfront control panel and create a Distribution for your newly created bucked
  • 12. CDN explained & expounded A content delivery network or content distribution network (CDN) is a system of computers containing copies of data placed at various nodes of a network. * The optimal number is somewhere between 1 and 5 hosts (1 main host plus 4 hosts on which to parallelize cacheable resources). As a rule of thumb, you shouldn't use more than 1 host for fewer than 6 resources; fewer than 2 resources on a single host is especially wasteful. It should never be necessary to use more than 5 hosts (not counting hosts serving resources over which you have no control, such as ads). (source: Google Page Speed)
  • 13. Interface polish & performance ● Yslow, Page Speed, Speed Tracer ● Minify and combine all CSS and JavaScript ● gZip, image sprites, smush.it ● Cleanup your markup ● Improve wait messaging
  • 14. What did we learn? ● Build on a good foundation ● Pull the weeds of unnecessary code ● Optimize browser rendering ● Minimize request overhead ● Minimize round-trip times ● Minimize payload size ● Optimize caching ● Change perception