User Tools

Site Tools


linux:webserver:apache:prozesse

Apache Prozesse

Was macht welcher Parameter? Wieviel Clients dürfen auf meinen Webserver?

Prozesse:

<IfModule prefork.c>
StartServers          5      # Prozesse die sofort gestartet werden aber nicht für Clients Zurverfügung stehen
MinSpareServers       5      # httpd Prozesse
MaxSpareServers       10     # Prozesse die nicht für Clients Zurverfügung stehen
ServerLimit           46     # Fork auf bis Max. 46 Prozesse
MaxClients            41     # httpd Prozesse die von Clientanfrangen benutzer werden können
MaxRequestsPerChild   8000   # Jeder Prozess wird eleminiert sobald er 8000 Aufgaben erledigt hat. Apache forkt dann neue Prozesse nach (= Selbstbereinigung).
<IfModule>

Speicher: Jeder Apache Prozess braucht ca. zwischen 5-15Mb (kommt drauf an ob PHP und MySQL dabei ist). Jetzt ist es leicht zu berechnen wieviele Prozesse man öffnen kann.
Beispiel man hat auf einem System 500Mb frei für den Apache.
500/15Mb = 33
Das heisst wir können dem Apache 33 Prozesse öffnen lassen wenn PHP und MySQL im Einsatz ist.

Timeout              30
KeepAlive            On   # Aktiviert den Parameter KeepAliveTimeout.
MaxKeepAliveRequest  150  # Max. Anfrage pro geöffneter Verbindung. Danach wird die Verbindung geschloss und wenn nötig eine neue geöffnet
KeepAliveTimeout     2    # Eine HTTP-Verbindung bleibt nach dem Abschluss von einem Transfer Max. 2 Sekunden weiter offen. Danach wird sie geschlossen

Beispiel: Eine Webseite hat eine HTML Datei und 10 Bilder. Macht zusammen 11 Requets. Der Besucher bekommt die Seite sehr schnell angezeigt. Klickt er innerhalb von 2 Sekunden nicht auf einen Link, beendet der Apache die Verbindung und der httpd2 Prozess wird für den nächsten Besucher frei.

Abfrage Apache Status

Mit dem apache2ctl Command bekommt man gute Infos raus. Dazu muss jedoch die server-status Webseite auf localhost erreichbar sein

apache2ctl status
apache2ctl fullstatus

Beispiel:
root@apache01:/etc/apache2/sites-enabled# apache2ctl status
                  Apache Server Status for localhost (via ::1)

   Server Version: Apache/2.4.46 (Ubuntu) OpenSSL/1.1.1

   Server MPM: prefork

   Server Built: 2021-03-13T15:08:26

     ----------------------------------------------------------------------

   Current Time: Tuesday, 28-Dec-2021 17:16:20 CET

   Restart Time: Thursday, 14-Oct-2021 18:42:58 CEST

   Parent Server Config. Generation: 204

   Parent Server MPM Generation: 203

   Server uptime: 74 days 23 hours 33 minutes 22 seconds

   Server load: 0.03 0.06 0.04

   Total accesses: 62859543 - Total Traffic: 1182.0 GB - Total Duration:
   12647311354

   CPU Usage: u385.1 s1517.52 cu610603 cs194095 - 12.5% CPU load

   9.7 requests/sec - 191.3 kB/second - 19.7 kB/request - 201.2 ms/request

   129 requests currently being processed, 17 idle workers

 GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG_GGGGGGG
 GGGGGGGGGGGGGGGGGGG_GWGGGGGG_GGGG_GGGGGWGGGGG__G__GGGGGGGGK__WWG
 GGGG_GGG____G_GG_..G............................................
 ................................................................
 ................................................................
 ................................................................
 ................................................................
 ................................................................

   Scoreboard Key:
   "_" Waiting for Connection, "S" Starting up, "R" Reading Request,
   "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,
   "C" Closing connection, "L" Logging, "G" Gracefully finishing,
   "I" Idle cleanup of worker, "." Open slot with no current process
linux/webserver/apache/prozesse.txt · Last modified: by stone