ok... thanks for nothing...

2012/10/18 Pid <p...@pidster.com>

> On 18/10/2012 12:22, Daniel Barcellos wrote:
> > Hey
> >
> > I'm facing similar problems too and I guess with a good configuration of
> my server.xml would be a good start point.
> >
> > So could kindly share a good Connector configuration in this mail
> thread? What would that be the best choice in terms of max min threads keep
> alived timeout configurations ?
>
> It's probably not your connector config that's the problem, if there is
> one.  Most of the time it's your app.
>
> Use a profiler, monitor JMX (use VisualVM with the MBeans plugin) and
> understand what's happening rather than assuming someone else's
> connector config is "good" or "better".
>
> Start a new thread when you've tried this & have questions.
>
>
> p
>
>
> > Thanks in advance!
> >
> > Sent from my iPhone
> >
> > On 18/10/2012, at 07:05, Romain Van der Keilen <
> romain.vanderkei...@uniway.be> wrote:
> >
> >> Hi there!
> >>
> >> Some news for you about my problem.
> >> I did all the modifications you suggested, it increased the response
> time a little bit (2-3 seconds better on a 15 seconds scale). It was
> already good to take, and helped me to create a healthy configuration.
> >> After that, I looked deeper into the database configuration, as I saw
> in the tests that non db relative actions were responding very fast (50ms
> for a 1000 users basis).
> >> I finally found an OracleDataSource in the Oracle Driver, which reacts
> far way better than the BasicDataSource I was using before (12s for 150
> users for the basic data source, 1.5s for the oracle one, same test).
> >>
> >> So I think my problems are solved, thanks to you guys!
> >>
> >> Many thanks for the advices,
> >>
> >> Romain.
> >>
> >> -----Original Message-----
> >> From: André Warnier [mailto:a...@ice-sa.com]
> >> Sent: mercredi 17 octobre 2012 11:49
> >> To: Tomcat Users List
> >> Subject: Re: asking advice for tomcat 7 config
> >>
> >> Pid wrote:
> >> ...
> >>
> >>>>
> >>>>    <Executor  name="tomcatThreadPool" namePrefix="catalina-exec-80-"
> maxThreads="650" minSpareThreads="100" />
> >>>>    <Connector executor="tomcatThreadPool" address="10.10.10.10"
> port="80" maxHttpHeaderSize="8192"
> protocol="org.apache.coyote.http11.Http11NioProtocol"
> >>>>           connectionTimeout="20000" redirectPort="443"
> server="lighthttpd/2.0.0" enableLookups="false" acceptorThreadCount="4"
> socket.directBuffer="false"
> >>>>           compression="off"
> compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,image/jpeg,image/png,image/gif"
> >>>>           acceptCount="50" bufferSize="4096" />
> >>>>
> >>>>
> >>>>    <Executor  name="stomcatThreadPool"
> namePrefix="catalina-exec-443-" maxThreads="650" minSpareThreads="100" />
> >>>>    <Connector executor="stomcatThreadPool"
> protocol="org.apache.coyote.http11.Http11NioProtocol" port="443"
> SSLEnabled="true" scheme="https" secure="true"
> >>>>        clientAuth="false" sslProtocol="TLS"
> keystoreFile="D:\keystore\appks" server="lighthttpd/2.0.0"
> >>>>        enableLookups="false" keystorePass="changeit"
> address="10.10.10.10" acceptorThreadCount="4" socket.directBuffer="false"
> >>>>        compression="off"
> compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,image/jpeg,image/png,image/gif"
> >>>>        acceptCount="50" bufferSize="4096" >
> >>>>    </Connector>
> >>>
> >>> You've configured a separate pool for connectors on ports 80 and 443.
>  Why?
> >>>
> >>> You've reduced the acceptCount to 50.  Why?
> >>>
> >>> You are compressing compressed images.  Why?
> >>
> >> There is : compression="off" in both connectors though.
> >> So I guess that compressableMimeType should be ignored.
> >>
> >> (It /is/ still questionable to have changed the default of
> compressableMimeType, to include types which are inherently compressed
> already.)
> >>
> >>>
> >>> You are setting acceptorThreadCount=4.  Why?
> >>>
> >>>
> >>> Does your app have a database connection pool?
> >>> What are the sizing parameters for this pool?
> >>>
> >>>
> >> Also,
> >>
> >> - for the HTTP connector, connectionTimeout is set to 20000
> (milliseconds), and keepAliveTimeout is not set.
> >> - for the HTTPS connector, neither one is set.
> >> That will cause :
> >> - for the HTTP connector :
> >>   - connectionTimeout = 20000 ms (20 s.)
> >>   - keepAliveTimeout =  20000 ms
> >> - for the HTTPS connector :
> >>   - connectionTimeout = 60000 ms (60 s.)
> >>   - keepAliveTimeout =  60000 ms
> >>
> >> 1) So it means that if a client connects to the server, but does not
> send any request line for a while on that connection, the server will
> allocate a thread to serve the request; this thread will wait up to 20 s
> (on HTTP) or 60 s. (on HTTPS), before timing out and returning to the pool
> of available threads.
> >> Of course only a malicious client would do that..
> >>
> >> 2) it also means that a perfectly non-malicious client can connect to
> the server, and send a first request on the connection; the server will
> allocate a thread to handle this request; and then, if the same client has
> no more requests to send for a while, this thread will nevertheless remain
> waiting on this connection for 20 s. (HTTP) or 60 s.
> >> (HTTPS), just in case the client /would/ send another request on it.
> >> During this time, the thread is unavailable to process other client
> requests.
> >>
> >> Discarding item (1) for now as being a DOS attack, might (2) not go a
> long way to explain the symtoms that the OP is mentioning ?
> >>
> >> I would try setting :
> >> - for the HTTP connector :
> >>   - connectionTimeout = 5000 ms (5 s.)
> >>   - keepAliveTimeout =  5000 ms
> >> - for the HTTPS connector :
> >>   - connectionTimeout = 5000 ms (5 s.)
> >>   - keepAliveTimeout =  5000 ms
> >>
> >> on the premises that :
> >> - a genuine well-intentioned client is very unlikely to establish a
> connection with a webserver, and then not send any request on that
> connection for all of 5 seconds
> >> - if a client, after making a first request and having obtained the
> response to it, is then not making any further request to the server on the
> same connection for more than 5 seconds, it probably means that he has for
> now nothing more to request.  And it is not the overhead of establishing a
> new TCP connection later that is nowadays going to penalise the client or
> the server.
> >> And this would allow these Tomcat threads to be recycled much faster,
> instead of just sitting there doing nothing.
> >>
> >> Is that analysis wrong ?
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> >> For additional commands, e-mail: users-h...@tomcat.apache.org
> >>
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> > For additional commands, e-mail: users-h...@tomcat.apache.org
> >
>
>
> --
>
> [key:62590808]
>
>

Reply via email to