PDA

Bekijk Volledige Versie : prefork.c en worker.c (Apache tuning)



Herbert
31/05/20, 23:59
Wie kan mij de juiste instellingen geven voor Apache om deze maximaal te laten presteren?
Waar het om gaat is een server met de volgende specs:
CPU: Intel(R) Xeon(R) CPU E5540 @ 2.53GHz, 16 cores
Geheugen: 48GB Ram
De maximale client's wil ik op 2500 hebben.
Hieronder een voorbeeld hoe ik het nu heb maar dat klopt voor geen meter.


# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 32
MinSpareServers 100
MaxSpareServers 120
ServerLimit 2500
MaxClients 2500
MaxRequestsPerChild 20000
</IfModule>

# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
#
StartServers 16
MaxClients 3200
MinSpareThreads 50
MaxSpareThreads 150
ThreadsPerChild 50
MaxRequestsPerChild 0
</IfModule>
Als mij iemand verder kan helpen dan zou dat mooi zijn.
Gr, Herbert

SF-Jeroen
01/06/20, 10:01
Waarom enable je zowel MPM prefork als MPM worker? Normaal kies je juist een van de twee. Over het algemeen presteert
worker het beste.

SF-Jeroen
01/06/20, 10:07
Maar over die getallen kan ik zonder enige informatie niets zeggen. Het hangt er allemaal vanaf hoeveel threads je gemiddeld gebruikt, hoe snel er pieken met nieuwe bezoekers binnenkomen, hoe groot deze pieken zijn, etc. Lees ook maar eens https://httpd.apache.org/docs/2.4/mod/worker.html.

Herbert
01/06/20, 12:56
Waarom enable je zowel MPM prefork als MPM worker? Normaal kies je juist een van de twee. Over het algemeen presteert
worker het beste.

Ik gebruik nu alleen MPM worker, volgens mij is het nu beter..
Het is even afwachten, aan het eind van de dag zitten er meestal rond de 1000 bezoekers op de server.
De worker config is nu:


<IfModule worker.c>
ServerLimit 250
StartServers 10
MinSpareThreads 75
MaxSpareThreads 250
ThreadLimit 64
ThreadsPerChild 32
MaxClients 8000
MaxRequestsPerChild 10000
</IfModule>

Dit heb ik ook ergens uit een voorbeeld config gehaald, of het goed is dat kan ik ook nog niet zeggen.

Ramon Fincken
07/06/20, 13:32
wat voor applicatie is het? een site? Valt die niet te cachen (lokaal of met varnish/nginx ervoor) ?

Herbert
07/06/20, 21:43
wat voor applicatie is het? een site? Valt die niet te cachen (lokaal of met varnish/nginx ervoor) ?

Het is een website met streams, er wordt gebruik gemaakt van Ajax, MySQL, PHP, Curl, Shoutcast etc..
Alles draait nog op CentOs 6.10 met de nodige updates elke keer.
Volgens mij heb ik het gevonden, de Crucial SSD van 5 jaar oud was de boosdoener.
De SSD heb ik vervangen door een Intel D3-S4510 en alles loopt weer lekker vlot, het is en wereld van verschil.
Bedankt voor de reacties!