Archive

Posts Tagged ‘performance’

Decrease CPU utilization with Wincache on IIS 7.5/8 for php sites

August 4, 2013 4 comments

Hi,

I worked a month ago on a php Web Platform that is massively consulted by about 200000 users.

We have applied a good tuning job using these tips and tricks without the wincache module bacause it caused some troubles on IIS 7.5.

We have decided to try the same application on IIS 8 and the results in terms of performances were so good.

To optimize the processor time utilization , we had to use the kernel Output caching in IIS. The selected parameter was “Using file change notification”.

To test the performances, we used the Fastream Web Stress Testster to stress our web site on a server.

1rst case : Kernel cache activated with “Using file change notification” parameter:

Proc1

However, we have noticed that the dynamic php pages updates take effects after a TTL of 30 sec. For this reason, the wonderful Hamid has suggested to change the parameter of Kernel caching and fix it to “At time intervals” with 1 sec as value.

After applying this configuration, the php updates are resolved with almost the same rates in terms of hits/sec.

But we have forgotten to check the CPU utilization which increases incredibly up to 60% using the same benchmark.

2nd case : Kernel cache activated with “At time intervals” with 1 sec as value:

Proc2

The question now: how to reduce the CPU utilization? Wincache is the right response. This extension aims to accelerate the php scripts with low CPU utilization. In my case I have applied exactly the steps described in this excellent post which explains the right way to configure Wincache for IIS 7.5 and 8.

Let us now apply the same benchmark and see the results :

3rd case : Kernel cache activated with “At time intervals” with 1 sec as value and wincache:

wincache1

As you can see the CPU utilization is reduced to approximatively 20%.

That is not all. The hits increase also beacause the waincache is an accelerator and the worker process with its fast cgi threads are able to treat more requests at the same time :

Registered hits without wincache :

Win2008R2Test

Registered hits with wincache :

wincache

Hope it is helpful!

Advertisements
Categories: IIS, MS Technologies Tags: , , ,