Drupal 7 performance related patches & replacements for core functionally

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Core Patches

Big Performance Gains - Low Risk

Big Performance Gains - High Risk

Small Performance Gains - Low Risk

_field_info_collate_fields() memory usage ~ 1-3MB of Ram.
inline file_uri_scheme() in file_stream_wrapper_uri_normalize() ~0-150ms
Avoid re-scanning module directory when multiple modules are missing ~0-300ms
If item is hidden in _menu_tree_check_access() skip it right away ~5-50ms

Small Performance Gains - High Risk

Race Conditions

Notice: Trying to get property of non-object in image_style_deliver()
DEADLOCK errors on MergeQuery INSERT due to InnoDB gap locking when condition in SELECT ... FOR UPDATE results in 0 rows

Fix Bugs

Fix PHP Notices

Control Memory Usage

Introduce _rdf_mapping_load_multiple to reduce queries.
_field_info_collate_fields() memory usage

Contrib Patches

Performance

Replace Core's Functionally

Cache Backends

Memcache API and Integration (cache, locks, sessions)
Entity cache (load entities from cache rather than DB)
FileCache No special server requirements so suitable for shared hosting.
MongoDB (cache, locks, sessions, field storage, watchdog, block, queue)

Database

AutoSlave (automatic use of slave db, scalability)

Page

Boost
AuthCache - serves authenticated requests faster than stock drupal serves anonymous requests

Statistics

jStats
Google Analytics Statistics

Block/Pane Alt Rendering

Ajax Blocks
Edge Side Includes integration

HTTP Requests

cURL
HTTP Parallel Request Library - Replacement for drupal_http_request()

Others

Tracelytics - tracelytics web application performance analysis Drupal integration
Menu Performance - Benchmarks: ~200ms improvement with 1000 menu items.
Big Autocomplete TAXonomy - Use autocomplete form field if taxonomy is bigger than a predefined number of terms.

Drupal 6 wiki

http://groups.drupal.org/node/187209

Comments

Varnish config?

DamienMcKenna's picture

How about listing things like Varnish & providing a link to a decent config for v2 and v3?

wiki

mikeytown2's picture

feel free to add it in

APC

grape's picture

The easiest performance boost aside from disabling all of those silly modules you don't need is plopping "apc.shm_size = 256M" in your apc.ini.

Although probably not the

erikwebb's picture

Although probably not the usual setup, you should be careful when setting the apc.shm_size to an unnecessarily high value when using PHP w/ FastCGI because each thread uses a separate APC bucket.

FPM

rjbrown99's picture

Unless you use php-fpm, which can share an opcode cache across all workers. It is included with PHP 5.3.3 and above.

High performance

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: