The first time you access a context under Tomcat is when it loads it, basically it lazy load web contexts so that the unaccessed ones are cluttering up memory. You can add a command to the servlet context in web.xml to cause it to load with the server (I just don't know the exact name).
----- Original Message ----- From: "Manuel Reyes" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, April 30, 2002 8:29 AM Subject: Tomcat / Axis Performance Issues > I am running Jakarta Tomcat 4.0.2 (as WinNT service) with XML-AXIS Beta 1 > RC2 on Windows 2000, this is running solo, i.e. not integrated into a > webserver (i.e. appache/iis etc) as it isnt required for the project. > > The process that I use Tomcat/Axis for is made up of the following > components : > > 1) Java class client (jamax.class) > 2) Java class server JWS (full deployment not needed) (EMISSoap.jws) > 3) Server DLL file (EMISSoap.dll) > 4) Backend Database (MUMPS) > > The application works in the following fashion : > > 1) The user runs the client and sends : > a)Database connect > b)Database query(s) > c)Database disconnect > 2) The JWS picks these up, loads the DLL, and passes them onto it. > 3) The DLL connects to the database, pulls out the necessary information. > 4) Everything is then put into reverse and the client eventually gets the > output of the query displayed to screen > > All works well, but heres the thing, in a test on 5 consequetive queries > (i.e. 1 connect, 5 queries, 1 disconnect) (each query returning around 40kb) > the timings return around 5500ms average, which is acceptable. When I > restart the Tomcat service this timing increases to an average of 33000ms > which is unacceptable in a production environment [customers ;-)] if I then > rerun the test query this drops back down to 5500ms, so only the first query > after a restart is effected. > > I ran some test timings on DLL loading, and on every occasion (restarted or > not) this process takes around 10ms which is AFAIAC ok. After some fiddling > it would seem the delay is when tomcat wakes up for the first time, i.e. > when the client makes the first call after the restart and before the dll > load process is started. Below is my table of timings : > > Restart : Total Time : 24795ms > Re-run : Total Time : 5357ms > Re-run : Total Time : 5478ms > Re-run : Total Time : 5187ms > Re-run : Total Time : 5448ms > > Restart : Total Time : 32537ms > Re-run : Total Time : 5428ms > Re-run : Total Time : 5478ms > Re-run : Total Time : 5348ms > Re-run : Total Time : 5488ms > > Restart : Total Time : 33769ms > Re-run : Total Time : 5438ms > Re-run : Total Time : 5899ms > Re-run : Total Time : 5297ms > Re-run : Total Time : 5428ms > > Restart : Total Time : 33398ms > Re-run : Total Time : 6109ms > Re-run : Total Time : 5558ms > Re-run : Total Time : 5327ms > Re-run : Total Time : 5378ms > > Client Process : Start Timer - Get Params - Send DB Connect - Send Param - > Display response - Send DB Disconnect - End Timer > > After reading - http://www.jguru.com/faq/view.jsp?EID=588390 - I made some > tweaks to the server.xml file but this made no discernable difference. > > So does anybody have any idea as to the cause/cure for this problem > > Thanks in advance