I have a high iis worker process attached to a site, cpu hits 99% and stops the site. Ive been looking at the official guide at http://www.iis.net/learn/troubleshoot/performance-issues/troubleshooting-high-cpu-in-an-iis-7x-application-pool but a bit over my head.
My site is a asp.net website (not compiled), is there a third party tool capable of telling me which page/line of code the app is hanging on?
Thanks
If you're using Visual Studio 2015 the tools you're looking for are built into the IDE.
https://msdn.microsoft.com/en-us/library/mt210448.aspx
If you're not using that another way will be to use Debug Diag.
https://blogs.msdn.microsoft.com/debugdiag/2015/11/13/debugdiag2-update-2-is-now-rtw/
You'll find how to instructions on each of these tools, just by doing google searches. But I believe these tools will point you in the right direction and help you fix the CPU issue.
Related
I am debugging some network issues in a desktop application that makes requests to a service using RestSharp. The actual problem is failing authentication to the service in some limited scenarios, although that is really not relevant to my question.
I have been using Fiddler4 but that has not helped. I wondered if the network tool in Visual Studio 2015 might give some other light on the problem.
https://blogs.msdn.microsoft.com/visualstudio/2015/05/04/introducing-visual-studios-network-tool/
However, when I start the performance profiler the Network tool is grayed out and in the list of 'Not Applicable Tools' (incidentally my menu structure is somewhat different to the screen shot shown in the link above.)I wondered if my Professional Edition does not have the tool enabled, but research on the Microsoft site does not seem to give any information about that. The word 'network' does not appear on this page
https://www.visualstudio.com/vs/compare/
Can anyone tell me what I need to do to access the network diagnostic tool to monitor my application ?
At the moment, the tool only works with the WinRT client. Is that what you are using?
Referring to the comment at the link you provided:
Operations made using the old .NET HttpClient API aren’t captured.
I am trying to profile a web application running on IIS in a Production environment (.Net framework 4.0, WebForms, SQLServer, Windows 2008 server) .
Several pages are repeatedly slow in Production, but we are unable to reproduce in Development.
We cannot install any IDE or similar tool in the Production environment.
Does anyone know of a DLL or a stand-alone exe that we could easily drop into the server, run for about an hour, and then quickly and easily remove?.... we are seeking one important aspect to profiling:
--> what is the amount of time spent for each CSharp method to run. <--
Thank you in advance.
Try this https://github.com/jitbit/cpu-analyzer command-line tool for profiling cpu load in production.
We forked this from the original Sam Saffron's cpu profiler, which is kinda abandoned now.
Disclaimer: I'm the maintainer of this project.
Perfview is the one of the best tool for this purpose, have used to find numerous production issues.
You can narrow down the issue using multiple approach, it can tell from network level to IIS to asp.net to your C# methods.It uses ETW events emitted by IiS,Asp.net and CLR to do this.
https://channel9.msdn.com/Series/PerfView-Tutorial/PerfView-Tutorial-7-Using-the-Event-Viewer-in-ASPNET-Scenarios
https://channel9.msdn.com/Series/PerfView-Tutorial
using the ThreadTime view you can narrow down to a particular method
Perfview always collect system wide data and you can also set a circular buffer .But best way to collect data is when the issue starts happening, You go to the server in question and start perfview trace and reproduce the issue.Then you can analyze this data later to find the performance bottleneck.
I have an ASP.NET Application I want to debug on localhost. When I run it without debugging, it runs very fast and smoothly, with about 3 seconds per page load. However, when I try to debug the app with Visual Studio and Chrome or Firefox, every page load takes about 20-30 or even 40 seconds to load, which is extremely slow. I have tried everything I found on the internet about these issues, yet none seems to help me out:
"Load all Symbols" from Microsoft Symbol servers, then uncheck that location
Delete all breakpoints
Uncheck "Enable property evaluation"
Other options I can't recall
Which is a good debugging configuration for asp.net apps? Any extra suggestions that may help?
Thank you very much and kind regards,
David
It is possible that your visual studio is using a lot of memory. You should try to turn off the browserlink which will reduce the amount of memory being allocated. It is still fine to disable the browserling and the preview still works.
Here is a guide and explanation
http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx
It is also possible that you have a lot of data or calculation to be ran in your form load.
Another possibility is a slow internet connection, this only applies if you have items or scripts on your page the are from an external source like JavaScript, CSS etc.
I need to set up a web server on WinCE (7.0) and the following are some of the features that I need to implement through this web site:
be able to update the device software (run an exe) and display output
start/end process
display the run-time of device
Should I use ASP or ISAPI on my web server on WinCE 7(WEC 7) platform? If you include some reasons for your response, it would be great.
I was planning on using ASP because of its simplicity compared to ISAPI; however, when I tested a simple Hello World(hello.asp) page on the device, it took around 30 seconds to load the page. For testing purposes, I am using Windows Virtual PC. So I am not sure what is causing it to be so slow. If you could please enlighten me on this topic too, it would be great.
I looked up ASP .NET Compact framework but I am concerned about performance again.
I am beginner on WinCE development and web development so any answers would be greatly appreciated.
If you need any other information to better answer the question, please let me know and I will provide it.
Classic ASP on CE is really, really limited. You're not going to be able to hit your targets without a custom COM control, which is not very fun to write or debug and it will have to be installed on the service device. Out of the two you've proposed, ISAPI is the only one that will reasonably do what you want.
It's a side note, but from experience I'd not use either due to the absolute pain of debugging either one. I'd use a separate commercial ASP.NET web server for Windows CE. Of course I created it, so I'm biased, but really, even creating your own port 80 server is going to be less painful than the piss-poor out-of-box offerings in CE.
I found out the problem with the slow loading ASP. It is an error with the WinCE 7 web server. Microsoft has released an update that fixes that problem.
Windows Embedded Compact 7 Monthly Update July 2011
So I think I will go ahead and use ASP. I'll see if I can add the features that I need to implement.
This problem is beginning to annoy.
After my machine (Vista Ultimate) has been up for a while, running my ASP.NET web site project for debugging in VS2008 results in Internet Explorer "hanging". It doesn't seem to get past the network access stage, you know when it says "Loading web site", or "Waiting for".
I've attached a screenshot of IE. Note the status bar. It stays like that forever. I have to restart it and cross my fingers for it to work the next time. Invariably, it doesn't.
This happened with IE7 and IE8.
I am using the ASP.NET Web Development Server/Cassini. I have tried restarting this each time which seemed ot have got it, but then not so any more.
I'm up to date on patches.
ie screenshot http://img40.imageshack.us/img40/5446/iehanging.png
So thankfully Microsoft have finally released Security Essentials.
This meant I could de-install AVG (Free and paid-for versions) from my machine.
Hey presto, it works!
I would check the following
1) that your not starting IE against the webserver againt the wrong port, if your using the development IIS then it changes ports at times. That combined with you setting up the browser to launch against a the old port could create this problem.
2) Stop the local IIS and restart it (Again make sure your pointing towards the correct port)
3) Make sure you dont have any hung IE in task manager ( this happens to me sometimes ). Basiclly you have a IE in task manager that uses less then 1mb of ram and does not show on the taskbar, if thats the case kill them.
This doesn't sound, strictly speaking, like a hang. Can that tab/other tabs be navigated to other sites? Is your machine configured to use a proxy?
Is the request actually sent? Using Fiddler2 from www.fiddler2.com with the URL http://ipv4.fiddler:56125/ will show you, and help determine where in IE the problem might be.
I just had a similar problem that took about a week to unravel. Using AVG 9 Business Edition.
I'm on a Windows 7 machine with Visual Studio 2010 SP1, debugging ASP.NET sites running in IIS, with the same "hang" behavior you're seeing. Disabling LinkScanner and Online Shield in AVG fixed the problem.