Joined: 28 Jan 2008
|Posted: Sat Feb 06, 2010 4:45 pm Post subject: WASD, Python adnd pyRTE performance.
I just made a port to the WASD mailing list, but maybe there is someone
here also that have insight in this matter. See below for a copy of
the WASD post. It's the pyRTE tool described here :
Best regards, Jan-Erik
I just installed and tested the pyRTE in my WASD/Python
test envoronment. All went well and the test scripts
pyrte_test1.py and pyrte_test2.py works.
pyrte_test3.py crasches with a "logical name
PYRTE_CACHE_ENTRY not defined" error and pyrte_test4.py
crashes when it can't create the tmp-file but let's
forget about the test 3 and 4 for the moment...
First time the sripts (1 and 2) are called (from my browser)
the server stays several secs at 100% CPU before the reply
is displayed. If I simply "refresh" the screen I see two
process "HTTPd:80 and HTTPd:80-25) doing a few I/O's and
taking very little CPU. The first run (when HTTPd:80-25 was
cerated took over 5 CPU secs and then each call takes
aprox 3 CPU ms.
The test2 also have a Stat_Timer that shows :
First time :
REAL:00:00:03.20 CPU:3.17 DIO:27 BIO:1276 FAULTS:438
Second time :
REAL:00:00:00.01 CPU:0.01 DIO:0 BIO:4 FAULTS:0
This is a "AlphaStation XP900 466 MHz, EV6" system.
The target prod system is a DS20e 883 MHz EV67, so
I expect a little better performance there since
it seems to be CPU-bound...
Now the Q's...
What is the server process doing the first time ?
Is there anyway to make the first call run faster ?
What is controlling how the server process is reused ?
When "knob" should I turn to make the server process
live longer ? And can that be controlled on per script
(or per URL/map) base ?
(I see that even if I switch between test1 and test2 the
same server process is reused.)
I have also made a mod of test4 which takes a param
in the form and runes against Rdb to select using the
value and simply displayes a single row. This takes
aprox 10 CPU-secs for the first call and aprox 0.01 CPU
secs for following calls. I use different data in the
form and the correct Rdb record is displayed each time,
so I know that the script actualy runs (correctly).
The performance of the second and following calls is
*very good*, but the first call is a bit of a problem.