Make Drupal Run Fast increase page load speed www.prometsource.com.

Slides:



Advertisements
Similar presentations
Using the SQL Access Advisor
Advertisements

1 Leveraging social networking in your business marketing Leveraging social networking in your business marketing.
Optimizing Websites with YSlow Tom Lianza Co-Founder Wishlisting.com Tom Lianza Co-Founder Wishlisting.com.
1
High Performance Web Sites Essential Knowledge for Frontend Engineers
CS193H: High Performance Web Sites Lecture 5: Make Fewer HTTP Requests Steve Souders Google
CS193H: High Performance Web Sites Lecture 12: Rule 8 – Make JavaScript and CSS External Steve Souders Google
Web Performance Meetup 1 Web Performance 101 Jeremy
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 2 Getting Started.
Distributed Systems Architectures
Copyright © 2003 Pearson Education, Inc. Slide 9-1.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Myra Shields Training Manager Introduction to OvidSP.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
1 Hyades Command Routing Message flow and data translation.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
A Zabbix Believer’s Story……
40 Tips Leveraging the New APICS.org to the Benefit of Your Organization, Members, and Customers! 1.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Photo Slideshow Instructions (delete before presenting or this page will show when slideshow loops) 1.Set PowerPoint to work in Outline. View/Normal click.
Lost in Translation Measuring and Managing GOOD Web Intentions Marilyn Harmacek. 1.
Week 2 The Object-Oriented Approach to Requirements
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
1 Real World Performance Tuning Ask Bjørn Hansen OSCON 2001.
13 Copyright © 2005, Oracle. All rights reserved. Monitoring and Improving Performance.
Database Performance Tuning and Query Optimization
Web Site Performance What makes web sites slow? Back end Front end Tools for measuring performance Firebug / YSlow Visual Studio Test Edition W3.org html.
PP Test Review Sections 6-1 to 6-6
Bright Futures Guidelines Priorities and Screening Tables
Svetlin Nakov Telerik Corporation
Vanderbilt Business Objects Users Group 1 Reporting Techniques & Formatting Beginning & Advanced.
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
Creating a WordPress Website Oklahoma Conference of The UMC Department of Communications 1.
Sample Service Screenshots Enterprise Cloud Service 11.3.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Chapter 12 Working with Forms Principles of Web Design, 4 th Edition.
Essential Cell Biology
PSSA Preparation.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Essential Cell Biology
The DDS Benchmarking Environment James Edmondson Vanderbilt University Nashville, TN.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Chapter 13 Web Page Design Studio
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
RefWorks: The Basics October 12, What is RefWorks? A personal bibliographic software manager –Manages citations –Creates bibliogaphies Accessible.
Profile. 1.Open an Internet web browser and type into the web browser address bar. 2.You will see a web page similar to the one on.
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
South Dakota Library Network MetaLib User Interface South Dakota Library Network 1200 University, Unit 9672 Spearfish, SD © South Dakota.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
High Performance Websites (Based on Steve Souder’s lecture) By Bhoomi Patel.
Mark Phillip markphillip.com 200s, 304s, Expires Headers, HTTP Compression, And You.
22-Aug-15 | 1 |1 | Help! I need more servers! What do I do? Scaling a PHP application.
Making your website go faster! Front-end Developer, Deeson Online Alli Price.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Enhance Your Page Load Speed And Improve Traffic.
Time is the enemy: Ten Core Lessons for Achieving Peak
Information Systems 337 Prof. Harry Plantinga Assessment.
Yale Digital Conference 2019
Presentation transcript:

Make Drupal Run Fast increase page load speed

2

3 About Promet Source Build websites – we built using open source tools on LAMP stack, specializing in Drupal development Drupal Websites for Associations – FREE websites?? Maybe. Ask me. Managed hosting in our Chicago Data center History Founded in 2003 WHQ in Chicago, but mostly virtual Customers

4 Who is this guy?

5 More about me – my beatifull & supportive wife

6 More about me – shichon.blogspot.com

7 What is page speed? And what is this presentation about? What is page load speed? Tools used to measure performance of your pages and site Six Key Improvements to make Drupal "run fast" Performance Module settings and how they work Caching - biggest gainer and how to implement Boost Other quick hits: off loading search, tweaking settings & why running crons is important Ask your host about APC and how to make sure its set up correctly Dare we look at the database? Easy changes that will help a lot!

8 Other related best practices Monitoring Best practices - what to set up to make sure you know what is going on with your server What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.

9 Why care about performance? Google announced earlier this month: We encourage you to start looking at your sites speed not only to improve your ranking in search engines, but also to improve everyones experience on the Internet.

10 Definitions Front End Performance Improvement – In sampling the top ten U.S. websites, all but one spend less than 20% of the total response time getting the HTML document. The other 80+% of the time is spent dealing with what's in the HTML document, namely, the front-end. That's why the key to faster web sites is to focus on improving front-end performance. ** Back End Performance Improvement – Server related to increase time to First Byte Performance – How fast does the page load Scalability - The ability for a distributed system to easily expand and contract its resource pool to accommodate heavier or lighter loads. High Availablity

11 Performance and Scalability How fast do I get my page … and now when im not the only one? Creative Commons Images

12 Front End vs. Back End In sampling the top ten U.S. websites, all but one spend less than 20% of the total response time getting the HTML document. The other 80+% of the time is spent dealing with what's in the HTML document, namely, the front-end. That's why the key to faster web sites is to focus on improving front-end performance.

13 Waterfall diagrams Start - when browser sends request to server Connect – when server acknowledges the request First Byte – take it takes the server to render the page and send the first byte of the HTML Last Byte – time it takes to transform the data

14 Tools Yslow for firebug Page Speed - firebug Web Page Test Apache Bench JMeter Devel Speed Tracer – chrome /

15 Yslow Steve Souders, while he was Chief Performance at Yahoo! Created YSLOW and best practices Firefox firebug plug in Grades your site based on yahoo best practices Scores – higher is better

16 Page Speed Steve Souders is now at Google Google Recommendations based on Google best practices

17 Web Page Test (

18

19 Jmeter – Java based load testing tool

20 Apache Bench Very simple It is designed to give you an impression of how your current Apache installation performs. This especially shows you how many requests per second your Apache installation is capable of serving. Ab –n # -c #

21 Devel – great but check views stats separately

22

23 Six Key Improvements to make Drupal run fast On Site, on page changes (use Yslow and Page speed) Performance Module settings and how they work Caching – biggest gainer and how to implement Boost Other quick hits: off loading search, tweaking settings & why running crons is important Ask your host about APC and how to make sure its set up correctly Dare we look at the database? Easy changes that will help a lot! Performance improvements are implemented at many levels, are iterative Change, test, analyze, repeat

24 On Site, on page changes (use Yslow and Page speed) Make Fewer HTTP requests Use a CDN Add Expires headers Compress components with gzip deflate Put CSS at top Put JavaScript at Bottom Configure entity tags (ETags) Use cookie-free domains

25 On Site, on page changes (use Yslow and Page speed) – Make fewer HTTP requests Problem: Make fewer HTTP requests 80% of the end-user response time is spent on the front-end. Most of this time is tied up in downloading all the components in the page: images, stylesheets, scripts, Flash, etc. Reducing the number of components in turn reduces the number of HTTP requests required to render the page. This is the key to faster pages. Drupal Solution Performance module – turn on Bandwidth optimizations for CSS and Javascript files Manual CSS sprite generator

26 On Site, on page changes (use Yslow and Page speed) - With lots of objects – serve objects from multiple domains Serve objects from multiple domains There is trade off between dns look ups and parallel downloads Browsers do matter (

27 On Site, on page changes (use Yslow and Page speed) - Use a CDN CDN brings your content closer to the edge of the network, much faster response and download time Drupal Modules: by Wim Leers, needs a cron to run a fileconveyor Media Mover

28

29 Dont let your traffic get to the DB – it wants to kill it! Browser Cache CDN Cached static content Reverse Proxy Cached Content Application Server APC Memcache Boost Performance Module ** MySQL MySQL caching Your Data center

30 Performance Module Settings and how they work

31 Apache tuning for Drupal Extend mod_expires setting (make sure its on) in drupal.htaccess Compress content before sending it Apache deflate_module Solution nginx – gzip module.htaccess move to httpd.conf eliminates Apache parse and search on every load Browser Cache

32 Caching – reverse proxy Caching - Very high performance gain Advanced Step: Squid/Varnish ( ) Very high performance gain Sidesteps web servers, may be implemented on separate servers Reverse Proxy Cached Content

33 Cache – Cache Router Uses fastpath setting, bypassing default cache use Enables different caching options Faster because it by-passes database Further configuration is necessary Application Server APC Memcache Boost Performance Module **

34 Cache – Memcache module Very simple caching mechanism – uses pair values stored in memory Very fast Using memcache by-passes the database caching Is scalable and distrubuted May live on other servers Memcache Serverer1 Bin:cacheBin:Cache_blockBin:Cache_filterBin… Memcache Server2 Bin:cacheBin:Cache_blockBin:Cache_filterBin… Memcache Server3 Bin:cacheBin:Cache_blockBin:Cache_filterBin… Application Server APC Memcache Boost Performance Module **

35 Caching using Boost Extension of Performance module Instead of caching results in tables, stores them in files bypassing PHP and MySQL Limited to anonymous visitors – so good for slashdot but not for sites with high number of authenticated visitors How it works: Uses apache mod_rewrite directives in.htacess to check if GET Logged in cookie does not exist HTML file cached on fiilesystem Application Server APC Memcache Boost Performance Module **

36 Boost Logic

37 Back End – PHP Accelerator APC is the Alternative PHP Cache, which is a free, open, and robust framework for caching and optimizing PHP intermediate code. APC caching PHP code in a compiled state Needs to be looked at after installation for proper configuration, but generally a big performance boost Xcache and eacceletarotor are other options Application Server APC Memcache Boost Performance Module **

38 MySQL caching Enable MySQL Query Cache & give it memory Index Slow queries that run often Log-slow-queries Use explain Index indicies used Some configuration considerations InnoDB Buffer Pool ++ Key_buffer is important for temp tables Core Search Runs Better on MyISAM (but dont use core search) MySQL MySQL caching

39 Back End MySQL is core of Drupal MySQL tuning is important but may performance gain may not be as great as that of caching or front end Always run and check slow query log often /Prune Drupal cache tables on busy sites Database Performance/MySQL Convert Tables to InnoDB Row level locking, less problematic on inserts than MyISAM Advantages debated, but Drupal 7 install will be on InnoDB

40 dlake

41 Other quick Hits: off loading search, tweaking settings & why running crons is important - search Search is resource intensive Consider moving to Apache Solr or using Google Search free or Google Custom Search Engine Especially if converting tables to innoDB

42 Drupal settings for performance improvement Always run cron Set minimum cache lifetime to 0 and increase garbage collector run frequency for busy sites Settings.php: Session.gc_maxlifetime Session.cache_expire Write watchdog entries to syslog instead of db table

43 Monitoring Tools – Must have in server tuning Trend spotting You can not fix back end problems if you do not know what they are Capacity & Load Review impact of changes Analyze Trends Failure & Uptime Nagios 3 rd party tools

44 What if you get slashdotted? RUN! PANIC!

Blog: Site: Questions ?