MSPSS: is there life after the helpdesk?

sharing solutions to uncommon IT problems

Joomla on IIS7.5 – configuration and performances

leave a comment »


Hello,

first of all I would like to spend some nice words on IIS7.5 which is probably the best web server I ever got to work with.

Every time I talk to contractors I employ to develop or update one of our websites, they frown as I mention that we have a full windows environment and start saying that IIS does not support redirections, rewrites, that performance will be impaired, that I DONT HAVE SSH…

What I always tell these people is that I currently have 5 websites PHP/MySQL running under IIS7.5 and they all perform splendidly:

  • IIS7.5 supports PHP out of the box (and the admin configuration window is slightly more user friendly than the good old php.ini)
  • IIS7.5 supports redirections, rewrites and it’s even easier to configure than your htaccess, especially thanks to a handy UI which allows you to test your regular expressions. Moreover you can automatically import rules out of your htaccess file
  • IIS7.5 has 2 levels of caching (kernel and user): you don’t have that on Apache, do you?
  • IIS7.5 allows you to have multiple worker processes serving the same website (called webgarden)… see below my benchmark so see the advantages
  • IIS7.5 allows virtual hosts for FTP sites: quite handy if, like me, you have a busy web server (what do you need SSH for now???)

… and so much more.

Now to the performances… As I said earlier I currently host 5 Joomla PHP/MySQL websites, all of them on IIS7.5 webservers.

I tune around and try different options to get the most out of both Joomla and my web server but with these CMS you better be careful as some modules do not particularly like to be cached indiscriminately.

For Joomla 2.5 in particular I did a benchmark testing of a pretty big, important website:

  • 1000 pages
  • 10000 users per day
  • 9/10 Page rank

I tested it with 100 users, clicking 5 times each on 3 different URLs (chosen randomly).

The stress tool I used is Webserver Stress tool 7 by Paessler.

The different options I used are:

  • IIS7.5 Webgarden: the possibility to have multiple processes serving the same worker process
  • Joomla System (Page) Cache
  • Joomla View Cache (conservative or progressive): by the way, this type of cache doesn’t work well with some modules

I wouldn’t use the IIS7.5 built-in caching options as they mess up Joomla modules pretty badly.

View Cache No No Yes Yes Yes No No
Type of view cache N/A N/A Progressive Progressive Conservative N/A N/A
Page Cache Yes Yes No No No No No
Worker Process (Web Garden) 1 5 5 1 5 5 1
Errors 0 0 0 0 0 0 0
Avg time per page (seconds) 1.6 0.8 11 18 16 28 36
Pros SuperFast even under heavy load – no impact on events module (see view cache) SuperFast even under heavy load – no impact on events module (see view cache) Fast and component based. Fast and component based. Fast and component based. Always up to date due to no outdated cache Always up to date due to no outdated cache
Cons The admin area is not cachedThe hit counters are not incremented (we don’t use them) The admin area is not cachedThe hit counters are not incremented (we don’t use them) It causes an issue on the events page which we could probably solve It causes an issue on the events page which we could probably solve It causes an issue on the events page which we could probably solve Fast enough if server is unused but much slower under heavy load Fast enough if server is unused but much slower under heavy load

To conclude, I see no reasons for using anything more than page cache. View cache also seems interesting but you have to test each module and disable the ones that do not support it.

The webgarden is also a nice surprise, I never use it on ASP, ASP.NET websites as web gardens mess up a little Application variables but for Joomla, I haven’t experienced any problem yet.

Advertisements

Written by zantoro

December 23, 2012 at 11:15 pm

Posted in IIS, Joomla

Tagged with ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: