Server Architecture for High- Performance Drupal

Similar documents
Drupal High Availability High Performance

Are You Ready for the Holiday Rush?

Building the Drupal Borg

Ensuring scalability and performance with Drupal as your audience grows

Cache All The Things

BASICS OF SCALING: LOAD BALANCERS

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

HOW TO MAKE WP FLY...

depl Documentation Release depl contributors

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

Benchmarking filesystems and PostgreSQL shared buffers

Drupal Performance Tuning

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

Performance for Site Builders

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

Building Success on Acquia Cloud:

Drive new Revenue With PaaS/IaaS. Ruslan Synytsky CTO, Jelastic

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

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

making drupal run fast

Scaling Pinterest. Yash Nelapati Ascii Artist. Pinterest Engineering. Saturday, August 31, 13

Who s me? Zequi Vázquez DevOps & Backend PhD student Hacking & Security Rock n Roll (electric guitarist) Videogames Books

A Complete Open Cloud Storage, Virt, IaaS, PaaS. Dave Neary Open Source and Standards, Red Hat

DevShop. Drupal Infrastructure in a Box. Jon Pugh CEO, Founder ThinkDrop Consulting Brooklyn NY

Bricks Cluster Technical Whitepaper

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

E-commerce is also about

Practical Load Balancing

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

Using Vagrant for Magento development. Alexander

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

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

Migrating a running service to AWS

Wikimedia Infrastructure. Roan Kattouw

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

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

OpenShift and Cloud Foundry PaaS: High-level Overview of Features and Architectures

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

How to choose the right PaaS Platform?

CS 188/219. Scalable Internet Services Andrew Mutz October 8, 2015

Amazon Elastic Beanstalk

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

Wikimedia Architecture Doing More With Less. Asher Feldman Ryan Lane Wikimedia Foundation Inc.

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

Brace for 2012 Christoph

Wikimedia architecture. Ryan Lane Wikimedia Foundation Inc.

EWD: Simplifying Web Application Architecture

Nginx 1 Web Server Implementation

MAGENTO HOSTING Progressive Server Performance Improvements

Adding scalability to legacy PHP web applications. Overview. Mario Valdez-Ramirez

Tobby Hagler, Phase2 Technology

SCALABILITY. Hodicska Gergely. Web Engineering Manager as Ustream. May 7, 2012

Moving Target: How Much Do Mobile Apps Cost? Lee Fischman Galorath Incorporated 26 March 2013

Enterprise PaaS Evaluation Guide

Tipping The Scale Tips, Tools, and Techniques For Building Scalable. Steve French Senior Software Engineer digg.com

JAVA IN THE CLOUD PAAS PLATFORM IN COMPARISON

Taking Drupal development to the Cloud. Karel Bemelmans

CLOUDSPECS PERFORMANCE REPORT LUNACLOUD, AMAZON EC2, RACKSPACE CLOUD AUTHOR: KENNY LI NOVEMBER 2012

BASHO DATA PLATFORM SIMPLIFIES BIG DATA, IOT, AND HYBRID CLOUD APPS

Apcera Architecture Overview WHITEPAPER OCT 2015

Building a Scalable News Feed Web Service in Clojure

Compass Deploying and Monitoring a Software Defined Infrastructure

Sample. WebCenter Sites. Go-Live Checklist

Tushar Joshi Turtle Networks Ltd

WordPress Optimization

Social Networks and the Richness of Data

IT Legacy Migration from Proprietary to Open Source Software. Bill Weinberg, Black Duck Software Jay Lyman, 451 Research

How To Manage Change In Jeepers

Déployer son propre cloud avec OpenStack. GULL François Deppierraz

Zabbix. At Scale. By Steve Mushero September, Running the World s Internet Servers. Copyright 2014 ChinaNetCloud

GigaSpaces Real-Time Analytics for Big Data

Assignment # 1 (Cloud Computing Security)

Linux A first-class citizen in Windows Azure. Bruno Terkaly bterkaly@microsoft.com Principal Software Engineer Mobile/Cloud/Startup/Enterprise

Optimizing Drupal Performance. Benchmark Results

PHP vs. Java. In this paper, I am not discussing following two issues since each is currently hotly debated in various communities:

Running an E-Commerce Database in the Cloud. Mark Uhrmacher (CTO) Aaron Brown (Senior Systems Engineer) ideeli

Is Drupal secure? A high-level perspective on web vulnerabilities, Drupal s solutions, and how to maintain site security

Bubble Full Page Cache for Magento

TestOps: Continuous Integration when infrastructure is the product. Barry Jaspan Senior Architect, Acquia Inc.

w w w. u l t i m u m t e c h n o l o g i e s. c o m Infrastructure-as-a-Service on the OpenStack platform

Tcl and Cloud Computing Automation

Drupal Training Modules 2015

Achieving Continuous Integration with Drupal

Apache Tomcat Clustering

Serving 4 million page requests an hour with Magento Enterprise

ClusterLoad ESX Virtual Appliance quick start guide v6.3

Platform Architecture & Integration with OpenShift

How To Manage A Multi Site In Drupal

Last time. Today. IaaS Providers. Amazon Web Services, overview

DevOps. Josh Preston Solutions Architect Stardate

MySQL High-Availability and Scale-Out architectures

always available Cloud

Bubble Full Page Cache for Magento

Igor Seletskiy. CEO, CloudLinux

Maginatics Cloud Storage Platform Feature Primer

Integration in Action using JBoss Middleware. Ashokraj Natarajan - Cognizant

Scalable Architecture on Amazon AWS Cloud

[Hadoop, Storm and Couchbase: Faster Big Data]

Elle Décor Lookbook ipad Application

A Performance Analysis of Distributed Indexing using Terrier

Transcription:

Server Architecture for High- Performance Drupal Robert Ristroph rgristroph@gmail.com @robgr http://www.drupalcampphoenix.com /high-performance-serverarchitecture

Outline What is performance? Scaling? Overview of the standard architecture Economics masquerading as tech Avoid Drupal or PHP as much as possible Unsolved Problems The Future Connecting Systems

What are you Optimizing? One site fast vs. many sites cheaply One page view fast vs. many page views at once Page load time vs. availability, accuracy, age User created content vs. read-only All questions of how to spend money and time You need to be able to optimize for different things for different projects

Drupal and Scaling Good standard PHP practices, caching strategies, etc Codebase fairly good, quality of contributors high, they know and care about scaling tradeoffs But flexibility / extensibility balance speed and size, often win D7 uses more memory than D6

Architecture Diagrams One Server Small Cluster Big Cluster

Similar to High-Perf Wordpress Hart Hoover ( @hhoover, www.harthoover.com ) presention from Texas Linux Fest 2012 http://www.slideshare.net/harthoover Rackspace / WordPress expters WPEngine (high-performance WP hosting) also runs an architecture very similar

Scaling PHP by Steve Corona https://www.scalingphpbook.com/ Steve Corona lead the scaling of twitpic during it's insane growth Not Drupal specific at all The particular application avoids some of the harder problems filesystem can be split, transactions not linked

Pain Point: Server Config Management Many servers consistancy, quick deployment Different roles for different servers Problems that occur only when they hit a particular server are hard to debug Chef Puppet Ansible ( http://ansible.cc ) - simpler for small clusters?

Pain Point: Complicated Cache Rules Varnish excluding cookies, per-page rules, handling languages Flushing an entry from Drupal Handling a cold start under load SSL exclude from cache, decrypt in pound ( http://www.apsis.ch/pound/) or maybe Varnish

Pain Point: Clustered Filesystems Common problem for everyone hosting big clustered Drupal Drupal presumes filesystem is fast Filesystem used for concurrency and locking, not just persistence GlusterFS closest to standard, receiving attention from RedHat Stream wrappers to S4 Ceph, many other candidates Pantheon wrote a cassandra backed FS

Evolution Nginx (replacing Varnish?) Redis instead of Memcache ESI with Varnish NoSQL for specific uses

Unsolved Clustered filesystem Large amount of DB write traffic Especially if transactional, say a flood of people buying a limited item

Current Cutting Edge Architectures that are a matrix of servers Heroku, Pantheon, OpenShift (RedHat) Use nginx, systemd, cgroups Complicated routing of requests Distributed / Clustered filesystems still an issue

Beyond This Architecture Big Drupal sites more and more connect to APIs, and provide APIs Drush commands / DrupalQueue for offline processing More services based architectures More small, quick components implemented in node.js or similar More OpenStack / OpenShift private infrastructure, we will have to learn how to optimize that

Next We should work on an automated performance testing framework PHP itself particularly size of code in RAM APC seems like it could use more attention, maybe steal ideas from JVMs Re-examine Postgres?

A Note on Debugging Solving scaling problems can seem like a black art if you cannot replicate the problem Wget spider scripts, apache ab, LoadStorm It's not hard, if you can replicate then you can debug as you would any problem Ok, simulating some kinds of logged in transactions at scale can be hard...

Questions? Robert Ristroph rgristroph@gmail.com @robgr http://www.drupalcampphoenix.com /high-performance-serverarchitecture

Pressflow Scaling and Performance enhancements that could not be folded back into Drupal User interace and API compatible Gave up PostgreSQL, other features Allows reverse proxy (Varnish) All improvements are in Drupal 7 now Not much need for PF7, perhaps it will hold backported D8 features in the future