locked
ASP.NET profiler using Instrumentation mode RRS feed

  • Question

  • Hi

    I have the following setup:

    • Machine1: Visual studio, test controller, test agent for generating load.
    • Machine2: Web application running on IIS, test agent for collecting ASP.NET profiling data.

    I have successfully set up and executed a load test from machine1 and collected the profiling data form machine2 according to http://msdn.microsoft.com/en-us/library/ff805009#bkmk_toinstalatestagentontheinternetinformationserver, however, I get the following warning:

    Warning 1  DA0003: TotalSamples = 161,505.00; You have a high proportion of samples in Kernel Mode. This might indicate a high volume of I/O activity or a high rate of context switching. Consider profiling your application again using Instrumentation Mode.

    How do I instruct the collector agent to collect instrumentation data?

    Thanks in advance.

    Tuesday, June 19, 2012 11:03 AM

Answers

All replies

  • Hi Stefan,

    Thank you for posting in the MSDN forum.

    See this article “How to: Configure ASP.NET Profiler for Load Tests Using Test Settings

    The ASP.NET profiler diagnostic data adapter lets you collect ASP.NET profiler data from the application tier when you run a load test. You should not run the profiler for long load tests, for example, load tests that run longer than one hour. This is because the profiler file can become large, perhaps hundreds of megabytes. Instead, run shorter load tests by using the ASP.NET profiler, which will still give you the benefit of deep diagnosis of performance problems.

    Like the above information, I doubt that whether it is related to the load test running time, maybe you could try to run it for a shorter load test, in addition, if you create a simple new web app, whether it has the same issue?

    About this warning, as my understanding, it means that if you want to Collects detailed timing information about each function call. It suggest that you’d better use the Instrumentation Mode, but I’m afraid that you would need to use the Profiling tool in the VS, since it doesn’t have this setting  for the ASP.NET profiler in test settings. See “Understanding Profiling Methods”.

    Reference:

    Analyzing Application Performance by Using Profiling Tools

    Off Road Profiling of ASP.NET Applications

    Hope it could help.

    Best Regards,


    Jack Zhai [MSFT]
    MSDN Community Support | Feedback to us


    Wednesday, June 20, 2012 9:03 AM
    Moderator
  • Hi Jack, thanks for your answer!

    It is clear that the warning might disappear if I changed the conditions of my test. In terms of the web application source code it is not in my possession and I cannot change it. But more relevant, is it possible to change to "Instrumentation mode" at all when profiling during a load test? As I understand the default profiling method for ASP.NET during load test is “sampling” as described in http://msdn.microsoft.com/en-us/library/dd264994.aspx, but it would be nice to be able to change to the other methods as well.

    BR Stefan

    Wednesday, June 20, 2012 12:48 PM
  • Hi Stefan,

    Glad to receive your reply.

    As I understand the default profiling method for ASP.NETduring load test is “sampling” as described in http://msdn.microsoft.com/en-us/library/dd264994.aspx.

    I agree with you, if we want to Collects detailed timing information about each function call, I’m afraid that we would run a Performance Session on a Web Application.

    I did some research about it, but I also didn’t find any settings could change the ASP.NET profiler to Instrumentation mode. Generally, Visual Studio product team is listening to user voice at http://visualstudio.uservoice.com/forums/121579-visual-studio . You could send your feature request there and people can vote.

    Have a nice day,


    Jack Zhai [MSFT]
    MSDN Community Support | Feedback to us

    Thursday, June 21, 2012 2:48 AM
    Moderator