I'm a beginner but I did install fpm to see how it works.

Did you set the fpm acces logs?

   ; The access log file
   ; Default: not set
   access.log = "/usr/local/etc/php/8.0/log/www.access.log"

And the status page?

; The URI to view the FPM status page. If this value is not set, no URI will be
; recognized as a status page. It shows the following information:
pm.status_path = /fpm-status

I don't know how ALB works, but does it make different requests/hit?
If not, that's maybe why FPM coughs

Cordially

Luis

On 20/12/2021 01:08, Dan Washusen wrote:
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

Reply via email to