Write Review

Advanced Page Caching Techniques for CMS Websites

Understanding the Differences Between PHP, Database, & File Caching Systems

The introduction of advanced page caching techniques for websites as part of "platform as a service" cloud hosting plans has been a major industry trend over the last few years as data center companies develop new solutions targeted at CMS web hosting customers. Advanced page caching, load balanced network traffic, and low-density, premium hardware are all integral elements of many web hosting companies' proprietary cloud platforms. Shared hosting plans on cPanel now regularly include options for APC, Memcached, & OPcache as PHP runtime server extensions, while managed WordPress plans often include PaaS solutions based on Varnish Cache, Nginx, & Redis for even faster CMS website performance at scale. Facebook's HHVM is available on many cloud hosting plans with PHP 7 for optimizing web server pageload speeds on Apache. These advanced page caching solutions were developed in "big data" and enterprise IT applications under open source standards to be made available to small business owners and independent website publishers under retail cloud hosting service plans. It is important for website owners to understand the differences between PHP, database process, and file caching systems, as well as how to utilize available resources in a web hosting plan in order to get the best performance optimization for CMS websites on Linux servers.

Understanding the Differences Between PHP, Database, & File Caching Systems


Memcached: MySQL Database Process Caching for Faster Website Performance Speeds

Server-side caching systems can be differentiated from web browser based caching processes related to a website's HTML, CSS, JavaScript, & media resource files. Memcached is a PHP extension that is designed for keeping frequently used and important MySQL database information active in the RAM memory of a web server in order to reduce the length of time required in processing website traffic requests. Memcached is actively used by many of the largest websites in the world, for example: Facebook, YouTube, Twitter, Tumblr, Wikipedia, & Reddit to load web pages at a target response rate of 200ms or less per user. Twitter has even released a fork of Memcached (Twemcache) as well as the FatCache module that will allow many of the same benefits by running the database on SSD vs. RAM on the web server, due to the difference in the cost of scaling RAM memory vs. SSD storage. Memcached runs as a PHP extension that may or may not be installed on shared hosting plans by default depending on the service provider. The use of Memcached on production websites will require more RAM resources than shared hosting plans generally provide for CMS websites. Professional developers will need to focus on matching the system RAM requirements of using Memcached with a CMS on a web server with the appropriate VPS or dedicated hosting plan for high traffic performance optimization.

 

Understanding the Differences Between PHP, Database, & File Caching Systems

Memcached in cPanel PHP Settings - Web hosting customers on cPanel can look for the PHP version selection icon and enable 'Memcache' & 'Memcached' as a PHP extensions on the server. Learn more.

 


Video: "Facebook and memcached" - Tech Talk (2008)

Facebook Developers - "In this video from 2008, Mark Zuckerberg, CEO at Facebook, talks about how the company uses memcached for caching and storage performance." Learn More About Memcached.



APC - Alternative PHP Cache: Accelerate PHP Runtime Processes with Web Server Caching

While MySQL database object caching in SSD or RAM memory is a critical aspect of high performance cloud web hosting, it can also be important to develop a system of caching PHP runtime processes on the web server to additionally reduce hardware strain when compiling CMS code. APC, or Alternative PHP Cache, is an important PHP server extension that caches regularly used required PHP operations in shared RAM memory, which can increase the performance of hosted CMS websites over 300% in benchmark testing. The best website hosting solutions utilizing caching work on multiple levels simultaneously. By reducing the server load required for running PHP processes on every page view using APC, the web server hardware will have more resources available for processing other system I/O requests more quickly. Like Memcached, the storage of repeated PHP processes in active memory by APC reduces the need to pull information from the networked storage hardware repeatedly to reduce the server response times and increase pageload speeds under high traffic conditions. This can also be important when a website has many simultaneous registered users that consume more system resources on the web server. APC can be integrated with most popular CMS platforms like WordPress, Drupal, & Joomla through additional open source modules & plugins.

The Zend OPcache framework functions in the same manner as APC, caching the opcode/bytecode or runtime processes required by a website or mobile app in shared system RAM memory for faster overall speed improvements in web hosting and reduced strain on web server hardware. OPcache is part of the Zend Server distribution that is popular with many PHP programmers and is part of all PHP distributions after version 5.5. Most cPanel webhosts support the enabling of OPcache as a variable extension in the PHP runtime environment on their Linux hosting plans. CMS integration with OPcache will usually require custom web development & programming support to implement.

 


 

Understanding the Differences Between PHP, Database, & File Caching Systems

Nginx Web Server Software - The use of Nginx web servers has skyrocketed on the internet primarily due to better hardware performance at scale through advanced page caching. Learn More about Nginx.

 


Video: Gus Robertson (#1) - "Nginx" - theCUBE (2015)

SiliconANGLE - "Gus Robertson, CEO, Nginx, with John Furrier at Nginx's San Francisco office."  Learn more about Nginx Solutions.


 

Nginx: A Reverse-Proxy Web Server Alternative to Apache for Cloud Hosting Solutions

While Apache servers and MySQL databases are most common in web hosting, Nginx servers have already become an essential part of the most popular sites on the internet which must support the highest volumes of user traffic. Nginx replaces Apache in the LAMP stack as a reverse-proxy server with better load balancing and page caching functionality that allows the same hardware to support 2x to 3x more simultaneous users with CMS websites. The documented pagespeed gains running WordPress under Nginx and PHP 7 are important to many website publishers and ecommerce sites today. DreamHost, WPengine, SiteGround, Bluehost, & A2 Hosting have all begun developing PaaS cloud hosting plans based on Nginx & Varnish Cache for better website performance on managed WordPress servers. Otherwise, Nginx support is not available on most shared hosting plans running cPanel & WHM. Website owners and mobile app developers with high performance web hosting requirements who need a Nginx solution will be required to custom install a VPS or dedicated server. An increasingly popular option is to choose a cloud VM which can be installed in minutes with a full Nginx + CMS stack using platform snapshot software like Bitnami. Nginx servers do not use the .htaccess file found on Apache hardware so CMS website owners will need to manage the custom development requirements for an Nginx solution independently.

 


Video: "What is Varnish Cache?" (2015)

Varnish Software - "Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture."  Learn more about Varnish Cache.


 

Varnish Cache: Advanced Website Page Caching Solutions for High Traffic Web Hosting

Varnish Cache is one of the most popular enterprise solutions for web hosting in the media, newspaper, magazine, and music industries. The majority of companies in these sectors with millions of page hits per day on their websites have already implemented advanced reverse-proxy page caching solutions for their web servers using Varnish Cache. Many cloud web hosting and managed WordPress platforms also implement a custom Varnish Cache installation on their servers as a "secret ingredient" because this vastly improves CMS website performance over shared hosting plans. Cloud hosting PaaS plans based on Varnish Cache can be a viable solution for small businesses and independent publishers when it is too expensive to use a VPS or dedicated server on a project. However, when a mobile app or website begins to scale to require more hardware resources than a shared web hosting account can provide, Varnish Cache provides an excellent option for optimizing the web server or VM for performance under peak conditions. Nginx and Varnish Cache can work together with other page caching methods to maximize the level of traffic that web server hardware can support before an elastic cloud solution is required.

 


Understanding the Differences Between PHP, Database, & File Caching Systems

Redis Elastic Cloud - Take CMS websites and mobile applications to the highest levels of user traffic with elastic cloud solutions built from VMs that launch into clusters on demand. Learn more about Redis.

Redis: Enterprise-Grade Cloud Web Server Cluster Management for "Big Data" at Scale

Redis is a Remote Dictionary Server with NoSQL database that was developed by Pivotal Software as part of the VMware ecosystem. Redis server nodes can be replicated into elastic cloud networks with integrated real-time monitoring of system resource usage and user traffic. Redis enables "big data" applications and cloud data center management requirements at enterprise to scale to hundreds or thousands of simultaneous nodes. Redis is being implemented by managed hosting companies like Pantheon as an advanced page caching option for Drupal & WordPress for small business and self-published websites. Because Redis is open source, there is a good amount of code available for CMS integrations already tested and security reviewed. However, it will still require professional web development, systems administration, and programming support for most CMS websites to build a custom hosting solution using Redis with multi-server elastic cluster support. Redis solutions make it possible to outsource entire in-house IT departments to the cloud in enterprise web hosting applications to scale to support the highest levels of website traffic.

 


 

Understanding the Differences Between PHP, Database, & File Caching Systems

HHVM - Hip Hop Virtual Machine: Faster PHP Processing through Web Server Caching

As Facebook approaches 2 billion registered users, it should not be surprising that the company is leading significant advances in cloud computing which include platform development and new standards. HHVM (HipHop Virtual Machine) is one of the main early developments from Facebook Labs, created as the company grew from a PHP/MySQL codebase to support the highest levels of user traffic. Facebook's data center management teams quickly realized that they could save the need for investment in thousands of new web servers simply by improving the way that PHP was processed, cached, and stored in memory on the hardware in use. HipHop Virtual Machine is one of the most advanced of the available PHP runtime accelerators and can be found as a platform option on popular web hosting plans like DreamHost, A2 Hosting, SiteGround, and others. WordPress, Drupal, & Joomla website developers have all reported significant gains running the CMS scripts with HHVM and PHP 7. HHVM improves the way PHP is executed in a web server runtime environment through a combination of caching, pre-processing, & object storage methods (JIT compilation).

 


Video: "HHVM: The Alternative PHP Runtime" (2015)

Sebastian Bergmann - "The PHP language is almost 20 years old, as is its reference implementation that can be downloaded from PHP.net. In the last decade, alternative runtimes for PHP came and went. The HipHop VM (HHVM) that is developed – and used in production – by Facebook, however, is probably not only here to stay but very likely going to influence the future of PHP considerably. High time to have an in-depth look at what HHVM is and how it works."  Learn more about HHVM.


 

CMS Integration - Configuring WordPress, Drupal, & Joomla for Advanced Page Caching

In building a page caching solution for a CMS website, the best approach is to use a multi-layered approach which includes file, database, and PHP process utilities. While APC, OPcache, & Memcached are the easiest to implement on a shared web hosting platform, each CMS will require an individual module or plugin installed to support the particular standard. Managed WordPress hosting plans and other cloud PaaS accounts may include Nginx and Varnish Cache integration through custom coded plugins that are pre-installed. This can save thousands of dollars in independent web development and programming time for small businesses and independent publishers. Specialist platforms like WPengine and Pantheon are good options for site owners who do not have the resources to build a custom platform solution on a VPS or dedicated server. Each CMS will need to be configured to support the unique page caching solution installed and available on the hardware at each level of operation. High traffic website owners will need to invest in custom Nginx, Varnish Cache, & Redis solutions in order to scale WordPress, Drupal, Joomla, and other CMS websites to support advanced ecommerce, social networking, streaming media, and popular blog requirements. The best Google Pagespeed results will require HTML, CSS, & JavaScript compression on the output of CMS produced web pages, as well as optimal compression of all image files. CMS website publishers on shared hosting can add an additional level of caching through free CDN support like CloudFlare, which will automatically deploy cached copies of web pages to data centers around the world.