Responsiveness of the public site

In contrast to most common FOSS CMS systems, SPIP includes its very own caching system in order to make the public side of your web site more responsive. Here are a few tips to understand which elements contribute to speed up your site...

Optimising a site

If you’re concerned about your site being unresponsive (in other words, just too slow), then we recommend that you take a look at the following possibilities to address the problem:

-  Does your Web host actually offer performance of a high enough quality? Of course, this is a very subjective question. The phrase "poor quality" could be used to cover a wide swath of free ISP providers (including "Good quality" would necessarily include a dedicated machine (i.e. one which services only your site) of recent manufacture, but also many other commercial hosts that aren’t just "cheapies". Between the two extremes, what good enough constitutes is very subjective, depending on your demands and expectations, and also on the size and popularity of your site....

-  If your selected host leaves something to be desired in terms of performance, then it is a good idea not to create template files that are particularly complicated, i.e. which require SPIP to retrieve and format a lot of different types of information. This applies to any kind type of data: anything within the templates which is likely to be transformed by SPIP into viewable data. In particular, note that the default templates provided with SPIP tend to demonstrate a large number of possible features provided by SPIP, and consequently tend to generate pages which are quite large and time-consuming to generate.

-  Also don’t forget to check the expiry periods for the various types of pages on your site. In this respect, if your site contains a large number of old articles that are never updated but still viewed, it could well be in your interest to increase the expiry duration for your articles, otherwise articles that are not viewed very often will not benefit from using SPIP’s cache facilities.

What the cache does

The existence of the cache itself does not per se alter matters in terms of speed. It is not simply the number of visitors to your site that constitutes the critical point, but moreover the capacity of your server to recalculate pages within the time allocated to the PHP script (in fact on many servers, an execution time limit is specified in order to avoid abuse and bad programming techniques). On the other hand, if the requested page already exists in the cache and has not expired, then the server response is virtually instantaneous (if that’s not the case, then your server really is overloaded).

The quality of speed performance then becomes objectively measurable if, when recalculating a page for the site, you obtain a "timeout" message, which means that the server has exceeded the maximum execution time permitted to a PHP script. In this case, you need to think about changing your ISP, or to resolve the situation by displaying pages with simpler content: this entails editing your templates so that they display less information on a single page.

On a dedicated machine

If you’re using your own machine, you still need to make sure that it can support the expected load. Most machines sold for the purpose (and less than three years old) should be well capable of managing a typical web site.

On the other hand, using SPIP instead of many other CMS systems does offer the chance to share some of the underlying technical resources between several distinct web sites. In fact, whenever the cache is used, the machine is under-utilised, and several such sites can live together on the same machine without any problem (except, of course, if you really have a very large number of sites). The problem would then be that there are simply to many passengers on the same bus, meaning that there are too many "services" being provisioned on the one machine (web sites, mail boxes, file servers, etc.) which adversely affect the quality of service that can be delivered.

Author Mark Published : Updated : 26/10/12

Translations : عربي, català, English, Español, français, italiano, Nederlands