On 10/21/2018 7:27 AM, Rainer Jung wrote:
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
Rainer,
I've done some reading up on mpm, http/2, etc. But it's given me more
questions than answers. I need a bit of education help sorting this out.
Back to the original problem. I need to understand these mod_jk log
entries (there are hundreds of them...):
[Sun Oct 21 17:15:19 2018] [10116:5456] [warn]
ajp_get_endpoint::jk_ajp_common.c (3229): Unable to get the free
endpoint for worker worker1 from 64 slots
[Sun Oct 21 17:15:19 2018] [10116:5456] [error] jk_handler::mod_jk.c
(2744): Could not get endpoint for worker=worker1
[Sun Oct 21 17:15:19 2018] [10116:5456] [info] jk_handler::mod_jk.c
(2806): Service error=0 for worker=worker1
a) what does a 'free endpoint' represent? Is it an httpd thread that it
can't get? Is it a connection to Tomcat? Something else?
b) it says it has 64 of whatever it's looking for.... what is a 'slot'?
I currently have no mpm enabled. I am running on WAMP (May2018
download). From what I can tell after much digging, Apache Windows
does not use prefork, worker, or event mpm and rather has it's own WinNT
mpm. The default config file has only two parms for WinNT. But this mpm
config file is commented out by default. I'll enable it.
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxConnectionsPerChild 0
</IfModule>
You suggested increasing connection_pool_size. Is there a way to see
what pool size is set to by default? The docs talk about iis, iPlanet,
etc defaults. But it's not clear what it's set to for my default
config. Is there some kind of config dump option for mod_jk?
You also suggested moving to mod_proxy. You really lost me there. I
found info on how to config proxy, etc. But I couldn't find anything
about how proxy differs from non-proxy. What problem does it solve?
And how would it potentially fix my issue?
Sorry for all the questions. But I'm very concerned about just shooting
in the dark making all kinds of changes when I really don't know if and
how it's helping or hurting. Any education to help me understand what
the fundamental problem is with 'endpoints' in the mod_jk log will be
greatly appreciated.
Thx.
Jerry