APC Cache Optimization & Monitoring Using Web Interface

While we installed PHP with other things, we also installed a php-apc package.

APC is one of the most popular caching mechanism for PHP’s op-code caching. Once activated, it starts caching PHP codes automatically. It also works nicely with W3 Total Cache plugin for storing Object & MySQL caches.

APC – Web-based User Interface

Its always better to check if APC is working correctly. Thankfully, APC comes with file apc.php, which provides a simple web-based interface. Just copy it to your site’s web-root folder:

cp /usr/share/doc/php-apc/apc.php /var/www/example.com/htdocs

Then open http://example.com/apc.php in browser.

In case you want to use admin-side of apc.php, you will need to change default password to something else.

Just open apc.php file and edit following line:

defaults('ADMIN_PASSWORD','password');          // Admin Password - CHANGE THIS TO ENABLE!!!

You can change a few more defaults to customize web-based UI as per your needs.

APC Cache Configuration

You can tweak APC’s parameter by editing vim /etc/php5/conf.d/20-apc.ini (if you have installed PHP this way). In other cases, you can simply add following values to your php.ini

If apc.php is showing miss-rate above 10%, the chances are high that you need to change value of some APC configuration option.

apc-poor-performance

There are many APC configuration options, but I recommend making changes to the following:

Total RAM storage allocated for APC (default is 32 MB)

apc.shm_size=1024M

Maximum size of a single file APC can store (default is 1MB)

apc.max_file_size=10M

Number of op-code “files” APC can store (default is 1000)

apc.num_files_hint=20000

Number of data entries APC can store (default is 4096)

apc.user_entries_hint=20000

Once you are done with tweaking, you need to restart PHP. Command: service php5-fpm restart

APC & WordPress + WP3 Total Cache

If you are using W3 Total Cache plugin, then you must make use of APC for Database Cache and Object Cache. 

Check following screenshot:

W3-Total-Cache-APC-1

Note: W3 Total cache will offer APC storage option for Page Cache and Minify Cache also. Do NOT use it. “Disk enhanced” is better for Page Cache & Minify Cache.

There are many caching engines available for PHP but I like APC for its simplicity. Also APC will be official caching mechanism for PHP 6 (someday…)

More: