Jump to content

Capturing Perfview for Classic Asp Web Application hosted on IIS


Recommended Posts

Guest Archi_Chakraborty
Posted

Recently, we assisted a customer who was facing slowness issues with their classic ASP web application. However, we encountered some unusual behavior. Despite detecting a slowdown of over 15 seconds in the IIS logs, the Failed Request Tracing logs did not generate any data for the "Time taken" field. To identify the root cause of the issue, we collected Perfview ETW for the classic ASP application, allowing us to load all the events and identify the modules and events that were taking the longest time to load during the problem.

 

 

 

Here are the steps we followed :

 

 

  • Open the Perfview tool on the server by running it as an Administrator.

  • Go to Collect Menu and select Collect option.

 

700x238vv2.png.4b4f866246630c766c3c9c592254a68e.png

 

 

  • In the dialog box that opens, Select Zip, Merge, thread time check boxes.

  • Expand the Advanced Options tab and select IIS checkbox.

 

 

857x462vv2.png.f7a238ce456837e3d47e333108254acc.png

 

 

 

  • Again, click on the “Provider Browser” and choose the

 

901x430vv2.png.5804dc9d84c50f5a24604432f7376761.png

 

 

 

 

 

  • Now, click on the “Start Collection” button.
  • Run your application.
  • Once the application has finished loading up, stop the collection by clicking on the Stop Collection Button in Perfview.
  • Let the etl file get merged to a zip file.(A pop will come asking which symbols you want to use ,choose "Microsoft Symbols")
  • Upload the zip file generated, to the workspace provided to you.

 

Note: Do not run this trace for more than 1-2 minutes:

 

 

 

Once we open the events section of the perfview we could see these ASP events are captured :

 

526x1090vv2.thumb.png.466ee749b1e3447a36a4fc338b9aa588.png

 

 

 

Once we open the above-highlighted events, we could see much more detailed information about the requests :

 

 

957x276vv2.png.3ce9a632413dcffa35e9401dd2c367f6.png

 

 

 

In case , we are not able to capture the etw via the perfview UI , then we could use the command line as well :

 

 

  • Run the command prompt as an Administrator and navigate to the file path where you have stored the perfview.exe
  • Run this command :
     
     
    PerfView.exe "/DataFile:PerfViewData.etl" /BufferSizeMB:256 /StackCompression /CircularMB:1000 /KernelEvents:ThreadTime /Providers:"IIS: Active Server Pages (ASP)::Verbose,Microsoft-Windows-IIS" /NoGui collect
  • Once the command starts, you would notice a separate command prompt window opening up and it would look like this :
     
    857x493vv2.png.88ac53b2546e682095954a114e6ee230.png

 

 

 

  • Once the log collection has started, please replicate the issue and then you can just type “s” to manually stop the capture, and then you would notice that it is automatically merging and zipping the file for you in the same location where we have the exe.
  • You have to open the events section again, to check for all the Asp events for the request.

  •  
     
    Happy Troubleshooting :smiling_face_with_smiling_eyes:
     

 

Continue reading...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...