locked
asp.net performance profiling memory etc RRS feed

  • Question

  • User-2146352328 posted

    Hi. Not sure where to post this.

    I'm investigating way to monitor asp.net performance , profiling, memory leaks etc.

    I'm not really sure where to start so i found this link:

    http://msdn.microsoft.com/en-us/library/ff647787.aspx

    I would appreciate any advice on what to look for.

    Also if this is the wrong thread please move accordingly.

    Thanks.

    Thursday, August 1, 2013 9:55 AM

Answers

  • User281315223 posted

    I'll offer a few suggestions on general areas to investigate and help determine ways that you can improve the performance of your .NET Applications.

    The Web Developer Checklist

    If you want an excellent resource that encompasses a variety of methods to improve your website or web application, I cannot recommend the Web Developer Checklist enough.

    It features tools and resources that can help you analyze several aspects of your site including : 

    • Best Practices (ensuring that your markup is in good condition and features like spell-checking)
    • Mobile Analysis (checking that your site works well on Mobile devices)
    • Analytics Checking (tools for uptime monitoring and traffic analysis)
    • Performance (including Google PageSpeed Insights, Yahoo's YSlow and tips to optimize your sites Headers and Images)
    • Usability (tools to check HTML5 compliance , Search-friendly URLs and more)
    • Accessibility (ensuring your site can be accessed using screen readers and has appropriate contrast levels)
    • SEO (tools to analyze how accessible and readable your site is for Search Engine crawlers and more)
    • Code Quality (CSS, Javascript and HTML validation tools)
    • Semantics (checking for additional data within your site)
    • Security (checks for best practices for securing your site and preventing nasty things like XSS)
    • Social Media (checks if your site is properly connected up with social media sites like Twitter and Facebook)

    There is also an ASP.NET-specific version available on the site as well and one that focuses specifically on ASP.NET Performance.

    Third Party Web-based Analyzers

    There are numerous other tools out there to help find areas where you can improve the performance of your Web Applications : 

    • Using Google PageInsights - Google's PageInsights can help you find areas of improvement and offers suggestions on how to get your site running faster.
    • Using Yahoo's YSlow Analyzer - Very similar to Google's PageInsights, YSlow looks for areas that you can check to improve the performance of your site.
    • The Web Developer Checklist for ASP.NET Performance - An incredible resource with a variety of different categories, tools and resources for improving your sites performance and finding areas of weakness. (I can't mention this enough)

    Profilers and Code Optimizers

    • ANTS Performance Profiler - This profiler is a great tool that can be used to analyze your code and find areas that can be improved and reveal areas where possible issues or problems could arise. A 14-day free trial is available.
    • Resharper Resharper in my opinion is the single greatest tool available in the .NET Development world. It provides code suggestions for improvements as your develop your applications, which allows best practices to easily become habit. Code Quality analysis. Error Elimination. Code Testing. It really is an incredible tool that I couldn't recommend enough. A 30-day free trial of it is also available.
    • EQATEC Profiler Much like the two tools mentioned previously, the EQATEC profiler allows you to run analysis to find improvements and areas of weakness within your code with one major difference, it's free.
    • The .NET CLR Profiler - While it lacks many of the features the above fully-featured third party profilers have, it is a free tool that will allow you to analyze memory allocation, heap and stack usage and a few other things related to your .NET applications.
    • Related Stack Overflow Discussion on the "Best .NET Profilers"
    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Thursday, August 1, 2013 10:01 AM

All replies

  • User281315223 posted

    I'll offer a few suggestions on general areas to investigate and help determine ways that you can improve the performance of your .NET Applications.

    The Web Developer Checklist

    If you want an excellent resource that encompasses a variety of methods to improve your website or web application, I cannot recommend the Web Developer Checklist enough.

    It features tools and resources that can help you analyze several aspects of your site including : 

    • Best Practices (ensuring that your markup is in good condition and features like spell-checking)
    • Mobile Analysis (checking that your site works well on Mobile devices)
    • Analytics Checking (tools for uptime monitoring and traffic analysis)
    • Performance (including Google PageSpeed Insights, Yahoo's YSlow and tips to optimize your sites Headers and Images)
    • Usability (tools to check HTML5 compliance , Search-friendly URLs and more)
    • Accessibility (ensuring your site can be accessed using screen readers and has appropriate contrast levels)
    • SEO (tools to analyze how accessible and readable your site is for Search Engine crawlers and more)
    • Code Quality (CSS, Javascript and HTML validation tools)
    • Semantics (checking for additional data within your site)
    • Security (checks for best practices for securing your site and preventing nasty things like XSS)
    • Social Media (checks if your site is properly connected up with social media sites like Twitter and Facebook)

    There is also an ASP.NET-specific version available on the site as well and one that focuses specifically on ASP.NET Performance.

    Third Party Web-based Analyzers

    There are numerous other tools out there to help find areas where you can improve the performance of your Web Applications : 

    • Using Google PageInsights - Google's PageInsights can help you find areas of improvement and offers suggestions on how to get your site running faster.
    • Using Yahoo's YSlow Analyzer - Very similar to Google's PageInsights, YSlow looks for areas that you can check to improve the performance of your site.
    • The Web Developer Checklist for ASP.NET Performance - An incredible resource with a variety of different categories, tools and resources for improving your sites performance and finding areas of weakness. (I can't mention this enough)

    Profilers and Code Optimizers

    • ANTS Performance Profiler - This profiler is a great tool that can be used to analyze your code and find areas that can be improved and reveal areas where possible issues or problems could arise. A 14-day free trial is available.
    • Resharper Resharper in my opinion is the single greatest tool available in the .NET Development world. It provides code suggestions for improvements as your develop your applications, which allows best practices to easily become habit. Code Quality analysis. Error Elimination. Code Testing. It really is an incredible tool that I couldn't recommend enough. A 30-day free trial of it is also available.
    • EQATEC Profiler Much like the two tools mentioned previously, the EQATEC profiler allows you to run analysis to find improvements and areas of weakness within your code with one major difference, it's free.
    • The .NET CLR Profiler - While it lacks many of the features the above fully-featured third party profilers have, it is a free tool that will allow you to analyze memory allocation, heap and stack usage and a few other things related to your .NET applications.
    • Related Stack Overflow Discussion on the "Best .NET Profilers"
    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Thursday, August 1, 2013 10:01 AM
  • User-2146352328 posted

    Hi. Probably the most complete answer i ever got as a form member but i have some quick - dirty questions before i start investigating.

    1) Does asp.net react like .net? I mean in .net you can use for example the garbage collector to speed up or free resources that may have been "trapped" so you can reduce memory usage. Does the same prinipals apply in asp.net?

    2) Should the investigation be done in the actual web server or a local IIS will provide the same info? Of course i am almost sure that the asp.net local development server is not the place to do performance compares(is that correct?).

    3)Been seeing a lot about imporvment on markup, css, viewstate, caching at most. Is the general idea that asp.net web apps are much different than winforms in the aspect of performance improvement as for example my question no 1 ? Meaning you cannot or don't need to go to core issues so much?

    Thanks.

    Thursday, August 1, 2013 5:18 PM