Also worth noting that Nginx OS does not experience the issues (otherwise same setup)...
Dan On Mon, Dec 20, 2021 at 10:58 AM Dan Washusen <d...@reactive.org> wrote: > Yeah, all those parameters are configured and everything works fine when I > switch to the MPM worker module. The 408 errors are returned by Jetty and > ProxyPass is configured to not reuse connections (which seems to suggest > not a KeepAlive issue), Jetty is erroring because it receives no request > data. Kind of seems like the MPM event module is missing events/data (when > behind the ALB)... > > Given that the TCP network load balancer doesn't show the issue, maybe > it's something to do with how the ALB sends the data to the instance (e.g. > Jumbo frames vs the standard MTU)...? > > On Mon, Dec 20, 2021 at 10:37 AM Igor Cicimov <icici...@gmail.com> wrote: > >> I will still say this is a timeout issue. Set the ALB timeout to 3600 >> which is the max possible in case you do not know where to start from. I >> guess you already have ALB logs enabled. >> >> In apache check the KeepAliveTimeout, RequestReadTimeout and ProxyTimeout >> and make sure they make sense for your user case. Enable debug logs too for >> more details. >> >> It is tough to guess without knowing your relevant configuration but 408 >> is usually caused by client connection being closed while keep-alive in use. >> >> On Mon, Dec 20, 2021 at 10:12 AM Dan Washusen <d...@reactive.org> wrote: >> >>> Thanks for the response. Timeouts are configured appropriately... >>> >>> To clarify; everything works fine through a TCP Network Load Balancer >>> pointing at the same infrastructure. There is something about having a HTTP >>> based Application Load Balancer in front of an MPM event configuration >>> that's causing issues... >>> >>> Dan >>> >>> >>> >>> On Mon, Dec 20, 2021 at 10:01 AM Igor Cicimov <icici...@gmail.com> >>> wrote: >>> >>>> In a proxy chains like this getting the timeouts in sync is the most >>>> important thing. Make sure that you have done that. >>>> >>>> On Mon, 20 Dec 2021, 08:37 Dan Washusen, <d...@reactive.org> wrote: >>>> >>>>> Hi All, >>>>> I've been experimenting with the MPM event module with Apache >>>>> instances sitting behind an AWS Application Load Balancer (ALB) and it >>>>> really doesn't seem to be working well. Response times shoot up (compared >>>>> to MPM event worker) and we see a fair few 502 errors returned (by the AWS >>>>> ALB. >>>>> >>>>> The basic layout is: AWS Application Load Balancer -> Apache 2.4.x -> >>>>> AWS Internal TCP Load Balancer (NLB) -> Jetty App Servers >>>>> >>>>> Debugging the issue I think I traced it down to Jetty returning a 408 >>>>> error because it can't read the request body in a timely manner. So it >>>>> seems like for some reason MPM is sending the request body...? >>>>> >>>>> We're running Ubuntu 20.04 with Apache 2.4.41-4ubuntu3.8 with the >>>>> following worker configuration: >>>>> >>>>> ServerLimit 250 >>>>> StartServers 100 >>>>> MinSpareThreads 75 >>>>> MaxSpareThreads 250 >>>>> ThreadLimit 64 >>>>> ThreadsPerChild 64 >>>>> MaxRequestWorkers 8000 >>>>> >>>>> I've come across several random posts mentioning that the MPM event >>>>> module doesn't work behind an ALB but no-one seems to be into any detail. >>>>> Anyone have some debugging/configuration suggestions? >>>>> >>>>> Thanks, >>>>> Dan >>>>> >>>>> p.s. I've created a serverfault post showing graphs etc: >>>>> https://serverfault.com/questions/1087747/apache-2-4-mpm-event-module-causing-intermittent-502-errors-and-slow-response-ti >>>>> >>>>