Consultor Eletrônico



Kbase P11874: AppServer: How to track down the offending code that causes the AppServer process to excessively con
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   04/02/2005
Status: Unverified

GOAL:

Which clients are launching procedures that consume lot of CPU time?

GOAL:

AppServer: How can I see which client is connected ?

GOAL:

How to find the offending code ?

FACT(s) (Environment):

Progress 9.x

CAUSE:

Currently not any specific utility exists to look into the AppServer and to find all of the connected users.
However, if it is necessary to track down the offending
code that causes the AppServer process to excessively
consume the CPU, it is possible do it in the following manner:
1. Increase the server logging level to verbose using the Progress Explorer for the designated AppServer broker.
2. When the _proapsv.exe starts consuming lot of CPU look at the task manager (or 'ps -ef | grep _proapsv' or 'top' utility if the os is Unix) and note the time and the PID of the offending _proapsv.exe (or _proapsv) process.
3. Examine the AppServer broker log file and locate the server number for the PID of offending process.
4. Examine the AppServer server log file (e.g. asbroker1.server.log) and locate the time frame in the log file when the high CPU utilization was noticed using the server number from the previous step.
5. Find the procedure that was executing at the designated time frame.

Depending on the broker operating mode (Stateless, state-aware or state-reset)
it is possible to set the procedures that can be used to get the timing of the procedure execution for each request (Properties -> Server -> Advanced Features -> Activate and Deactivate procedures).
The information gathered in the log file can be used in order to profile the code executed on the AppServer.