MVC Performance in IIS – Part I

Recent, I am focusing on MVC/.NET/IIS performance because of my job duty. I have to try and running load test in order to get the number of max thoughput, so that I could figure out a baseline for the web projects in my working company. I then setup a computer to host IIS with MVC projects. Here is what I get,


Hardware:


Web Server
CPU: Core 2 Due E8400
Ram: 4Gb DDR2-800
OS: 64-bit Windows 2008 R2 Enterprise Edition
Data: SQL 2008 Express Edition (for training kit data) + XML files (for my project data)


Client Computer
CPU: Dual-Core E5300
Ram: 4Gb DDR2-800
OS: 32-bit Windows 2008 Enterprise Edition SP2


Test tool
Apache JMeter v2.3.4 with Java Runtime v6.0.200.2


Scenario One


  • Hosting MVC 1.0 Training Kit
  • Hosting as Application in Virtual Directory in Default Website
  • Separate Application Pool from default website
  • Testing with 100 threads, 500 threads, 1000 threads and 1500 threads
  • Max thoughput
    • Default Page: ~200/sec
    • About Page: ~190/sec
    • Customers Page: ~73/sec

Scenario Two


  • Hosting MVC 1.0 Training Kit
  • Hosting in New Website
  • Separate Application Pool
  • Max thoughput
    • Default Page: ~2980/sec
    • Customers Page: ~388/sec

Scenario Three


  • Hosting MVC 2.0 project in my working company
  • Hosting in New Website
  • Separate Application Pool
  • Max thoughput
    • Static data from class: ~410/sec
    • Opening XML data file: ~274/sec

Interesting, this is the first time I try to do some benchmark. And I found out the performance betweenVirtual Directory under Default Website and New Website is hugh. It is 15 times difference. I tried to look around and still cannot figure out the reason. I will come back  here later when I have some updates.

P.S., the above number of the max thoughput are just for reference. They might be up or down with difference hardware and applications installed. In my testing, Server CPU is running up to 100% already. So the bottleneck may be SQL service in same machine, network loading, Machine is not a “REAL” server hardware….etc.

One thought on “MVC Performance in IIS – Part I”

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>