Kbase P23971: How many WebSpeed Agents do I need to run my Web Site?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  29/04/2005 |
|
Status: Unverified
GOAL:
How many WebSpeed Agents do I need to run my Web Site?
GOAL:
How to calculate the numbers of WebSpeed Agents which is needed.
GOAL:
How to calculate the number of WebSpeed Agents required to run my WebSpeed application?
FACT(s) (Environment):
WebSpeed 3.1x
FIX:
In order to obtain the required information about connection analysis, do the following:
Make a copy of <Progress-Install-Dir>\web\objects\web-disp.p for modification.
You will add two messages:
- one before the "RUN run-web-object" logging the request startup
- one after logging the request end and the time of the execution in milliseconds.
1. At the beginning of the procedure, define the variable:
DEFINE VARIABLE i_time AS INTEGER NO-UNDO.
2. Locate the event 'ON "WEB-NOTIFY":U ANYWHERE DO'.
3. Make the modification:
...
MESSAGE "Request started for: " AppProgram .
i_time = ETIME(yes).
RUN run-web-object IN web-utilities-hdl (AppProgram).
i_time = ETIME .
MESSAGE "Execution time: " STRING(i_time) " Request ended for: "
AppProgram .
4. Add your working directory to the beginning of the PROPATH, then place the
copy of the modified web-disp.p in <working directory>\web\objects\web-disp.p
This way it will find your modified web-disp.p first on the PROPATH, and use it instead of <Progress-Install-Dir>\web\objects\web-disp.p.
After you have collected the timing data from the wsbroker.server.log file the
calculation is as follows:
<No# of required agents> = ROUND( <No# of required hits / 60 sec> / < average
time (in sec)> )
Example 1:
Average execution time = 500 mS = 0.5 sec
Required number of hits per 1 minute (60 sec) = 100
<No# of required agents> = ROUND((100 / 60) / 0.5) = ROUND(1.67 / 0.5) =
ROUND(0.835) = 1
therefore one agent is sufficient
Example 2:
Average execution time = 800 mS = 0.8 sec
Required number of hits per 1 minute (60 sec) = 650
<No# of required agents> = ROUND((650 / 60) / 0.8) = ROUND(10.84 / 0.8) =
ROUND(13.55) 14 therefore 14 agents should be sufficient
These are just rough estimates, as there are number of other things that can
influence execution time and therefore number of required agents, like:
- CPU
- Memory
- DB load
- Web Server
- Location of each component