How can I compare performance of a classic ASP page rewritten in ASP .NET with JMeter or a profiler? 


We have a classic ASP application that establishes a DB connection, executes a stored procedure into a recordset, and displays the results in an HTML table to the user.

We have been having resource (ie. memory), and performance (users wait up to 10 minutes for ALL data to be displayed) issues with this site -- and after some discussion, we decided to rewrite this report in .NET and measure/compare the performance gains of the original vs. the rewrite. To simulate requests to those reports, we've recorded a few scripts to run using JMeter.

For the RESOURCE comparison, I want to measure the following performance counters: Private Bytes Memory, Virtual Bytes Memory, Total CPU, and CPU of the Process.

For the PERFORMANCE comparison, I've been using one of the built in JMeter listeners that show Average/Min/Max response time and Average Bytes per each request.

Will this set of data give me enough data to say conclusively that YES, the rewrite improved (or didn't improve) performance head-to-head in these areas or should I be looking at different performance counters or perfmon data.

[I read about Profilers and we have ANTS, but I'm not sure how I can apply that to a classic ASP page. Seems like it would be an apples/oranges comparison]

Opinions are appreciated!

1 Answer: 

You have two main bottlenecks there and ASP is not one of them.

  1. Database: Connecting thought ASP classic or does not make any difference if the query takes long. But you can take advantage of the advanced caching

  2. HTML rendering: If the query returns a lot of row, the browser will take their time render the full table, no matter if it's ASP classic or .net. You can mitigate this problem by providing paging. (Several grid controls or helpers have the ability to do so)