Att läsa top rätt

En långsam server har sällan bara en orsak, och första steget är att läsa mätvärdena rätt. Kommandot top ger en snabb överblick över belastning, processer och minne. Load average visar hur många processer som väntar på processor eller diskåtkomst, och den bör jämföras med antalet CPU-kärnor: ett värde långt över antalet kärnor under längre tid betyder att systemet är överbelastat. Procentsatserna för användartid och systemtid visar var processorn lägger sin tid, medan wa visar väntan på disk, och ett högt värde pekar på problem med in- och utdata. I virtuella miljöer visar st stulen tid, vilket kan betyda att värden är överbelastad eller att krediter har tagit slut. Minnesraden visar användning och swap, och mycket swap tyder på minnesbrist. Business IT Support felsöker Linux-servrar för företag och tolkar mätvärdena, så att åtgärden riktas mot rätt problem i stället för att man gissar. En omstart kan dölja symptomet, men den löser sällan orsaken, och därför börjar vi alltid med att läsa av läget. Mätvärdena får sitt värde först när de jämförs med hur servern normalt beter sig.

Kommandot top som visar serverns belastning i Linux – felsökning av hög serverbelastning, Business IT Support
Kommandot top som visar serverns belastning i Linux. Så arbetar Business IT Support, en del av Datorkirurgen AB, med felsökning av hög serverbelastning åt företag i hela Sverige.

Vidare med vmstat, iostat och loggar

När top har visat riktningen går vi vidare med fler verktyg. Kommandot ps med sortering visar vilka processer som tar mest processor eller minne, och vmstat ger en tidslinje över processor, minne och in- och utdata. Iostat visar hur hårt diskarna belastas och hur länge förfrågningar väntar, vilket avslöjar långsamma eller överbelastade diskar. Systemloggarna, som journalctl och dmesg, visar fel, omstarter och eventuella meddelanden om att systemet har dödat processer på grund av minnesbrist. Webbserverns och databasens loggar visar vilka anrop som tar tid, och vi kan se om belastningen kommer från vanlig trafik eller från ovanliga mönster, till exempel upprepade anrop mot inloggningen. Genom att kombinera flera källor får vi en sammanhängande bild i stället för en enskild observation. Vi dokumenterar vad vi ser, så att det går att jämföra med normalläget. Det är ofta skillnaden mot det normala som avslöjar problemet, och därför är det värdefullt att känna till hur servern brukar se ut när allt fungerar som det ska.

CloudWatch-larm för CPU-användning på en EC2-instans – felsökning av hög serverbelastning, Business IT Support
CloudWatch-larm för CPU-användning på en EC2-instans. Kontakta Datorkirurgen AB för hjälp med felsökning av hög serverbelastning: felsökning, åtgärd och löpande support.

Vanliga orsaker till hög belastning

Orsakerna varierar, men några återkommer ofta. Skadlig kod eller kryptominers som körs i bakgrunden kan dra mycket processor, och de kommer ofta in genom föråldrade plugin eller svaga lösenord. Överbelastade PHP-processer eller för många samtidiga anrop ger hög belastning på webbservrar, särskilt om en sida är dåligt optimerad. Databasfrågor utan index kan ta lång tid och binda upp både processor och disk. Minnesbrist gör att systemet börjar använda swap, vilket är mycket långsammare, och i värsta fall dödar kärnan processer för att frigöra utrymme. På burstbara instanser i molnet kan belastningen bero på att CPU-krediterna är slut, vilket ger kraftigt sänkt prestanda utan att något annat är fel. Därför kontrollerar vi alltid även om servern är komprometterad innan vi justerar inställningar, eftersom ett intrång som kör skadlig kod annars bara fortsätter i det dolda. Genom att utesluta orsakerna i en strukturerad ordning hittar vi problemet snabbare, och åtgärden blir den rätta redan första gången.

Detaljer för ett larm i AWS CloudWatch – felsökning av hög serverbelastning, Business IT Support
Detaljer för ett larm i AWS CloudWatch. Exempel från ett verkligt uppdrag inom felsökning av hög serverbelastning, utfört av Business IT Support.

Från diagnos till åtgärd

När orsaken är identifierad väljer vi åtgärd efter problemet. Skadlig kod tas bort och ingångsvägen stängs, och därefter härdar vi servern. Överbelastade webbprocesser åtgärdas genom bättre inställningar för PHP och webbserver, cache och begränsning av onödiga anrop. Långsamma databasfrågor optimeras med index och bättre frågor. Vid minnesbrist justerar vi tjänsternas minnesanvändning eller utökar minnet, och vid slut på CPU-krediter byter vi instanstyp eller konfigurerar om hur kreditsystemet används. Vi verifierar att belastningen sjunker och att sajten svarar snabbare, och vi sätter upp övervakning och larm så att vi ser en ny försämring tidigt. Allt dokumenteras, så att ni vet vad som var fel och vad som gjordes. Dessutom ger vi rekommendationer för framtiden, till exempel uppdateringar, kapacitetsplanering eller förändringar i hur sajten är byggd. Målet är inte bara att lösa dagens problem utan att göra servern stabil så att det inte upprepas, och att ni slipper brandkårsutryckningar mitt i arbetsdagen. Då slipper ni oroa er för att samma sak ska hända igen vid nästa trafiktopp.

Serverrack i ett serverrum – felsökning av hög serverbelastning, Business IT Support
Serverrack i ett serverrum. Rätt hantering av felsökning av hög serverbelastning skyddar verksamheten mot driftstopp och förlorade kunder.

Kontakta Datorkirurgen AB om serverproblem

Är er server långsam eller instabil? Business IT Support, en del av Datorkirurgen AB, felsöker och optimerar Linux-servrar åt företag i hela Sverige. Vi börjar med att läsa av belastning, minne, disk och loggar, och vi identifierar orsaken innan vi föreslår åtgärder. Vi hjälper till med Apache, PHP, MariaDB och WordPress, och vi kontrollerar samtidigt om servern har tecken på intrång. Efter åtgärden sätter vi upp övervakning och larm, så att ni får veta om problemet återkommer. Vi kan även ta över den löpande driften, med uppdateringar, backup och regelbundna kontroller. Eftersom vi arbetar med servrar, nätverk och molntjänster, bland annat AWS, kan vi hantera hela kedjan. Kontakta oss så ger vi er en första bedömning, och om det behövs en genomgång av servern i detalj. Ni får en tydlig rapport över vad som hittades och vilka åtgärder som är gjorda och rekommenderade, så att ni kan förlita er på att servern fungerar när era kunder behöver den.

Redigering av php.ini och kontroll av php-fpm på Amazon Linux – felsökning av hög serverbelastning, Business IT Support
Redigering av php.ini och kontroll av php-fpm på Amazon Linux. Behöver ni hjälp med felsökning av hög serverbelastning? Business IT Support, en del av Datorkirurgen AB, hjälper er.

Vanliga supportfrågor

Frågor om top och belastning

Frågor om verktyg och loggar

Frågor om åtgärder och support

[dk_natverk compact=”1″]

Leave a Reply

Your email address will not be published. Required fields are marked *