====== Apache Prozesse ======
Was macht welcher Parameter? Wieviel Clients dürfen auf meinen Webserver?
**Prozesse:**
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).
**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