När en server är överbelastad, oavsett om den är virtuell eller dedikerad, gör det att webbplatser laddas långsamt och producerar irriterande fel istället för innehåll. Det är nödvändigt att noggrant övervaka dess parametrar och genomföra en snabb analys av resurser för att undvika ett sådant resultat,
Därefter kommer vi att titta på diagnostisering av individuella resurser med hjälp av värdleverantörens verktyg, såväl som via terminalen på serversidan. Dessutom kommer vi att överväga olika tillvägagångssätt för att lösa problem i samband med dålig systemprestanda. Instruktionerna gäller alla servrar som kör Linux OS, oavsett förinstallerad programvara.
Kontrollera serverresurser via VMmanager
VMmanager virtualiseringsverktyg är den enklaste men samtidigt universella lösningen för diagnostik. Det spelar en nyckelroll för att säkerställa effektiv hantering av dedicerad or virtuella servrar på de flesta moderna värdleverantörer. Som ett exempel kommer kontrollen att utföras på version 6 av verktyget, men tidigare versioner kan också utföra liknande diagnostik.
För analys måste du gå till VMmanager kontrollpanelen och välj önskad virtuell maskin:
Därefter kan användaren omedelbart se användningen av resurser i realtid. För mer detaljerad statistik måste du välja "Parametrar":
Den detaljerade statistikfliken längst upp visar de allmänna serveregenskaperna och virtualiseringstypen. På graferna kan du se nätverksstockning, processorbelastning, RAM-minne och diskutrymmesanvändning i realtid:
För en mer detaljerad analys av diskutrymme eller resursstatistik för en viss tidsperiod måste du välja lämplig menypost. Information om virtuella diskar visas i detta format:
Laststatistik för en specifik resurs visas i form av en bekväm graf:
Det är möjligt att visa en belastningsgraf för en dag, vecka, månad, år eller manuellt välja nödvändiga datum. Alla huvudresurser visas: processor, RAM, lagring, nätverksgränssnitt.
Många användare förväntar sig att resurserna används jämnt under en viss period. Detta är dock inte alltid fallet. Till exempel kan nätverksgränssnittet se liknande ut även i viloläge:
Inga åtgärder krävs i detta fall. Men i fallet med en processor, RAM eller disklagring bör servern inte använda alla 100 % av sina resurser på en konstant basis; den rekommenderade belastningen är inte mer än 70 %.
Kontrollerar serverresurser i terminalen
Totallastanalys
Vi har tidigare tittat på några analysalternativ i Allmän diagnostik av serverresurser artikel. Där pratade vi om standardverktyg som t.ex topp/överst, och tittade även på att installera och konfigurera nätdata verktyg, som låter oss övervaka serverresurser via webbläsaren. I den här artikeln ska vi titta på htop som ett alternativ till topp verktyg för allmän systemresursanalys.
Verktyget är inte förinstallerat i Linux-distributioner som standard, så låt oss börja med installationen. För Debian/Ubuntu använder vi kommandot:
apt-get install htop
För CentOS är det mer vettigt att använda EPEL förråd. De är inaktiverade som standard, så det första kommandot är ansvarigt för att lägga till dem, och det andra är för att installera htop:
yum -y install epel-release
yum install htop -y
Direkt efter installationen kan du öppna verktyget från programmenyn eller i terminalen med lämpligt kommando:
htop
Som ett resultat kommer användaren att kunna se all information om systemet:
Det övre vänstra hörnet visar processordata, inklusive användningen av varje kärna, RAM och växlingsminne. Swap-minne i Linux används i fall av RAM-brist, vilket säkerställer systemstabilitet. I det övre högra hörnet kan du se processorbelastningen och antalet aktiva uppgifter. Den centrala delen visar aktiva processer med förmåga att sortera. Den nedre delen ger information om snabbtangenter och funktionalitet. Avsnittet "Hjälp" innehåller en detaljerad beskrivning av programmets möjligheter:
Innan man diagnostiserar själva systemet är det nödvändigt att förstå exakt hur många kärnor/processorer som används på servern. Användaren kan ta reda på sitt värde i det övre vänstra hörnet av htop verktyg:
Eller genom att köra kommandot:
nproc
Beroende på det erhållna värdet kommer den tillåtna totala lasten att beräknas (Belastningsmedelvärde i det övre högra hörnet). I vårt fall är det lika med 2, vilket betyder att den maximala belastningen är 2.0. Detta betyder dock inte att systemet kommer att frysa helt under belastning 2.0. Detta nummer kan vara högre, men i det här fallet kommer alla andra uppgifter att finnas i kön och själva servern kommer att laddas. Det ideala värdet anses vara en belastning på högst 70 %. Till exempel bör belastningsgenomsnittet vara inom 0.7 på en server med en processor. När det gäller servern i det ovan nämnda exemplet skulle en bra indikator vara värden som inte är högre än 1.4.
Använda htop eller dess analoger måste användaren utvärdera huvudresurserna: genomsnittlig processorbelastning, RAM-användning, diskutrymme och nätverksgränssnitt. Om resurserna är minimala måste du sortera processer efter CPU-användning, identifiera högkrävande operationer och sedan optimera eller avsluta dem. Om det är omöjligt att stänga programmet eller optimeringen misslyckas, rekommenderas det att överväga att byta till en server med en mer kraftfull konfiguration.
Kontrollerar ledigt RAM
I det här avsnittet kommer vi att titta närmare på en viktig aspekt av funktionen hos vilken server som helst - en tillräcklig nivå av ledigt RAM.
Det enklaste sättet att kontrollera ledigt RAM-minne på alla Linux-system via terminalen är kommandot:
free -m
Vid utgången får vi följande data i megabyte: totalt, använt, ledigt och cachelagrat RAM-minne, samt växlingsvolym:
Verktyget är användbart för att få allmän information vid en specifik tidpunkt. För dynamisk RAM-användningsdiagnostik rekommenderar vi vmstat verktyg, som låter oss konfigurera uppdateringsfrekvensen för utdatainformationen:
vmstat 1
I exemplet ovan kommer data att uppdateras varje sekund. Utdata produceras i ett format som liknar kostnadsfria :
Verktyget ger också allmän systeminformation, men i vårt fall är det bara kolumnerna som är ansvariga för RAM, det vill säga minne och swap, som är viktiga. Alla värden anges i kilobyte. Låt oss titta på dem mer i detalj:
Minne (RAM):
- swpd: virtuellt minne utbytt mot fysiskt.
- kostnadsfria : tillgängligt fysiskt minne (RAM).
- buff: minne som används som buffert före diskskrivning.
- cache: minne som används som cache för att snabba upp åtkomsten.
Swap
- si: minne som används som cache för att snabba upp åtkomsten.
- so: data skrivna från fysiskt minne för att byta minne.
Separat är det värt att nämna det faktum att alla systemresurser som diagnostiserar verktyg initialt tar data från loggar. När det gäller RAM kommer användaren att kunna se data direkt genom att öppna motsvarande fil:
cat /proc/meminfo
Utgången är ganska omfattande, men det räcker med att vara uppmärksam på de första posterna för att analysera minne:
Problem med överdriven RAM-användning är oftast relaterade till en specifik uppgift eller process. I början räcker det med diagnostik med vanliga verktyg för att identifiera problematiska processer. Som en lösning kan du överväga att optimera en specifik applikation, möjliggöra cachning och datakomprimering om vi pratar om stora mängder information, eller öka serverkonfigurationen.
Diskutrymmeskontroll
Diagnostik av serverns diskutrymme är inte mindre viktig än dess andra resurser. Som regel är signaler om behovet av kontroll: oförmåga att skapa eller skriva till befintliga filer, långsam systemprestanda och olika in-/utmatningsfel.
Det bekvämaste sättet att kontrollera är kommandot:
df -h
Som svar kommer verktyget att visa information om alla monterade diskpartitioner:
Du kan använda det här kommandot för mer detaljerad katalogövervakning:
du -hs /*
På så sätt kommer användaren att kunna ta reda på hur mycket utrymme varje katalog tar upp. För att återställa systemets prestanda måste du optimera partitionen på disken som förbrukar mest minne. Det rekommenderas att inte tillåta mer än 80-90% av det lediga utrymmet av den totala mängden att användas; de återstående 10-20% bör vara tillräckligt för stabil systemdrift. Det rekommenderas att öka diskutrymmet om optimering inte är möjlig. Detta kan utföras genom att lägga till nya eller utöka befintliga diskar, samt använda molnlagring. Oavsett vilken lösning som väljs rekommenderas det att alltid göra en säkerhetskopia för att undvika filförlust.
Kontroll av nätverksgränssnitt
Den sista, men inte mindre viktiga aspekten av serverdiagnostik är att kontrollera nätverksgränssnittet. De näthogs verktyget kan användas om du vill få allmän information om hur mycket trafik som står för nätverksprocesser i realtid.
Installation och start på Cent OS:
yum install nethogs
nethogs
För Debian/Ubuntu:
apt-get install nethogs
nethogs
Verktyget kommer att visa de processer som använder nätverksresurser för tillfället:
Vi rekommenderar att du använder iftop för mer detaljerad analys.
Installation och start på Cent OS:
yum install iftop
iftop
För Debian/Ubuntu:
apt-get install iftop
iftop
Programutgången är en lista över aktiva anslutningar som anger IP-adresser, portar, mängd överförd data och överföringshastighet. Den huvudsakliga programfördelen är den visuella designen av nätverkskanalens laddning:
Efter att ha diagnostiserat servernätverkskanalen och identifierat problem med hög belastning, rekommenderas det att öka bandbredden för nätverksanslutningar på värdleverantörens sida eller optimera inställningarna för det specifika problematiska gränssnittet. Som backupverktyg kan du använda olika övervakningssystem för att snabbt spåra förändringar i nätverksaktivitet och vid behov regelbundet uppdatera nätverksinfrastrukturen i enlighet med kraven.
Slutsats
Sammanfattningsvis kan det betonas att diagnostisering av serverresurser är en integrerad del av effektiv hantering av virtuella och dedicerad servrar. Artikeln gav oss möjligheten att titta på de viktigaste verktygen för en fullständig serveranalys, och gav också praktiska rekommendationer för felsökning av eventuella problem. Regelbunden systemdiagnostik gör att servern kan fungera sömlöst, även utan aktivt användardeltagande.