High Performance Drupal: Fast and Scalable Designs

How can you help your Drupal website continue to perform at the highest level as it grows to meet demand? This comprehensive guide provides best practices, examples, and in-depth explanations for solving several performance and scalability issues. You’ll learn how to apply coding and infrastructure techniques to Drupal internals, application performance, databases, web servers, and performance analysis.

Covering Drupal versions 7 and 8, this book is the ideal reference for everything from site deployment to implementing specific technologies such as Varnish, memcache, or Solr. If you have a basic understanding of Drupal and the Linux-Apache-MySQL-PHP (LAMP) stack, you’re ready to get started.

  • Establish a performance baseline and define goals for improvement
  • Optimize your website’s code and front-end performance
  • Get best and worst practices for customizing Drupal core functionality
  • Apply infrastructure design techniques to launch or expand a site
  • Use tools to configure, monitor, and optimize MySQL performance
  • Employ alternative storage and backend search options as your site grows
  • Tune your web servers through httpd and PHP configuration
  • Monitor services and perform load tests to catch problems before they become critical
1117037020
High Performance Drupal: Fast and Scalable Designs

How can you help your Drupal website continue to perform at the highest level as it grows to meet demand? This comprehensive guide provides best practices, examples, and in-depth explanations for solving several performance and scalability issues. You’ll learn how to apply coding and infrastructure techniques to Drupal internals, application performance, databases, web servers, and performance analysis.

Covering Drupal versions 7 and 8, this book is the ideal reference for everything from site deployment to implementing specific technologies such as Varnish, memcache, or Solr. If you have a basic understanding of Drupal and the Linux-Apache-MySQL-PHP (LAMP) stack, you’re ready to get started.

  • Establish a performance baseline and define goals for improvement
  • Optimize your website’s code and front-end performance
  • Get best and worst practices for customizing Drupal core functionality
  • Apply infrastructure design techniques to launch or expand a site
  • Use tools to configure, monitor, and optimize MySQL performance
  • Employ alternative storage and backend search options as your site grows
  • Tune your web servers through httpd and PHP configuration
  • Monitor services and perform load tests to catch problems before they become critical
33.99 In Stock
High Performance Drupal: Fast and Scalable Designs

High Performance Drupal: Fast and Scalable Designs

High Performance Drupal: Fast and Scalable Designs

High Performance Drupal: Fast and Scalable Designs

eBook

$33.99 

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

How can you help your Drupal website continue to perform at the highest level as it grows to meet demand? This comprehensive guide provides best practices, examples, and in-depth explanations for solving several performance and scalability issues. You’ll learn how to apply coding and infrastructure techniques to Drupal internals, application performance, databases, web servers, and performance analysis.

Covering Drupal versions 7 and 8, this book is the ideal reference for everything from site deployment to implementing specific technologies such as Varnish, memcache, or Solr. If you have a basic understanding of Drupal and the Linux-Apache-MySQL-PHP (LAMP) stack, you’re ready to get started.

  • Establish a performance baseline and define goals for improvement
  • Optimize your website’s code and front-end performance
  • Get best and worst practices for customizing Drupal core functionality
  • Apply infrastructure design techniques to launch or expand a site
  • Use tools to configure, monitor, and optimize MySQL performance
  • Employ alternative storage and backend search options as your site grows
  • Tune your web servers through httpd and PHP configuration
  • Monitor services and perform load tests to catch problems before they become critical

Product Details

ISBN-13: 9781449358037
Publisher: O'Reilly Media, Incorporated
Publication date: 10/14/2013
Sold by: Barnes & Noble
Format: eBook
Pages: 264
File size: 3 MB

About the Author

Jeff has been involved with open source for over eleven years. He started using Linux professionally at the University of California at Santa Barbara, where he was a Senior Systems Administrator and Programmer for the Computer Science department. He most recently worked at the Oregon State University Open Source Lab (OSL) as the Operations Manager, providing technical and organizational leadership to the OSL while working closely with the many open source projects hosted there, including Drupal.org, the Linux Foundation, and the Apache Software Foundation.
Jeff has extensive infrastructure experience, gained over the years. As the Operations Manager at OSU Open Source Lab -- the largest open source hosting infrastructure of its kind -- he led the infrastructure and development teams; he is deeply involved in the CentOS Linux build and release process as a member of the QA team; and he works as a volunteer for the drupal.org infrastructure team. Jeff currently maintains a number of packages for the Fedora Project and Fedora's Extra Packages for Enterprise Linux (EPEL), and serves as the Lead Systems Engineer for multiple Tag1 clients. He lives in Vancouver, Washington.


Narayan is a co-owner of Tag1 Consulting, who joined the team in 2008. He was introduced to Drupal during his tenure at the Oregon State University Open Source Lab where he was the co-lead system administrator -- and served as their Database Administrator of over 180 MySQL databases -- the Freenode Server Administrator, and the Drupal.org Server Administrator. He is a permanent member of the Drupal Association, as their Systems Coordinator, and is the lead Systems Administrator for the Drupal.org Infrastructure Team. He is also a co-maintainer of the Pressflow high performance Drupal distribution.
Outside of Drupal, Narayan has been deeply involved in the FreeBSD, Gentoo, and Slackware communities. More recently, he acted as infrastructure lead for the Examiner.com 2.0 re-launch, infrastructure lead for the drupal.org redesign launch, and infrastructure lead/performance lead for drupal.org git migration. Narayan is currently Chief Technology Officer at Tag1 Consulting and resides in Portland, Oregon.


Nathaniel Catchpole has been using Drupal since version 4.5, and has been a regular contributor to Drupal core since 2006; along with extensive code profiling, he has contributed over 400 patches to the Drupal 7 release. Nathaniel also maintains the core entity, cache and taxonomy subsystems, as well as the memcache and entity cache contributed projects. In September 2011, Nathaniel became branch maintainer and release manager for the Drupal 8 release cycle.
Nathaniel has been with Tag1 Consulting since September 2010. Prior to that, he worked on the Examiner.com Drupal migration and launch, and as a consultant for CivicActions, with clients such as Sony BMG and Amnesty International.

Table of Contents

Praise for High Performance Drupal; Preface; Does Drupal Scale?; Goals of This Book; Supported Drupal Versions; How This Book Is Organized; Conventions Used in This Book; Using Code Examples; Safari® Books Online; How to Contact Us; Acknowledgments; Chapter 1: Beginning a Performance Project; 1.1 Getting Started with Performance Improvements; 1.2 Establishing a Performance Baseline; 1.3 Setting Goals for Website Performance; 1.4 The Many Aspects of Drupal Performance; 1.5 Creating a Prioritized List of Improvements; Chapter 2: Frontend Performance; 2.1 Limiting HTTP Requests; 2.2 Image Requests; 2.3 Minification; 2.4 Compression; 2.5 Cacheable Headers; 2.6 CDNs; 2.7 Keep Third-Party Libraries Up to Date; 2.8 External Scripts; 2.9 Single Points of Failure (SPOFs); Chapter 3: Drupal Performance Out of the Box; 3.1 Page Caching; 3.2 When Should You Use Page Caching?; 3.3 CSS and JavaScript Aggregation; 3.4 Logging; 3.5 The Cache and Other Swappable Storage; 3.6 Cron; 3.7 Views; Chapter 4: Drupal Coding for Optimal Performance; 4.1 Context Matters; 4.2 False Optimizations; 4.3 Listing Entities; 4.4 Caching; 4.5 Queues and Workers; 4.6 Cache Stampedes and Race Conditions; Chapter 5: Drupal Coding for Abysmal Performance; 5.1 variable_set() Abuse; 5.2 External Requests; 5.3 Sessions; 5.4 Excessive Cache Granularity; 5.5 PHP Errors; 5.6 Debug Code in the Code Base; 5.7 Development Settings; Chapter 6: Verifying Changes; 6.1 Analyzing Frontend Performance; 6.2 Analyzing Application Performance; Chapter 7: Infrastructure Design and Planning; 7.1 Horizontal and Vertical Scaling; 7.2 Service Categorization; 7.3 Working Well Together; 7.4 Example Two-Layer Configuration; 7.5 Example Larger-Scale Infrastructure; 7.6 Development and Staging Environments; 7.7 Internal Network Layout; 7.8 Utility Servers; 7.9 High Availability and Failover; 7.10 Hosting Considerations; 7.11 Summary; Chapter 8: Service Monitoring; 8.1 The Importance of Monitoring Services; 8.2 Monitoring Alerts with Icinga; 8.3 Graphing Monitoring Data; 8.4 Internal Versus Remote Monitoring; Chapter 9: "DevOps": Breaking Down Barriers Between Development and Operations; 9.1 Revision Control Systems; 9.2 Configuration Management Systems; 9.3 Pulling It Together: In-Depth Example with Puppet and Git; 9.4 Development Virtual Machines; 9.5 Deployment Workflow; 9.6 Deployment with Jenkins CI; Chapter 10: File Storage for Multiple Web Servers; 10.1 rsync; 10.2 GlusterFS; 10.3 Single NFS Server; 10.4 HA NFS Cluster; 10.5 Storage Area Networks (SANs); Chapter 11: Drupal and Cloud Deployments; 11.1 What Is the Cloud?; 11.2 Why Use the Cloud?; 11.3 Infrastructure Overhead; 11.4 Prepackaged Clouds; 11.5 Common Issues with Cloud Deployments and Their Mitigations; Chapter 12: Failover Configuration; 12.1 IP Failover Versus DNS Failover; 12.2 Service-Level Issues; 12.3 Heartbeat; Chapter 13: MySQL; 13.1 Drupal and MySQL Engines; 13.2 Versions of MySQL; 13.3 General Configuration; 13.4 Replication; 13.5 Virtualized Deployments; Chapter 14: Tools for Managing and Monitoring MySQL; 14.1 Percona Toolkit; 14.2 Openark Kit; 14.3 mysqlreport; 14.4 Percona Monitoring Plug-Ins; Chapter 15: MySQL Query Optimization; 15.1 Index Basics; 15.2 Base Tables and Join Order; 15.3 Common Issues; Chapter 16: Alternative Storage and Cache Backends; 16.1 Cache, Lock, and Session Storage; 16.2 Memcache In Depth; 16.3 How to Break Your Site with Memcache; 16.4 Entity/Field Storage; Chapter 17: Solr Search; 17.1 Performance and Scalability Considerations; 17.2 Integrating Solr with Drupal; 17.3 Solr Configuration; 17.4 Indexing Content; 17.5 Infrastructure Considerations; 17.6 Solr Replication; 17.7 Drupal Module Installation; Chapter 18: PHP and httpd Configuration; 18.1 APC: PHP Opcode Cache; 18.2 php.ini Settings; 18.3 PHP Apache Module Versus CGI; 18.4 Apache MPM Settings; 18.5 Prefork Thread Settings; 18.6 KeepAlive; 18.7 Cache Headers; 18.8 Logging; 18.9 Server Signature; 18.10 Administrative Directory or VirtualHost; 18.11 Nginx; Chapter 19: Reverse Proxies and Content Delivery Networks; 19.1 Using a Reverse Proxy with Drupal; 19.2 Understanding Varnish Configuration Language; 19.3 Cookies and Varnish; 19.4 Caching for Authenticated Users; 19.5 Edge-Side Includes; 19.6 Serving Expired Content; 19.7 Error Pages; 19.8 Memory Allocation; 19.9 Logging and Monitoring Varnish; 19.10 Sample VCL for Drupal; 19.11 Content Delivery Networks; Chapter 20: Load Testing; 20.1 Different Types of Load Tests; 20.2 Creating a Valid Test; 20.3 When to Test; 20.4 Interpreting Test Results; 20.5 Server Monitoring During Load Tests; 20.6 Where to Test; 20.7 Example Load Test Using JMeter; Chapter 21: Where to Next?; 21.1 Official Book Website; 21.2 High Performance Drupal Group; 21.3 Drupal Watchdog; 21.4 Revision Control with Git; 21.5 Varnish; 21.6 Configuration Management; 21.7 Vagrant; 21.8 Jenkins; 21.9 MySQL Performance; 21.10 InnoDB Index Structures; Index; Colophon;
From the B&N Reads Blog

Customer Reviews