MVC Performance in IIS – Part II

Last 2 weeks, I run MVC training kit to IIS 7.5 and was trying to figure out the baseline for the performance tuning for my project. I tested 3 Scenarios,

S1) Hosting MVC 1.0 Training Kit in Application under Default Website
S2) Hosting MVC 1.0 Training Kit in New Website with port 8081
S3) Hosting my company's MVC Project in New Website with port 8082

And their result of max throughput on Default Page is around,

Result 1 Screen Shot
R1 Result Screen Shot

Result 2 Screen shot
R2 Result Screen Shot

R1) ~200/sec
R2) ~2980/sec
R3) ~410/sec

This time, I tested in more scenarios,

S4) Moving MVC 1.0 Training Kit to root of Default Website
S5) Hosting MVC 1.0 Training Kit in Application under New Website with port 8081
S6) Hosting my company's MVC Project in Root of Default Website

And their result now are,

Result 4 Screen shot
R4 Result Screen Shot

Result 5 Screen Shot
R5 Result Screen Shot

Result 6 Screen shot
R6 Result Screen Shot

R4) ~225/sec
R5) ~2650/sec
R6) ~170/sec

OK, let me group the result in a table and so we could view all results more clear.

  In Root In Application
MVC 1.0 Kit in Default Website ~225/sec ~200/sec
MVC 1.0 Kit in New Website with port 8081 ~2980/sec ~2650/sec
Company MVC Project in Default Website n/a ~170/sec
Company MVC Project in New Website with port 8082 ~410/sec n/a

Now the results are showing that
1) The performance will be gained about 10% if you move the MVC project from Application under website into root of website.
2) The performance will be gained in a range from 240% - 1325%  if you move the MVC project from Default Webste to New Website.

Must read articles when get starting with Hyper-V

Recent I have to setup a Win2k8 R2 with Hyper-V role enabled, this is my first time to try Hyper-V. There is only one NIC in my machine. After enabled Hyper-V role, I found out that the Network Adapter now becomes 2 Network Adapter. A new Virtual Network Adapter has created. I then found out that the "physical NIC" only have "Microsoft Virtual Network Switch Protocol" is enabled. All my other service, settings are moved to the new Virtual Network Adapter. And you will found out that there are 3 connection types from the Virtual Network Manager, they are "External", "Internal Only" and "Private virtual machine network". And an option "Allow management operating System to share this network adapter". This option is only applied to Win2k8 R2 Hyper-V. So you could not found this option in Win2k8 Hyper-V

I then browse to internet, search around and found out few very good articles that you must read before you get starting with Hyper-V. You should read them if you are first hand on Hyper-V and then you could get to know more about the change from VMware WorkStation / Virtual PC/ Virtual Server.

Understanding Networking with Hyper-V

How does basic networking work in Hyper-V?

Configuring Virtual Networks