Wincache performance on a live site
Earlier this month the IIS team released the first release candidate of their exciting new Wincache caching extension for PHP. In my view this new extension is the most significant work the IIS Team have done for hosting PHP applications on IIS since the they released the FastCGI handler for IIS back in 2006.
Claiming that Wincache is the best PHP tool to come from the IIS team since the FastCGI handler is a big call, however I do believe it is valid. Being an interpreted script, PHP can put heavy loads on your server resources which can greatly effect performance. This is where an opcode/file cache like Wincache comes in as its function is to vastly reduce PHP script processing times by storing the compiled bytecode of your PHP scripts in memory, and prior to Wincache there hasn't been a viable PHP opcode/file caching option out there for use on IIS/FastCGI.
Instead of showing you all sorts of test lab scenarios with theoretical claims of what performance increases should be achievable in the real world, I decided to use this very site with real web traffic to give you an idea of what Wincache can deliver. Based on the popular Drupal content management system, this should give you some real insight into the sort of performance improvements you can expect from utilising the Wincache extension.
Rather than reeling of statistics, I'm simply going to let the graphs do the talking. The graph below shows the average page generation times with +/- 1 standard deviation over the 23rd of October without the Wincache extension enabled.
From this you can see the average page generation time for the day hung around the 400ms mark. Below is the same graph from the following Friday (to keep traffic levels as comparable as possible) with the Wincache extension in full swing.
As you can see here the page generation time has been slashed to around the 150ms mark, which equates to a performance boost by around 250%. In anyone's book this is a massive performance increase, and given it takes about 5 minutes to implement with no code level modifications or optimisations makes it even more remarkable. I'm sure you'll agree that these figures give a lot of weight to my claim that this is the biggest release to come from the IIS team for PHP on IIS since the release of the FastCGI extension.
If you have been testing the Wincache extension as well, then I'd love to hear your feedback in the comments below. If you need support using Wincache, then I'd be more than happy to help. However I would ask you to please post support requests in the forums so as to keep discussion on topic.