Sobes.tech
Middle+
229

Hoe voert u de probleemoplossing op de server uit in geval van hoge belasting? Welke indicatoren analyseert u en welke hulpprogramma's gebruikt u?

Antwoord van AI

sobes.tech AI

Ik zal beginnen met het analyseren van systeemmetriek om de oorzaken van de hoge belasting te identificeren.

Belangrijke indicatoren voor analyse:

  • load average: het gemiddelde aantal processen dat wacht om uit te voeren. Een hoge waarde duidt op overbelasting van de CPU of wachttijd voor invoer/uitvoer.
  • CPU utilization: percentage van CPU-gebruik. Hiermee kan worden begrepen welk deel van de CPU wordt gebruikt door gebruikersprocessen, systeemoproepen of inactief is.
  • Memory utilization: gebruik van het RAM-geheugen. Hoog gebruik kan leiden tot actief swappen, wat de prestaties sterk vermindert.
  • Disk I/O: intensiteit van lees/schrijfoperaties op de schijven. Hoge activiteit kan een knelpunt zijn.
  • Network activity: uitgaand en inkomend verkeer, aantal netwerkverbindingen. Hoge belasting kan worden veroorzaakt door netwerkproblemen of DoS-aanvallen.
  • Process list: lijst van lopende processen, hun resourcegebruik en status. Helpt bij het identificeren van een specifiek proces dat de belasting veroorzaakt.

Diagnostische hulpmiddelen:

  • top / htop: interactieve monitoring van systeembronnen en processen in realtime. Hiermee kunnen processen worden gesorteerd op CPU-, geheugen- of andere verbruiken.

    # top -c // volledige opdrachtregel tonen
    
  • vmstat: rapport over virtueel geheugen, processen, CPU en I/O-activiteit.

    # vmstat 1 // output elke seconde
    
  • iostat: monitoring van de activiteit en prestaties van schijfapparaten.

    # iostat -xz 1 // uitgebreide output per schijf en CPU, elke seconde
    
  • netstat / ss: informatie over netwerkverbindingen, routes en interface-statistieken.

    # netstat -tunapl // TCP/UDP-verbindingen, luisterende sockets, poorten, PID
    # ss -tunapl
    
  • sar: verzamelen, rapporteren en analyseren van systeemactiviteit (CPU, geheugen, schijf, netwerk). Wordt gebruikt voor historische prestatieanalyse.

    # sar -u 5 5 // CPU elke 5 seconden, 5 keer
    # sar -d 5 5 // Schijf elke 5 seconden, 5 keer
    # sar -n DEV 5 5 // Netwerk elke 5 seconden, 5 keer
    
  • iftop / nethogs: interactieve monitoring van netwerkverkeer per interface of proces.

    # iftop -i eth0 // monitoring van interface eth0
    # nethogs eth0 // monitoring van verkeer per proces op eth0
    
  • dstat: universeel hulpprogramma dat de functies van vmstat, iostat, netstat combineert.

    # dstat -c -m -d -n // CPU, geheugen, schijf, netwerk
    
  • strace / lsof: tracering van systeemoproepen (strace) en lijst van geopende bestanden (lsof) voor een specifiek proces. Handig voor diepgaande analyse van het gedrag van een applicatie.

    # strace -p <PID> // tracering van proces op PID
    # lsof -p <PID> // geopende bestanden van proces op PID
    

Het proces zal iteratief zijn: ik identificeer het knelpunt op basis van de metriek, gebruik het juiste hulpmiddel voor detaillering, analyseer de oorzaak (bijvoorbeeld een specifiek proces), en neem corrigerende maatregelen (bijvoorbeeld herstarten of optimaliseren van de applicatie, vergroten van resources). Het is ook belangrijk om applicatie- en systeologboeken te controleren (journalctl, /var/log/*).