
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 static
mit 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:
Kann mir jemand den richtigen Weg weisen?