Re: [tomcat-4.0] Session Creation Slowness
I have confirmed that: The latest nightly build fixes this problem and Turbine/Catalina now starts up and initializes and returns a request in about 3-4 seconds on my machine...more than acceptable now. :-) thanks craig for tracking it down. this is going to save months of development time. :-) -jon
[tomcat-4.0] Session Creation Slowness
Ok, I put a whole bunch of logging into Turbine to see *exactly* what line of code is causing the slowness that I keep reporting here and I have now found it... Log.note ("RunDataFactory: 11"); // Get the HttpSession object. data.setSession ( data.getRequest().getSession(true) ); Log.note ("RunDataFactory: 12"); As you can see above, essentially, all that is happening is that I'm storing an instance of the HttpSession object within the RunData object. Marking things as "true" causes the redirect to happen, so there is another request... [Thu Dec 21 13:34:15 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:01 PST 2000] -- NOTICE -- RunDataFactory: 12 ... [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 12 As you can see above the first request through this code takes bloody FOREVER and the second one is quite fast. The really *INSANE* part about all of this is that people have checked Scarab out of CVS themselves on the SAME JVM (1.3 on Windows) and don't see any real slowness at all (approx 4-5 seconds). So, Craig, can we please try to do something about this? There has got to be something wrong with either my setup or something else (I really don't think this is entirely a classloader issue anymore). I also have this great slowdown on MacOSX as well. If you want to duplicate it, you can check Scarab out of CVS and do it yourself. I have re-done the CVS tree and it is very easy to get things up and running (even without a database installed...just ignore that part of the README.txt file). http://scarab.tigris.org/ thanks, -jon
Re: [tomcat-4.0] Session Creation Slowness
Jon Stevens wrote: Ok, I put a whole bunch of logging into Turbine to see *exactly* what line of code is causing the slowness that I keep reporting here and I have now found it... Log.note ("RunDataFactory: 11"); // Get the HttpSession object. data.setSession ( data.getRequest().getSession(true) ); Log.note ("RunDataFactory: 12"); As you can see above, essentially, all that is happening is that I'm storing an instance of the HttpSession object within the RunData object. Marking things as "true" causes the redirect to happen, so there is another request... [Thu Dec 21 13:34:15 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:01 PST 2000] -- NOTICE -- RunDataFactory: 12 This is the first session create since the webapp was started, right? Currently, that is when the RNG is initialized. ... [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 12 And this is the behavior you would see after the first one. As you can see above the first request through this code takes bloody FOREVER and the second one is quite fast. The really *INSANE* part about all of this is that people have checked Scarab out of CVS themselves on the SAME JVM (1.3 on Windows) and don't see any real slowness at all (approx 4-5 seconds). That's definitely strange ... 4-5 seconds is my experience even on much slower hardware, on both 1.2.2 and 1.3. So, Craig, can we please try to do something about this? There has got to be something wrong with either my setup or something else (I really don't think this is entirely a classloader issue anymore). I also have this great slowdown on MacOSX as well. This part isn't. Aleady on my TODO list is moving the RNG initialization to webapp startup time -- that will normally hide it for a 4-5 second delay, but certainly won't fix a 45-second delay. If you want to duplicate it, you can check Scarab out of CVS and do it yourself. I have re-done the CVS tree and it is very easy to get things up and running (even without a database installed...just ignore that part of the README.txt file). http://scarab.tigris.org/ You mean it's not just "check out, compile, and run"??? :-) :-) Will do. thanks, -jon Craig
RE: [tomcat-4.0] Session Creation Slowness
This is probably due to the new SecureRandom-based session IDs. There is an option to turn that off somewhere. -Original Message- From: Jon Stevens [mailto:[EMAIL PROTECTED]] Sent: Thursday, December 21, 2000 1:47 PM To: tomcat-dev Cc: [EMAIL PROTECTED] Subject: [tomcat-4.0] Session Creation Slowness Ok, I put a whole bunch of logging into Turbine to see *exactly* what line of code is causing the slowness that I keep reporting here and I have now found it... Log.note ("RunDataFactory: 11"); // Get the HttpSession object. data.setSession ( data.getRequest().getSession(true) ); Log.note ("RunDataFactory: 12"); As you can see above, essentially, all that is happening is that I'm storing an instance of the HttpSession object within the RunData object. Marking things as "true" causes the redirect to happen, so there is another request... [Thu Dec 21 13:34:15 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:01 PST 2000] -- NOTICE -- RunDataFactory: 12 ... [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 11 [Thu Dec 21 13:35:03 PST 2000] -- NOTICE -- RunDataFactory: 12 As you can see above the first request through this code takes bloody FOREVER and the second one is quite fast. The really *INSANE* part about all of this is that people have checked Scarab out of CVS themselves on the SAME JVM (1.3 on Windows) and don't see any real slowness at all (approx 4-5 seconds). So, Craig, can we please try to do something about this? There has got to be something wrong with either my setup or something else (I really don't think this is entirely a classloader issue anymore). I also have this great slowdown on MacOSX as well. If you want to duplicate it, you can check Scarab out of CVS and do it yourself. I have re-done the CVS tree and it is very easy to get things up and running (even without a database installed...just ignore that part of the README.txt file). http://scarab.tigris.org/ thanks, -jon