PERFORMANCE ISSUE (SPECIFIC TO A PROCESS)
Description: An application performance issue is generally defined as an application or process performing below expectations. This can be due to high CPU usage, high memory usage or slow performance. This topic is specifically for an application or process with a performance issue, and not the overall operating system .
Scoping the Issue: First, determine the exact symptom you are experiencing. Is the application causing higher CPU usage than expected, performing data operations slowly or using too much memory?
If the application is using high CPU, try to determine if this is a constant situation or only when the application is doing something specific. Capturing a Performance Monitor log while the application is running might shed some light on the problem, and will most likely be asked for by the Microsoft engineer. You can also use a tool like Process Explorer to see real-time information on what a specific process is doing. This can be accomplished by running Process Explorer and viewing the Threads tab for the process in question. Keep in mind that you must configure debug symbols for this to work.
If the application is not performing up to expectations, but is not using high CPU or out of memory, the issue is most likely due to some sort of coding issue. If the process runs more slowly on a certain operating system, then the vendor of the application should be contacted to determine which part of their code path is performing below par. They can then work with our Developer Support group to determine if they are using the appropriate functions or methods in their code. Collecting a Performance Monitor log may assist in determining if there is an underlying problem causing this, such as network slowness or disk latency issues.
If it is determined that the application is performing slowly due to excessive memory usage, it is possible that the application is experiencing a memory leak or causing excessive paging due to load. Capturing Performance Monitor data, while the issue is occurring may be useful in these instances.
Data Gathering: In all instances, collecting either MPS Reports with the General, Internet and Networking, Business Networks and Server Components diagnostics, or a Performance-oriented MSDT manifest must be done. Additional data required will most likely involve a Performance Monitor log during an instance of the problem, and any application-specific error logs. In some instances we may require dump files to be collected.
Troubleshooting / Resolution: After you have gathered the data, there are some things to check:
Finally - where the application in question is either a custom in-house application or a third-party (non-Microsoft) application, you should always engage either your developer or the application vendor for assistance. The reason for this is that we do not have access to the application's source code or symbols - so our debug analysis may be incomplete. If the application is an in-house application (for example a .NET application) you should open a case with our developer support group for assistance.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.