Tag1 Consulting

Performance and Scalability Experts

memcache

Stop Disabling SELinux!

I see a lot of people coming by #centos and similar channels asking for help when they’re experiencing a problem with their Linux system. It amazes me how many people describe their problem, and then say something along the lines of, “and I disabled SELinux...”. Most of the time SELinux has nothing to do with the problem, and if SELinux is the cause of the problem, why would you throw out the extra security by disabling it completely rather than configuring it to work with your application?

Path Cache patch

Description:
This patch can greatly reduce the number of database queries on every page load caused by URL path aliases. Groups of paths are cached together for each page and language allowing optimal cache retrieval of cached paths. Furthermore, a whitelist is built for uncached paths to intelligently limit the necessary database queries.

This patch was backported from Drupal 7.

Page-cache-memcache Lock

Description:
This patch should be applied to memcache after the pagecache_lock patch has been applied to Drupal core, preventing cache stampedes when updating pages in the Drupal page cache. Refer to the README for that patch for full details on how this patch works.

Load Cache patch

Description:
This patch introduces caching for both nodes and users. While it will still help performance without using memcache, it is recommended that you enable the memcache module to cache this data in memory for optimal performance. Both tables can be manually flushed along with Drupal's standard caches by clicking the 'Clear cached data' button on the Performance administrator site configuration page.

Page-cache Lock

Description:
This patch is designed to prevent cache stampedes when updating pages in the Drupal page cache. When serving cached pages, logic checks the timestamp of the cached page -- if older than the global timestamp we try to grab a lock. Only one user can grab the lock for a given page at a time. If the user fails to grab the lock, a stale version of the cached page is returned. Once the page is rebuilt, the new version is returned on subsequent requests.

External page-cache

Description:
Re-order Drupal core's bootstrap process so anonymous pages can be served from an external cache (such as memcache) without hitting the database.

Drupal's default bootstrap order is as follows:

    DRUPAL_BOOTSTRAP_CONFIGURATION
    DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE
    DRUPAL_BOOTSTRAP_DATABASE
    DRUPAL_BOOTSTRAP_ACCESS
    DRUPAL_BOOTSTRAP_SESSION
    DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE

This patch changes it as follows:

    DRUPAL_BOOTSTRAP_CONFIGURATION
    DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE
    DRUPAL_BOOTSTRAP_SESSION
Syndicate content