Apache mit PHP FPM und Anforderungsspitzen, wie stelle ich die optimale Konfiguration ein?

Apache mit PHP FPM und Anforderungsspitzen, wie stelle ich die optimale Konfiguration ein?

Ich hatte das Glück, dass meine Website viral ging, und der Server war natürlich nicht darauf vorbereitet.

Leider ist mein Setup ziemlich schlecht, ein einzelner Server mit Apache, PHP (Laravel), Mongodb und Redis.

Das Backend (Laravel) bedient hauptsächlich eine REST-API. Derzeit versuchen mehr als 1000 Benutzer gleichzeitig, die Website zu nutzen, und alles wird sehr langsam geladen. MongoDB scheint einwandfrei zu funktionieren, da ich über das Terminal darauf zugreifen kann und Abfragen sofort gelöst werden. Was mir Sorgen macht, ist die Apache/PHP-FPM-Konfiguration.

Mein Server: 8 Kerne, 16 GB RAM

Ich habe versucht, mit PHP FPM-Konfigurationen herumzuspielen, aber es hat sich nicht viel verbessert. Im Moment habe ich es staticmit 300 eingeschaltet max_children.

Unter Apache verwende ich das MPM-Ereignis mit dieser Konfiguration:

<IfModule mpm_event_module>
ServerLimit 40
    StartServers             2
    MinSpareThreads      50
    MaxSpareThreads      100
    ThreadLimit          64
    ThreadsPerChild      50
    MaxRequestWorkers     1000
    MaxConnectionsPerChild   0
</IfModule>

Ich habe Folgendes top, was mir in Ordnung erscheint: Bildbeschreibung hier eingeben

Kann mir jemand den richtigen Weg weisen?

verwandte Informationen