Ich verwende einen Apache2 Ubuntu-Server, der die API-Anforderung von mobilen Apps bedient.
In letzter Zeit stehe ich vor einem Engpass, wenn die Anforderung höher wird (mehr gleichzeitige Benutzer), die Antwort der Anforderung langsam wird. Früher werden ~ 1 oder 2 Sekunden ausreichen, aber sobald sich die gleichzeitigen Benutzer erhöhen (zu bestimmten Spitzenzeiten), kann es bis zu <10 SekundenSekunden oder länger dauern, auch wenn dies der Fall ist Serverauslastung, CPU und Speicher bleiben sehr niedrig.
Mein Ziel ist es, die Fähigkeit von Apache2 und Ubuntu Server zu erhöhen, so viele gleichzeitige Benutzer wie möglich mit der geringsten Antwortzeit bereitzustellen. Der Speicher und die CPU sind kein wesentlicher Überlegungsfaktor, da die VPS-Spezifikation vergrößert werden kann, wenn sie das Limit erreicht. Wie kann ich das machen?
Was ich bisher gemacht habe:
Konfigurieren Sie ulimit /etc/security/limits.conf und fügen Sie Folgendes hinzu:
Fügen Sie die folgende Zeile zu /etc/pam.d/common-session
hinzuSitzung erforderlich pam_limits.so
Konfigurieren Sie Apache2 /etc/apache2/mods-enabled/mpm_prefork.conf
<IfModule mpm_prefork_module> StartServers 20 MinSpareServers 25 MaxSpareServers 100 MaxRequestWorkers 150 MaxConnectionsPerChild 0 MaxClients 8192 MaxRequestsPerChild 0 ServerLimit 8192 </IfModule>
Fügen Sie die folgende Zeile zu /etc/sysctl.conf
hinzufs.file-max = 2097152
Die Antwortzeit scheint sich zu verbessern (obwohl einige Anforderungen immer noch verzögert sind), aber nicht zufriedenstellend, da sie immer noch viel langsamer ist als die Nicht-Spitzenzeit.
Stoppen Sie die Verwendung des Prefork-Moduls und beginnen Sie mit der Verwendung von Event MPM in Apache. Prefork ist die alte Methode und wenn Sie vorgehen möchten, müssen Sie event mpm installieren.
Dies ist möglicherweise nicht Ihr Webserver, sondern etwas anderes in der Kette.
Netstat -i 5
, um festzustellen, ob auf der Netzwerkschnittstelle Fehler aufgetreten sind.KeepAlive
aktiviert ist. Besonders wenn Sie etwas wie eine Ajax Heavy Site haben, werden Sie die Leistung verbessern.Ich glaube nicht, dass das Umschalten von MPM Ihnen helfen wird. Ihre Situation ist keine Ressourcenbeschränkung. es ist etwas anderes.