performance

What is stopping Varnish?

Every so often with Pressflow and Varnish you might find that your anonymous users aren't being cached via Varnish.

A quick way to see whether your anonymous pages are being served is to add some debugging headers to Varnish by adding some code like the snippet here to vcl_deliver()

sub vcl_deliver {
if (obj.hits > 0) {
set resp.http.X-Varnish-Cache = "HIT";
}
else {
set resp.http.X-Varnish-Cache = "MISS";
}
}

and hit them with

curl -I http://yoururl.com

Memcached and PECL memcache on CentOS

At Tag1 Consulting we do a lot of work on increasing web site performance, especially around Drupal sites. One of the common tools we use is memcached combined with the Drupal Memcache module. In Drupal, there are a number of different caches which are stored in the (typically MySQL) database by default. This is good for performance as it cuts down on potentially large/slow SQL queries and PHP execution needed to display content on a site.

How to install APC on CentOS 6.2

Various instructions in Internet on the subject did not give any joy, so compiling my own sequence, which did the trick:

yum install php-pear php-devel httpd-devel gcc pcre-devel apc
nano /etc/php.d/apc.ini

Put the following in apc.ini:


; Enable apc extension module
extension=apc.so
apc.enabled=1
apc.shm_segments=1
apc.shm_size=256
apc.stat=0

Then copy apc.php to public_html directory of your website:

How to optimize Apache for performance memory usage

1. SSH into your server as root.
2. Run top.
3. Press shift + m.
4. Note the highest RES memory used by httpd.
5. Hit Q to exit top.
6. Execute: service httpd stop
7. Once httpd is stopped, execute: free -m
8. Note the memory listed under "used".
9. Find the guaranteed memory for your VPS plan. Support can tell you how much you have guaranteed if you cannot find it.
10. Subtract the memory USED from the memory that your plan is GUARANTEED. This will give you your base FREE MEMORY POOL.

Best APC settings for a Drupal site to reduce page execution time

This is one of those "how long is a piece of string questions".

What is good for a high-volume site may not be the same for a low-volume site with a lot of modules, and may not be the same for a medium-volume site with only a few modules enabled. Other sites running on the server may also be eating into the memory that APC has available.

My starting point is

apc.enabled=1
apc.shm_segments=1
apc.shm_size=64
apc.ttl=7200
apc.user_ttl=7200
apc.num_files_hint=1024
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.enable_cli=1
apc.rfc1867=1

Subscribe to RSS - performance