Iedere systeembeheerder heeft er wel eens mee te maken gehad, je server reageert niet lekker snel meer. De klant belt je op met de melding dat de laadtijden van zijn website langer dan 5 seconden bedragen, terwijl er slecht 10 gebruikers actief zijn.
Lees hieronder hoe je snel de oorzaak van deze traagheid kunt achterhalen.
Nadat je via SSH op je server inlogt, zal je eerst het commando ‘top’ willen uitvoeren. Op een server die weinig te doen heeft, is dit uiteraard geen probleem. Echter wil het in de praktijk nog wel een voorkomen dat het starten van ´top´ zo traag gaat, dat dit alleen maar ongemak geeft.
Om snel de ‘load‘ van de processor te zien, kun je ook het commando ‘uptime’ uitvoeren. Deze laat niet alleen het aantal dagen zien dat je server draait, maar ook de load!
marsmanic@server02:~$ uptime 21:31:19 up 569 days, 4:59, 3 users, load average: 1.27, 0.32, 0.32
Zoals hier te zien, is de load niet erg hoog, de oorzaak van de traagheid ligt dus niet bij het CPU-gebruik.
Als volgende mogelijkheid controleren we het geheugenverbruik. Het is namelijk goed mogelijk dat één proces te veel geheugen gebruikt of werkt in het swap-geheugen.
marsmanic@server02:~$ free -m total used free shared buffers cached Mem: 7946 3990 3955 0 328 1583 -/+ buffers/cache: 2078 5867 Swap: 16339 0 16339
Je ziet in bovenstaande dat er nog genoeg geheugen vrij is en dat er geen swap-geheugen wordt gebruikt. Dat is goed.
Het zou kunnen dat er veel activiteit op je schijven plaatsvindt, op oudere distributies kun je controleren met iostat (bijvoorbeeld: iostat -xtk 1) of dit het geval is. Bij nieuwere distributies gebruik je iotop:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 11.71 K/s PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 15474 be/4 www-data 0.00 B/s 3.90 K/s 0.00 % 0.00 % apache2 -k start 15518 be/4 www-data 0.00 B/s 3.90 K/s 0.00 % 0.00 % [apache2] 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
Tot slot bekijk je het netwerkverkeer van en naar je server. Hier zijn verschillende tools voor, bijvoorbeeld:
Als je zeker wilt weten of je server wel de netwerksnelheden haalt die je verwacht, is het handig om een keer speedtest op de command line te gebruiken.
Dit zijn enkele tools en tips die ik gebruik om snel een probleem te achterhalen. Het dekt niet alles, maar hiermee zul je vaak al snel de vertragende boosdoener vinden.
Mocht je er niet uitkomen of wil je mij (Marsman ICT Consultancy) je server laten onderzoeken, kun je altijd contact opnemen.
–Martijn