Am 21.10.2018 um 10:17 schrieb Mark Thomas:
On October 21, 2018 7:38:25 AM UTC, Greg Huber <gregh3...@gmail.com> wrote:
So I'm using the 2016 1.2.40 version.

Think you have to build mod_jk to use the latest and greatest,

Correct.

We stopped providing binary builds for anything other than Windows because 
there were just too many combinations. And it is relatively simple to build on 
Linux.

We provide the Windows binaries because the build process is more involved, 
most users don't have the necessary toolchain  easily available and we only 
need to provide one binary for all Windows platforms (ok we provide several 
binaries with different build options but it is still a small, manageable 
number).

this is
what
I have in my notes (also from the website docs):

mod_jk.so build
    yum install httpd-devel
    download tomcat-connectors-x.x.xx-src.tar.gz
    extract and cd into the native folder
    cd /opt/apache-tomcat/tomcat-connectors-x.x.xx-src/native
    ./configure --with-apxs=/usr/bin/apxs
    make
    copy file ./apache-2.0/mod_jk.so to /etc/httpd/modules
    make clean

(I only have a pretty much standard workers.properties so can't help
much.)

On Sun, 21 Oct 2018 at 02:01, Jerry Malcolm <techst...@malcolms.com>
wrote:

Thanks for the responses to my earlier post about websockets/JSPs.
Http/2 is definitely the right answer for my issue there.

HTTP/2 solved the problem with the throttling the multiple parallel
requests with the browser connection limits.  But now opening that
throttle has now exposed a different problem at the server.  Quick
refresh.... I have an app that does not have many concurrent users at
this time.  However it does periodically have a very large number of
concurrent requests (AJAX/REST) from a single client.

I now realize that with the browser limiting concurrent requests in
HTTP/1.1, mod_jk was not getting overwhelmed.  But now that the
floodgates have opened with HTTP/2, I realize that I have some
serious
configuration problems with mod_jk.  The requests are clogging up in
mod_jk, timing out, and logging errors something like "cannot get
endpoint for worker".  It then takes about 5 minutes for the clog to
clear out before mod_jk is functional again for the other virtual
hosts
I'm hosting.

Specifics... I'm using Apache 2.4.33, Tomcat 9.0.  I tried to
download
the latest mod_jk.so.  The latest mod_jk for httpd on the binaries
download site is from 2016.  All the versions for the past 2 years
are
iis only... I assume that's ok???  So I'm using the 2016 1.2.40
version.

My question is.... how do I increase the number of 'endpoints' that
mod_jk has access to?  Is that a TC configuration or
workers.properties
setting?  I want to make sure mod_jk has enough resources/endpoints
to
pass (i.e.not 'block') all the requests it receives.  Once mod_jk is
passing everything, I realize the flood might hit TC, and I may be
back
asking about increasing TC resources.  But for now, I just want to
get
mod_jk opened up.

We need to see the configuration for:

- httpd mpm / threads / processes
- workers.proprties
- Tomcat's AJP connector

Plus:

mod_http2 uses additional threads per Apache httpd process. Look for H2Workers, H2MinWorkers and H2MaxWorkers in the mod_http2 docs. By default it seems you get ThreadsPerChild normal http worker threads plus ThreadsPerChild HTTP/2 worker threads.

So the old-style assumption of mod_jk, that it is enough to provide as many backend connections per httpd process, as normal httpd worker threads are configured (ThreadsPerChild), does no longer apply for HTTP/2.

You could try increasing the mod_jk pool size (connection_pool_size) to 2*ThreadsPerChild, but you might also want to consider switching to mod_proxy.

Regards,

Rainer


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to