Apache 2.4.x mod_proxy_balancer debugging

Started by maxboyer, September 03, 2020, 08:51:45 PM

Previous topic - Next topic

maxboyer

Hello from Canada!

I'm looking for some assistance. We're running Apache 2.4.46 (httpd-2.4.46-o111g-x64-vc15) on Windows Server 2012R2 as a reverse proxy load balancer.

Sometimes, the balancer workers report a busyness count greater than 0 (usually 1) on the balancer-manager status page, even though not seemingly serving any request. As a result, the requests are unevenly distributed between the 2 workers.

Restarting Apache clears the count, and it also clears itself after a while. What could cause this? KeepAlive?

I tried to debug the process, but the instructions for Windows seems to be outdated: http://httpd.apache.org/dev/debugging.html#backtrace-win
I can't find the *-symbols.zip download.

Is there instructions to build and debug Apache on Windows? What could I do to troubleshoot this further?

Thank you,
Max

Our environment:
    - OS: Windows Server 2012 R2 (x64)
    - Server Version: Apache/2.4.46 (Win64) OpenSSL/1.1.1g mod_h264_streaming/2.2.7
    - Server MPM: WinNT
    - Server Built: Aug 1 2020 13:21:32
    - Distributed by: The Apache Haus
    - Compiled with: Visual Studio 2017

Our configuration:
    - Single process (winnt mpm)
    - ThreadsPerChild 15000
    - Virtual host with proxy_balancer (HTTP/1.1 TLS 1.2)
    - 2 balancer workers (https to the 2 application servers)
        - lbmethod=bybusyness
        - stickysession=JSESSIONID

mario

The KeepAlive is set by default between Apache and the backend server, since it uses HTTP/1.1

You can disable KeepAlive with

SetEnv proxy-nokeepalive 1

e.g.
<Location "/">
  ProxyPass "http:/appserver:8080/"
  SetEnv force-proxy-request-1.0 1
  SetEnv proxy-nokeepalive 1
</Location>

mario

For debuging you can adjust the log level


LogLevel warn proxy:debug


or

proxy:trace5

Be aware that both settings will flood your log files a lot!

maxboyer

Do you believe the KeepAlive would keep the worker busy?

Yeah, I'll test the logging on our test server.

Max

mario

Quote from: maxboyer on September 09, 2020, 02:50:39 AM
Do you believe the KeepAlive would keep the worker busy?

Hi Max,
that can be an option why it is that way.