What is Pressflow?
Pressflow is a distribution of Drupal with integrated performance, scalability, availability, and testing enhancements.
Pressflow addresses a long-standing problem: High-traffic sites use stable versions of Drupal, and stable versions of Drupal are ineligible for enhancements to solve performance bottlenecks discovered after widespread deployment.
Leveraging Four Kitchens’ industry-leading experience in scaling high-traffic, Drupal-based sites, Pressflow integrates the most popular enhancements to Drupal core into a single deployable package. All of Pressflow’s enhancements to Drupal core undergo testing by the Four Kitchens team prior to release.
Is Pressflow a fork?
Like Ubuntu leverages Debian, Pressflow leverages the success of an existing popular open-source, free software package with enhancements targeting a specific user set. Releases of Pressflow correspond to Drupal core releases and maintain module and theme compatibility.
Following each Drupal core release, Pressflow is “reset,” and all enhancements undergo review. In many cases, new major Drupal releases integrate enhancements that were once exclusive to Pressflow. In such cases, the corresponding Pressflow releases use the standard Drupal implementation to preserve module compatibility. Older major versions of Pressflow continue to support the Pressflow-exclusive implementations.
What makes Pressflow scale
Support for database replication
Replication in MySQL takes the data from a designated master server and copies it out to any number of other MySQL servers. Pressflow can then use these replicated MySQL servers for time-consuming query operations that would otherwise slow down the central database. Pressflow’s replication model (and much of the same software) is currently in use on Drupal.org and numerous large Drupal sites, but similar support for replication won’t be available in standard Drupal releases until version 7, which includes a new database abstraction layer.
Support for Squid and Varnish reverse proxy caching
Optimization for MySQL
Drupal is designed to run on MySQL, PostgreSQL, and (beginning with Drupal 7) SQLite. While this gives Drupal broad storage support, the vast majority of Drupal sites run on MySQL, especially the largest ones. Pressflow only supports MySQL, which allows it to quickly integrate optimizations that, when proposed for Drupal, often face delays resulting from the need to support multiple database engines.
Optimization for PHP 5
Drupal includes “wrapper” functions to provide PHP 5-style operations on PHP 4. These wrapper functions increase the size of the code and are often dramatically slower than their native PHP 5 equivalents. Because Pressflow only supports PHP 5, it can replace these wrapper functions with their high-performance PHP 5 equivalents.
How to download Pressflow
All of the code for Pressflow is hosted on Github.