4

I am currently using drupal 7 for my site. I recently read about Pressflow for drupal and it seems to provide better performance compared to the regular drupal 7 version. I have a quite a few custom modules and if I have to migrate to pressflow later, do I have to modify the modules to support pressflow? Also, are there are any issues on migrating from drupal 7 to pressflow?

4

Pressflow 7 doesn't seem to contain any relevant performance improvements at this time.

Below is a diff from 7.10 to the pressflow/master branch on github, where pressflow is now maintained. (https://github.com/pressflow/7)

$ git diff -R pressflow/master 
diff --git b/includes/bootstrap.inc a/includes/bootstrap.inc
index d63a59b..e5e7ab7 100644
--- b/includes/bootstrap.inc
+++ a/includes/bootstrap.inc
@@ -728,6 +728,22 @@ function drupal_settings_initialize() {
   }
   $is_https = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on';

+  // Load environmental config, if present.
+  if (isset($_SERVER['PRESSFLOW_SETTINGS'])) {
+    $pressflow_settings = json_decode($_SERVER['PRESSFLOW_SETTINGS'], TRUE);
+    foreach ($pressflow_settings as $key => $value) {
+      // One level of depth should be enough for $conf and $database.
+      if ($key == 'conf') {
+        foreach($value as $conf_key => $conf_value) {
+          $conf[$conf_key] = $conf_value;
+        }
+      }
+      else {
+        $$key = $value;
+      }
+    }
+  }
+
   if (isset($base_url)) {
     // Parse fixed base URL from settings.php.
     $parts = parse_url($base_url);
@@ -2329,6 +2345,17 @@ function _drupal_bootstrap_database() {
 function _drupal_bootstrap_variables() {
   global $conf;

+  // Pressflow Smart Start
+  if (!empty($GLOBALS['databases']) && variable_get('pressflow_smart_start', FALSE)) {
+    try {
+      $result = db_query('SELECT s.name FROM {system} s WHERE s.name = :name', array(':name' => 'system'));
+    } catch (Exception $e) {
+      // Redirect to the installer if an essential table is missing.
+      include_once DRUPAL_ROOT . '/includes/install.inc';
+      install_goto('install.php');
+    }
+  }
+
   // Initialize the lock system.
   require_once DRUPAL_ROOT . '/' . variable_get('lock_inc', 'includes/lock.inc');
   lock_initialize();
diff --git b/sites/default/default.settings.php a/sites/default/default.settings.php
index f8894aa..08fc81b 100644
--- b/sites/default/default.settings.php
+++ a/sites/default/default.settings.php
@@ -487,3 +487,13 @@ $conf['404_fast_html'] = '<html xmlns="http://www.w3.org/1999/xhtml"><head><titl
  * Remove the leading hash signs to disable.
  */
 # $conf['allow_authorize_operations'] = FALSE;
+
+/**
+ * Smart start:
+ *
+ * If you would prefer to be redirected to the installation system when a
+ * valid settings.php file is present but no tables are installed, remove
+ * the leading hash sign below.
+ */
+# $conf['pressflow_smart_start'] = TRUE;

As this shows, there are only two actual changes, one allows to set $conf values from the environment and the other is a safety check when Drupal isn't installed properly. Both are probably only really relevant for their Pantheon hosting environment.

So, while the interview posted by @wiim is nice, it's two years old and nothing has really happened. So, you can IMHO save yourself the hassle of switching for now (of course, this might change).

3

Pressflow is 100% API compatible with drupal core, this means your custom modules will continue to function as long as they meet drupal's coding standards

Also an interesting read, to ensure you are making an in-formed decision as to why you are choosing pressflow Pressflow 7: Continuing to Push Performance and Scalability in Drupal Pressflow 7 will by no means magically make your site faster ;)

  • It worth mentioning that this post is now 2 years old (time flies so fast oO) and that devseed stop doing Drupal related work to focus on their map technology. – tostinni Dec 27 '11 at 16:12
  • Oh you're right, it's two years, not one :) – Berdir Dec 27 '11 at 18:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.