Skip to content

PHP-FPM Status Monitoring

Terug naar klant: Brekz

Deze documentatie beschrijft hoe je de PHP-FPM status kunt monitoren voor Brekz hosting omgevingen, inclusief configuratie van slow request logging en process management instellingen.

Overzicht

  • FPM Status Check


    Hoe je de PHP-FPM status opvraagt via de command line

    Status opvragen

  • Slow Logs


    Configuratie en locatie van slow request logs

    Slow Logging

  • Process Management


    PHP-FPM process manager configuratie

    PM Configuratie

  • Pool Configuratie


    Overzicht van pool configuratie bestanden

    Pools


FPM Status Opvragen

Om de PHP-FPM status handmatig op te vragen via de command line, gebruik je het cgi-fcgi commando met de juiste environment variables.

Productie Omgeving

FPM Status Check - Brekz Productie
sudo SCRIPT_NAME=/fpm-status-brekz-prod-lje908u3hjssd \
     SCRIPT_FILENAME=/fpm-status-brekz-prod-lje908u3hjssd \
     REQUEST_METHOD=GET \
     cgi-fcgi -bind -connect /var/run/php/brekz7.1.sock

Socket Locatie

De PHP-FPM socket voor Brekz productie is: /var/run/php/brekz7.1.sock

Status Output

De output toont informatie over:

  • Actieve processen
  • Wachtrij status
  • Pool statistieken
  • Uptime en request totalen

Slow Request Logging

Slow request logging helpt bij het identificeren van langlopende PHP requests die performance problemen kunnen veroorzaken.

Log Locaties

Locatie: /var/log/php7.1-fpm-slow-brekz-prod.log

Timeout: 10 seconden

Alle requests die langer dan 10 seconden duren worden gelogd naar dit bestand.

Locatie: /var/log/php7.1-fpm-slow-brekz-accept.log

Timeout: 5 seconden

Alle requests die langer dan 5 seconden duren worden gelogd naar dit bestand.

Locatie: /var/log/php-fpm/php-71-frpm-brekz-slow.log

Timeout: 5 seconden

Verouderd

Dit is een oudere log locatie die mogelijk nog in gebruik is op legacy systemen.

ConfiguratieVoorbeeld

Slow Request Logging Configuratie
; Timeout in seconden voordat een request als 'slow' wordt gemarkeerd
request_slowlog_timeout = 10s

; Pad naar het slow log bestand
slowlog = /var/log/php7.1-fpm-slow-brekz-prod.log

Process Management Configuratie

De PHP-FPM process manager (PM) regelt hoeveel worker processen er actief zijn en hoe deze geschaald worden.

Huidige PM Instellingen

Process Manager Configuratie
; Dynamic process management
pm = dynamic

; Maximum aantal child processen
pm.max_children = 120

; Aantal processen bij start
pm.start_servers = 8

; Minimum aantal idle servers
pm.min_spare_servers = 5

; Maximum aantal idle servers
pm.max_spare_servers = 15

; Aantal requests per proces voordat restart
pm.max_requests = 100

Uitleg Parameters

Parameter Waarde Beschrijving
pm dynamic Gebruikt dynamische scaling van worker processen
pm.max_children 120 Maximum aantal gelijktijdige worker processen
pm.start_servers 8 Aantal workers bij opstarten van PHP-FPM
pm.min_spare_servers 5 Minimum aantal idle workers (worden bijgemaakt indien nodig)
pm.max_spare_servers 15 Maximum aantal idle workers (worden gestopt indien overtollig)
pm.max_requests 100 Een worker wordt herstart na dit aantal requests (memory leak preventie)

Performance Tuning

Deze waarden zijn afgestemd op de Brekz workload. Bij performance problemen kun je:

  • pm.max_children verhogen voor meer concurrent vermogen
  • pm.start_servers verhogen voor snellere startup
  • pm.max_requests verlagen bij memory leak problemen

Pool Configuratiebestanden

PHP-FPM pools zijn gescheiden configuraties voor verschillende omgevingen.

Productie Pool

Bestand: /etc/php/7.1/fpm/pool.d/brekz.conf

brekz.conf - Productie Pool
; Slow request logging
request_slowlog_timeout = 10s
slowlog = /var/log/php7.1-fpm-slow-brekz-prod.log

Acceptatie Pool

Bestand: /etc/php/7.1/fpm/pool.d/brekz-accept.conf

brekz-accept.conf - Acceptatie Pool
; Slow request logging
request_slowlog_timeout = 5s
slowlog = /var/log/php7.1-fpm-slow-brekz-accept.log

Pool Scheiding

Door aparte pools te gebruiken voor productie en acceptatie kunnen beide omgevingen onafhankelijk van elkaar draaien op dezelfde server met eigen resource limits en logging.


Gerelateerde Documentatie


Troubleshooting

FPM status geeft geen output

Controleer of:

  • De PHP-FPM service draait: sudo systemctl status php7.1-fpm
  • Het socket bestand bestaat: ls -la /var/run/php/brekz7.1.sock
  • Je sudo rechten hebt om het commando uit te voeren
Slow logs zijn leeg

Als er geen entries in de slow logs staan:

  • Controleer of de timeout niet te hoog staat
  • Verifieer dat de log directory schrijfbaar is
  • Check de pool configuratie in /etc/php/7.1/fpm/pool.d/
Te veel processen actief

Bij te veel actieve processen:

  • Controleer pm.max_children in de pool config
  • Monitor met sudo ps aux | grep php-fpm | wc -l
  • Overweeg om process limits aan te passen