Posted on 24/11/2018 11:31:01
Hi Pang Lin
Those are difficult.
First start by looking at the "worker processes" that you find in the root of IIS manager. It is not always installed - but should be there. See dump#1.
That will give you a list of running pages in your webserver with how long they have been running - you will probably see some hanging URLs there like www.domain.com/checkout/somepage - and you have to look at if it is the same page on the list of long running scripts (then that page has something on it that you need to fix) or it is a random list of different pages that are running. If it is random, you can have something that is slow on all pages, i.e. live prices from ERP etc.
It can also be that you just have a lot of conccurrent users all the time and the server is in problems due to that. Hard to tell without full access to the server.
If you find the page with the issue - you can locate the problem probably. If you think it is a code issue, but do not know what it is, you can use some serious debuggin (hard task), see MS docs:
https://docs.microsoft.com/en-us/iis/troubleshoot/performance-issues/troubleshooting-high-cpu-in-an-iis-7x-application-pool
Other articles that might help you out:
https://blogs.msdn.microsoft.com/benjaminperkins/2016/06/16/lab-19-debugging-a-high-cpu-hang-w3wp-process-using-windbg/
https://stackify.com/w3wp-high-cpu-usage/
BR Nicolai