2012-05-25 6 views
12

Meine Frage ist, was ist die maximale Anzahl von Benutzern, die Apache Webserver 2.2.2 kann, habe ich eine Website, die manchmal mehr als 300 gleichzeitige Benutzer erhält, aber Apache Standardkonfiguration ist auf max 150 festgelegt, ich weiß, dass ich das erhöhen kann Wert, aber wenn ich mich fürchte, dass ich über die Kapazität laufen könnte, dass Apache umgehen kann, ist mein Server sehr mächtig mit 8 Quad-Core-AMD-Prozessor mit 16 GM SpeichernWebserver maximale Anzahl von Benutzern Apache kann umgehen?

  1. Wie kann ich feststellen, wie viele Anfragen, dass Apache kann umgehen,

  2. In der Regel was die Optionen/Konfigurationen für eine optimale für Server optimiert. dh deaktivieren am Leben halten ..etc

  3. Wenn ich die max Benutzer Größe zu erhöhen, isst MySql den größten Teil der Prozessorleistung bis mit manchmal mehr als 150% CPU geht .... nicht sicher, warum ..

Irgendwelche Experten?

Antwort

0

diese Anleitung für eine Übersicht siehe: http://www.devside.net/articles/apache-performance-tuning

Es ist alles meist über den Apache MPM, die Sie (Thread basiert, oder Verfahren basiert) und es ist Einstellungen ausgewählt haben.

Dann müssen Sie es mit den KeepAlive-Einstellungen übereinstimmen (Ich verwende ein Thread-basierte MPM und damit KeepAlives auf On und für 3 Sekunden).

Verwenden Sie Apache unter Linux oder Windows? Welches MPM?

+0

danke für die Antwort ich benutze es unter Centos 6.0 – mahen3d

7

Apache kommt mit maximal 40-100 Threads. Es kann erhöht werden, um mehr Threads gleichzeitig verarbeiten zu können.

Die Anwendung sollte überwacht werden, bevor Änderungen daran vorgenommen werden. Versuchen Sie basierend auf der Antwort "ThreadsPerChild" und "AcceptThreads" entsprechend zu ändern.

Die Standardanzahl der "maximalen" Anzahl von Threads ist normalerweise ausreichend; Es kann jedoch Bedingungen geben, unter denen diese Zahl möglicherweise erhöht werden muss. Die Verwendung der Threads kann überwacht werden. Starten Sie zur Überwachung die Verwaltungsinstanz, wählen Sie den betreffenden HTTP-Server aus, und wählen Sie unten links die Option Echtzeitserverstatistik aus.

Wenn Leerlauf Threads nahe oder bei Null ist, ist dies ein Problem. Solange Leerläufe Null sind, können keine neuen Clientverbindungen hergestellt werden. Neue Clients werden in einen Wartezustand versetzt, bis ein Thread verfügbar wird. Unsere Empfehlung für diese Bedingung ist das Hinzufügen der Direktive ThreadsPerChild mit einem erhöhten Wert, etwa dem Doppelten des aktuellen Werts, wenn dieser im Bereich von 40 bis 100 lag, oder plus 50, wenn er über 100 lag. Der erforderliche Mindestwert (für das Maximum Parameter) kann nur durch Versuch und Irrtum gefunden werden. Wenn der Server nach dem Erhöhen des Werts reibungslos läuft, beenden Sie den Test.

(source)

2

Empfehlungen

Bitte verwenden Keep Alive, da es die Leistung des Servers zu erhöhen. Deaktivieren Sie die Einstellung "Nur aktiv", wenn sich eine Firewall zwischen dem Web oder der App befindet. Oder Sie haben Probleme mit der Paketablage/Verbindungszurücksetzung (msg).

  • Sie können das maximale Clientlimit erhöhen, aber das Limit hängt vollständig von Ihrer Serverkonfiguration ab. Durchschnittlich wird jeder Apache-Thread sagen wir 25MB, dann haben Sie den maximalen Client-Wert auf (MAX * lade für jeden Thread)/(RAM allokiert * threads). Halten Sie dieses Verhältnis immer auf 1/2.
  • Sie können Ihre Benutzer auf alle Nummern erhöhen, wie oben erklärt, indem Sie die maximalen Client- und Serverlimits Ihrer Systeme erhöhen.
  • Definieren Sie immer min-maxspare oder min-maxthread-Grenzwerte.
  • Ein sehr wichtiger Punkt, wenn Sie nicht in der Lage sind, das maximale Clientlimit zu erhöhen, erhöhen Sie einfach das Listenbacklimit, da es die zusätzlichen Anforderungen in der Warteschlange übernimmt, was wiederum den Verbindungsabbruch verhindert.
  • +0

    Ich versuchte, das Keep-Alive zu verwenden, aber ich fand, dass es die Server-Reaktionszeit erheblich verringert, es war der Ratschlag von jemand anderem auch, um die Keep- zu deaktivieren am Leben. – mahen3d

    1

    Sie müssen die httpd.h-Datei bearbeiten, um einen größeren maxclients nach dem 256 hart codierten Limit zu ermöglichen und dann das httpd-Programm neu kompilieren. Dies wird in der Konfigurationsdatei für httpd vorgeschlagen.

    Verwandte Themen