Loudon & Company. Better Decision-Making:! Drupal Performance

Similar documents
Drupal Performance Tuning

Ensuring scalability and performance with Drupal as your audience grows

Performance for Site Builders

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

The importance of Drupal Cache. Luis F. Ribeiro Ci&T Inc. 2013

making drupal run fast

MAGENTO HOSTING Progressive Server Performance Improvements

(An) Optimal Drupal 7 Module Configuration for Site Performance JOE PRICE

Accelerating Wordpress for Pagerank and Profit

4x High Performance for Drupal. Presented by Fabian Franz. Step by Step

WordPress Optimization

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

Cache All The Things

Designing, Scoping, and Configuring Scalable Drupal Infrastructure. Presented by David Strauss

A 100k Users.. Now What?

Drupal in the Cloud. by Azhan Founder/Director S & A Solutions

5 Mistakes to Avoid on Your Drupal Website

Drupal Performance Tips and Tricks. Khalid Baheyeldin. Drupal Camp Toronto 2014

E-commerce is also about

Capacity Planning for Microsoft SharePoint Technologies

Are You Ready for the Holiday Rush?

Brace for 2012 Christoph

9 Tried and Tested Tips to Increase the Power of your Magento Store

Virginia, United States Zurich, Switzerland Cape Town, South Africa. Hosted at the data center of VSHN, DIN-ISO/ IEC and Finma 2008/7 certified

Drupal 6 to Drupal 7 Migration Worksheet

Serving 4 million page requests an hour with Magento Enterprise

Configuring and Testing Caching and Other Performance Options in Microsoft SharePoint Technologies

Acquia Introduction December 9th, 2009

Elle Décor Lookbook ipad Application

BASICS OF SCALING: LOAD BALANCERS

Making Sense of the Numbers DOs and DON'Ts of Quality Performance Testing

1 How to Monitor Performance

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Optimizing Drupal Performance. Benchmark Results

Measuring CDN Performance. Hooman Beheshti, VP Technology

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

An overview of the Drupal infrastructure and plans for future growth

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal and Gerhard Killesreiter for the Drupal Association

Auditing Drupal sites for performance, content and optimal configuration

Table of Contents. Overview... 1 Introduction... 2 Common Architectures Technical Challenges with Magento ChinaNetCloud's Experience...

Benchmark Performance Test Results for Magento Enterprise Edition

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Practical Load Balancing

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

Performance Test Process

Click to edit Master title style. Click to edit Master text styles. Hedley Aylott. CEO Summit

PHP PERFORMANCE. Principles and Tools. By Kevin Schroeder Technical Consultant Zend Technologies. Copyright 2007, Zend Technologies Inc.

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

Performance Management from black-art to process

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

The Devil is in the Details. How to Optimize Magento Hosting to Increase Online Sales

HOW TO MAKE WP FLY...

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Performance Testing Process

always available Cloud

Open Source Content Management System for content development: a comparative study

Building Scalable Web Sites: Tidbits from the sites that made it work. Gabe Rudy

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

Amazon Web Services Yu Xiao

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE

Front-End Performance Testing and Optimization

SharePoint 2010 Performance and Capacity Planning Best Practices

Who is SharePoint Joel?

Application Performance Testing Basics

The Benefits of WordPress Specific Web Hosting. Jamii Corley, Southwest Cyberport

What Happens When A Website Crashes: A Case Study. John Bafford Senior Director, Programming Services The Bivings Group

PHP on IBM i: What s New with Zend Server 5 for IBM i

Installing an open source version of MateCat

WHITE PAPER WORK PROCESS AND TECHNOLOGIES FOR MAGENTO PERFORMANCE (BASED ON FLIGHT CLUB) June, Project Background

The Fastest Way to a Drupal Site: Think it, Plan it, Build it.

Varnish the Drupal way

by

Comprehensive Job Analysis. With MPG s Performance Navigator

Choosing a Content Management System (CMS)

Sitecore Health. Christopher Wojciech. netzkern AG. Sitecore User Group Conference 2015

A Talk ForApacheCon Europe 2008

Building the Drupal Borg

Evolution of Web Application Architecture International PHP Conference. Kore Nordmann / <kore@qafoo.com> June 9th, 2015

Load Testing with JMeter

1 How to Monitor Performance

Web Content Management System

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010

DRUPAL & GOVERNMENT OR: HOW THE CITY OF TAMPA LEARNED TO STOP WORRYING AND LOVE DRUPAL

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

AppDynamics Lite Performance Benchmark. For KonaKart E-commerce Server (Tomcat/JSP/Struts)

Web Caching and CDNs. Aditya Akella

Edge80: A New Approach to High Performance Content Delivery

Deployment Planning Guide

SharePoint Performance Optimization

Scalable Web Programming. CS193S - Jan Jannink - 1/12/10

What is a stack? Do I need to know?

A (Web) Face for Radio. NPR and Drupal7 David Moore

Performance Optimization For Operational Risk Management Application On Azure Platform

Navisphere Quality of Service Manager (NQM) Applied Technology

Drupal High Availability High Performance

Crank Your BI Performance up to 11 - Sizing, Tuning & Performance Testing. Innovation Center Network, Silicon Valley Active Global Support

RAID. RAID 0 No redundancy ( AID?) Just stripe data over multiple disks But it does improve performance. Chapter 6 Storage and Other I/O Topics 29

Transcription:

Loudon & Company Better Decision-Making: Drupal Performance May 17th, 2014

The problem space Performance, Scaling, & Optimization focuses on: Latency - delay, e.g. length of time for a single request Experts say 2 second page loads 1 Measure with tools.pingdom.com or webpagetest.org Example issue: search page is slow every time I use it Throughput - number of reqs per time, often RPS or RPM Experts say YMMV and here be dragons :/ Measure* with Apache Bench, Nouvola, BlazeMeter, JMeter, etc Example issue: site is slow on Friday nights * Apache Bench is fine for quick n dirty anonymous, other tools are for auth users.

But it s really all about (reducing) work

What work* do servers do? (why is it slow?) Visitor Webserver (Apache/nginx) (HTML only, still need CSS, JS, images, ads, social media another 30-200+ requests) php (logic, formatting output, non-trivial) database (MySQL/Postgres) (avg 30-300+ calls, e.g. 30-300+ms) * Does not include DNS (10-300ms) or factor in network time

Constraint to just hiring it out Consultants are expensive*, why? Sr. devs only, (Drupal + server knowledge) Unique: your data + biz needs + code + server Iterative and time-consuming (make changes and test/ verify fixes + troubleshooting) It s art, black magic ; limited public knowledge: discussions often devolve into BMW vs Mercedes not Porsche vs Econoline Van => lack prioritization * Assume $50-200/hr and a $1,000 minimum

What to do? First steps DIY (low-hanging fruit) => modules: site_audit, css/js aggregation, page caching, css sprites, entity_cache, views_content_cache, block_cache_alter Bigger/better/more hardware 2 Host w/ Acquia or Pantheon ( fast is baked-in). Great value But expect $5k+/yr, can be $20k+/yr => do your due diligence.

Need more? Does Varnish work for me? Done :) Yes No Try again?? I m only kind of joking. See the Varnish mini-book for 3 caveats/workarounds. Why? Because you skip all the php/mysql work and serve directly from RAM or disk? (The boost module would also work in the same way.)

Authenticated users? Common recommendations Memcache - replaces database caching for faster lookups, eases DB bottleneck requires sys admin Authcache module - offers great potential, but can have major architecture changes and require a dev APC/Opcache - makes PHP faster, sys admin required CDN - faster files (CSS, JS, images): good for global/ wide audiences; files aren t your bottle-neck* * It could be the problem, but files are 10-100X faster than php

Context: latency case-study Simple example, not meant to be definitive or scientific*; just so we are not talking in a vacuum Site on-hand, Drupal 7, no custom modules, 120 enabled modules built by FTE experienced devs (but not me); looks well-built; estimated cost $40k Sample page, not complex. It s an about page, but could be a blog post or similar a couple of sidebar blocks with featured content, etc Dev server: 2GB RAM/2 CPU, many other processes * Stay tuned to http://loudonco.com/blog, I may do something on this front near-term.

Anonymous users The happy path Page Cache: 1.3-2.3s, ~90 reqs, HTML @ 300ms No Page Cache: 2.9-3.9s, ~90 reqs, HTML @ 1.5-2s No CSS/JS Agg: 1.5-3s, ~135 reqs, HTML @ 300ms Varnish: 1.3-2s, ~90 reqs, HTML @ 150ms

Authenticated users (warm cache) logged-in: 2.5-3.1s*, 70 reqs, HTML @ 1.5-2s block caching: 2-3s, 70 reqs, HTML @ 1.5-2s advagg: 2-3s, 58 reqs, HTML @ 1.5-2s views caching: 2-3s, 70 reqs, HTML @ 1.5-2s memcache: 2-3s, 70 reqs, HTML @ 1.5-2s apc: 2-3s, 70 reqs, HTML @ 1.5-2s bootstrap.php 4: 0.8-1.3s, you can t be here for 2s page * This is actually pretty good, I would probably live w/ 3-5s latency but see 1.

Takeaways Identify performance goals upfront latency vs throughput. Prioritize against business needs Don t chase minor performance gains be holistic and strategic. Make sure you have the easy stuff covered Page caching, css/js aggregation. No magic bullet a big cut percent-wise (100-200ms) is not going to be noticeable. Oftentimes, many techniques are needed to achieve the desired result.

Additional Notes Many technologies are for scaling not reducing noticeable latency for an individual visitor. You can offload slow Drupal work to other processes/ services Disqus, Apache Solr, etc Caching is awesome/complex entire books on it. DIY Resources: Drupal High Performance Group, ask questions :) Drupal Performance book, (for devs/sys admin only?) Thanks Please send feedback to tim@loudonco.com :)

Footnotes 1 Kissmetrics page load time infographic 2 Popular and affordable hosting from Digitial Ocean 3 Drupal + Varnish mini-book (free) 4 Script to measure bootstrapping, see code comments. Gives a baseline of authenticated user without menu routing, php logic, or theming overhead for HTML