Is there anything in the log files? Do you have enough threads in the thread pool? I would also ask the DBA's to give me the list of the longest running queries. On Oct 10, 2011 3:02 PM, "Bill Wang" <bw57...@gmail.com> wrote:
> Hi Chris, Pid & Geroge, > > Thanks to everyone who replied my mail. I try to answer your questions in > one mail. > > 1. I access the admin interface by manager app. I'd like to have exist > command to run and get the report easily, if there is no the command, I > will > think to use wget | crul. > > 2. The application with sessions under 60 normally has no issue. But when > the session go up to 80 ~ 100, I start to get calls from the customer. It > happens many times at random time. Sometime I have to restart it, without > any changes, after restart, customer can continuous use it. This > performance > issue is very annoying. > > 3. From Chris explanation, looks to change the timeout to 30 minutes will > be > good idea, since I don't care of the end users to login the system > more frequently, I need more stable system. The server has other heavy > applications running, CPU load is always up to 10 ~ 20, available physical > memory is not too much (<10GB). > > 4. We are doing the troubleshooting on this application recently and don't > find too much can be done. Check with network and DBA team, they all report > me there is no issue. Contacted with Developers who maintain the tomcat app > codes, they said the code running in their testing environment is fine. I > am > planned to do some load testing, but it is just in plan. > > 5. @ Pid: > > Can you explain me more detail on how to do with your suggestion, I am not > developer, don't write codes, my role in this project is to setup the > webserver, tomcat service and make it running and stable. > > > ******************************************************************************************* > The session count per application can be read via a JMX connection and > a request to the appropriate MBean. > > ******************************************************************************************* > 6. @ Geroge > > Sorry, I don't understand your question. We DO have Oracle Database in the > backend. > > ******************************************************************************************* > Are you storing objects on the session, in particular JDBC connections > or result sets? > > ******************************************************************************************* > > Regards > Bill > On Sat, Oct 8, 2011 at 1:23 AM, Christopher Schultz < > ch...@christopherschultz.net> wrote: > > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Bill, > > > > On 10/6/2011 7:20 PM, Bill Wang wrote: > > > Recently one of Tomcat application has performance issue, which get > > > slow respond with high sessions. > > > > Can you give us some numbers? At what point do things slow down, and > > by how much do they slow down? > > > > > One team member recommend me to adjust the session timeout from 60 > > > minutes to 30 minutes. I will do that, but before change it, I'd > > > like to understand how the performance related with the expire > > > session timeout. > > > > > > <session-timeout>60</session-timeout> > > > > I'm not sure performance will change at all when changing the session > > timeout. Tomcat runs session-expiration tasks periodically, and the > > performance of that has more to do with the number of total sessions > > than the timeout itself. > > > > If you have lots of sessions that must timeout instead of being > > explicitly invalidated (i.e. people close their browsers instead of > > logging-out), then you will have a lot of wasted memory that may > > prevent the garbage collector from working efficiently. It's best to > > destroy sessions as soon as they are not needed, so short session > > timeouts can help with that. On the other hand, you want to give users > > a reasonable amount of time to get a cup of coffee, etc. without > > forcing them to re-login every time. > > > > You'll have to determine what is an appropriate amount of time for > > your users. > > > > There is another option: selectively extend the session timeout for > > certain sessions, or for certain operations. If a user enters a flow > > that is expected to take a long time or the consequences of having the > > session time out are frustrating (i.e. you have to re-enter tons of > > data), you can change the session timeout for that one session to be > > longer than the default. When the flow is over, you can re-set it back > > to the default. We do that for a number of tasks in our webapp, for > > instance. > > > > > Second, currently I monitor the session count by login the admin > > > interface, > > > > Do you mean using the "manager" app? > > > > > the manual way is not efficiency, can I run some commands to get > > > the sessions number? With that I can set a cronjob and generate the > > > session report easily. > > > > If you have the manager app deployed, you can use the text or XML > > interfaces from the command-line instead of the HTML interface. Simple > > use of wget, curl, etc. should allow you to do this kind of thing. > > > > - -chris > > -----BEGIN PGP SIGNATURE----- > > Version: GnuPG v1.4.10 (MingW32) > > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > > > iEYEARECAAYFAk6PC2gACgkQ9CaO5/Lv0PBo3gCgvV7dAylXSz1vz3jRX2jmr1lE > > E9kAoMKnHUgOC5MEx31lz121tXT1aV8J > > =CGz3 > > -----END PGP SIGNATURE----- > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > > For additional commands, e-mail: users-h...@tomcat.apache.org > > > > >