Hi,
I’m running AEP9.1 HF2 on Windows server 2008
We have a 2 large protocols. Protocol 1 is 19Mb (XML size) and within it is a link to a second protocol of 73Mb (XML size) which is also called.
If I run the protocol 1 it takes 6.8 seconds to run in the Pipeline Pilot client.
If I run it a second time it takes 2.85 seconds to run.
At first I thought this maybe caching of results / DB queries. However I can change the parameters so this is not the case – and again the protocol runs in 2.85 seconds.
If I then close the protocol in the Pipeline Pilot client and re-open it the first time it runs takes 6.8 seconds and subsequent runs only take 2.85 seconds. The fast run time persists until I close and re-open the protocol in the client.
If the protocol is called as a webservice (SOAP) from within the PP client it always takes 6.8 seconds, regardless of whether the protocol is closed / re-opened or parameters changed.
All this makes me suspect that the AEP server is loading or caching protocols 1 and 2 to memory after the first run and while the PP client has the protocol open, the faster run times of 2.85 second is because the 92Mb of protocols are pre-loaded in memory. If not this then perhaps some other system of caching or process that leads to the faster re-run speed.
This protocol is constantly being run on our server via SOAP by users / other applications. It would help performance a lot if we could somehow replicate this “caching” that I see in the client so all users (especially SOAP calls) see the 2.85 second run time.
Question 1 - Am I correct in these assumptions / analysis or is something else going on here? The show process times don’t shed light on the difference.
Question 2 (the million dollar one!!!) – Can I somehow replicate this for all users / webservice calls? e.g nominate that certain protocols are permanently loaded to memory (or pre-spun up) in some way so they run quickly for everyone on the first run.
I can't see anything in the admin guides about this. I've seen one section which mentions keeping alive DB connections with the Connection Timeout setting "This keeps connections to the database open for a limited time so that jobs which involve interaction with the database have lower start-up costs". But I can't see where to set this in the admin portal.
Thanks
Joe