2016-12-26 1 views
1

Ich habe einen Webserver, der etwa 800 gleichzeitige Verbindungen verwalten sollte. Hierzu I Apache 2.4 im Arbeitsmodus (auf Centos 6) mit diesen Werten konfiguriert haben:Apache kann nicht mehr als 400 Arbeiter erstellen

Serverlimit 40 Startserver 25 MaxClients 1000 MinSpareThreads 25 MaxSpareThreads 75 MaxRequestWorkers 1000 25 ThreadsPerChild MaxConnectionsPerChild 0

Wenn ich jedoch den Server-Status überprüfe, kann ich nicht mehr als 400 Arbeiter gleichzeitig sehen. In der Datei error_log kann ich folgendes sehen: "[mpm_worker: error] [pid 2559: tid 140190319810368] AH00286: Server hat die MaxRequestWorkers-Einstellung erreicht, erwäge die MaxRequestWorkers-Einstellung zu erhöhen", aber die Erhöhung dieses Wertes hat keine Auswirkungen. (mit stop/start apache nach jeder Änderung der Konfigurationsdatei). Ich überprüfte die ulimits und für Apache-Benutzer der Wert von nproc ist 2048. Ich erwähne, dass Apache von mir kompiliert wurde, und ich nicht explizit eine Grenze zur Kompilierzeit festgelegt.

Was könnte die Ursache für diese Einschränkung sein?

+0

Wenn Sie MaxRequestWorkers in apache2.conf festlegen, erinnern Sie daran, dass es von /etc/apache2/mods-available/mpm_prefork.conf überschrieben wird. – gile

Antwort

1

Also habe ich herausgefunden, was das Problem verursacht hat. In httpd.conf wurden die Einstellungen für das Worker-Modul vor dem Laden des Moduls deklariert, so dass sie von Apache ignoriert wurden. Verschieben sie nach "LoadModule" Abschnitt behoben das Problem.

+0

Das ist dasselbe wie die Einstellung in der Modulkonfiguration wie zuvor vorgeschlagen. – gile

Verwandte Themen