Skip to main content
Home
Drupal life hacks

Main navigation

  • Drupal
  • React
  • WP
  • Contact
  • About
User account menu
  • Log in

Breadcrumb

  1. Home

Optimizing Drupal Performance with Proper PHP OPcode Caching Size Configuration

By admin, 19 May, 2024

In Drupal, managing PHP OPcode caching size is crucial for optimizing performance. OPcode caching involves storing the compiled PHP code (OPcodes) in shared memory, which speeds up execution by avoiding repeated parsing and compiling of PHP scripts.

Here’s how you can manage and configure OPcode caching size for Drupal:

Using OPcache (for PHP 5.5 and above)

OPcache is a built-in PHP extension that significantly improves the performance of PHP applications by caching the compiled bytecode of PHP scripts.

1. Enable OPcache: Ensure OPcache is enabled in your php.ini file. You should have the following lines:

  zend_extension=opcache.so
  opcache.enable=1

 

2. Configure OPcache Settings: Adjust the OPcache configuration settings to suit your needs. Key settings include:

  opcache.memory_consumption=128
  opcache.interned_strings_buffer=8
  opcache.max_accelerated_files=10000
  opcache.revalidate_freq=2

 - opcache.memory_consumption: The amount of memory allocated to the OPcache (in megabytes). The default is often 64 MB, but increasing this to 128 MB or more can help, especially for larger applications.
  - opcache.interned_strings_buffer: The amount of memory (in megabytes) for interned strings in OPcache. 8 MB is typically sufficient.
  - opcache.max_accelerated_files: The maximum number of files OPcache can cache. For Drupal, setting this to a higher value like 10000 helps ensure all files can be cached.
  - opcache.revalidate_freq: How often (in seconds) to check if cached files have changed. Setting this to 2 seconds is a good balance between performance and ensuring updated files are recompiled.

3. Monitoring and Adjusting: Use tools like the OPcache Status or PHP scripts to monitor OPcache usage. Ensure that you are not hitting the memory limit, and adjust the opcache.memory_consumption as necessary.

Example php.ini Configuration

zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.validate_timestamps=1
opcache.save_comments=1
opcache.fast_shutdown=1

APCu for User Cache

For additional caching, especially for caching user data and Drupal’s internal caching mechanisms, consider using APCu (Alternative PHP Cache). APCu is well-suited for caching application data and can work alongside OPcache.

1. Enable APCu:

  extension=apcu.so
  apc.enabled=1

2. Configure APCu Settings:

  apc.shm_size=64M
  apc.ttl=7200
  apc.user_ttl=7200
  apc.gc_ttl=3600

 - apc.shm_size: Shared memory size allocated to APCu. 64 MB is a good starting point.
  - apc.ttl: Time-to-live for cache entries (in seconds). 
  - apc.user_ttl: Time-to-live for user cache entries.
  - apc.gc_ttl: Time-to-live for garbage collection of cache entries.

Summary

Configuring OPcode caching size in Drupal involves enabling and tuning OPcache and optionally APCu. This setup helps improve the performance of your Drupal site by reducing the overhead of PHP script execution. Regular monitoring and adjustment based on your site’s needs will ensure optimal performance.

Tags

  • #Drupal Planet

Comments

About text formats

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Powered by Drupal