SitePoint: "Dealing with browser caching is a balancing act. On one hand, you aim to minimize load times and bandwidth use by ensuring that images, scripts, and style sheets are cached by your visitors; however, you still want to ensure that they’re accessing the most recent versions of all your files.
In this article, I’ll show you a few methods for controlling how your site’s files are cached by browsers so you can achieve the best of both worlds: maintaining optimal performance while ensuring that any updates are seen immediately, without a hitch by all of your users."
"Check your Plone site's cachefu setup: small improvements
can help a lot. I assume you've got a basic cachefu setup pat down already,
which only means adding your few custom content types to the "content" or
"container" rules and saying you've got squid (and/or apache) in front. You
get good results with that: this blog entry helps you pinpoint some extra
improvements."
2bits is spending a lot of time lately discussing how best to manage a high traffic Drupal site. This particular article on Drupal's built-in caching caught my attention.
As a site grows, the overhead of executing so many queries per page against the database starts to add up. This is where caching can benefit a high traffic site. Drupal core caching Caching stores "elements" in a cache table in the database, so the data can be retrieved by a single query, rather that constructing the page from individual elements. Drupal's core cache has two parts, stuff that gets caches no matter what, and stuff that is optional via an administrator defined settings.
A great article posted on 2bits regarding the use of PHP accelerators: PHP op-code caches / accelerators: Drupal large site case study. While the article uses Drupal for the case study, the use of PHP op-code caches/accelerators such as eAccelerator and APC should benefit any PHP-based application on the server.
For a large Drupal site, one of the biggest performance boosts one can do is to install an op-code cache/accelerator. PHP op-code caches / Accelerators Since PHP is an interpreted language, every page access has to load the script, parse it, compile it into op-codes, then execute it. This load/parse/compile cycle can add up to a lot of processing time, specially when you have lots of page accesses. Op-code caches/accelerators eliminate this load/parse/compile time, by doing so once, and keeping the compiled version of the script in memory (or disk) and use it next time a page requests this script.
You'll want to especially take a look in the article at the CPU and memory usage comparisons between using and not using op-code caching. The writer also hints that eAccelerator may use less CPU and memory usage than APC. I personally like eAccelerator over APC, but either one is a must have if you run your site on a virtual private server (VPS) or a dedicated server. I run CMS Report using eAccelerator on a VPS I manage through Dakota Hosting.
"With the release of Drupal 5, you might be wondering which version of Drupal is faster -- the latest release in the Drupal 4 series, or the new Drupal 5?"
"WP-Cache and spam. Who’d have thought they were related? Unfortunately they are because when your blog is spammed WP-Cache doesn’t check if the comment is legitimate or not and deletes cached files related to the spammed post."
Over the weekend, I upgraded the server that hosts CMS Report with the latest stable releases of MySQL and eAccelerator. The upgrade from MySQL 4.1 to 5.0 was easy compared to the upgrade I made a year ago from MySQL 3.23 to 4.1. This time around I also have use of CPanel which meant I could make the database upgrade with at least one eye closed. My journey with upgrading from eAccelerator 0.9.4 to 0.9.5 however took a lot longer.
I've been using eAccelerator 0.9.4 since it was released early in 2006. I've gotten into some trouble in the past by those smarter than me when I tried to explain exactly what eAccelerator does and does not do. To play it safe this time around, I'll give you the summary of what eAccelerator does straight from eAccelerator.net: