Wanneer een server overbelast is, of het nu virtueel of dedicated is, zorgt dit ervoor dat websites langzaam laden en irriterende fouten produceren in plaats van content. Het is noodzakelijk om de parameters ervan zorgvuldig te monitoren en een tijdige analyse van resources uit te voeren om een dergelijke uitkomst te voorkomen.
Vervolgens gaan we kijken naar het diagnosticeren van individuele bronnen met behulp van de tools van de hostingprovider, en via de terminal aan de serverzijde. Daarnaast zullen we verschillende benaderingen bekijken om problemen op te lossen die verband houden met slechte systeemprestaties. De instructies zijn van toepassing op alle servers met Linux OS, ongeacht de vooraf geïnstalleerde software.
Serverbronnen controleren via VMmanager
VMmanager virtualisatietool is de eenvoudigste, maar tegelijkertijd universele oplossing voor diagnostiek. Het speelt een sleutelrol bij het verzekeren van efficiënt beheer van toegewijd aan or virtuele servers op de meeste moderne hostingproviders. De controle wordt bijvoorbeeld uitgevoerd op versie 6 van de tool, maar eerdere versies kunnen ook soortgelijke diagnostiek uitvoeren.
Voor analyse moet u naar de VMmanager Configuratiescherm en selecteer de gewenste virtuele machine:
Vervolgens kan de gebruiker direct het gebruik van resources in realtime zien. Voor meer gedetailleerde statistieken moet u “Parameters” selecteren:
Het tabblad met gedetailleerde statistieken bovenaan geeft de algemene serverkenmerken en het virtualisatietype weer. In de grafieken kunt u in realtime de netwerkcongestie, processorbelasting, RAM- en schijfruimtegebruik zien:
Voor een meer gedetailleerde analyse van schijfruimte of resourcestatistieken voor een bepaalde periode, moet u het juiste menu-item selecteren. Informatie over virtuele schijven wordt weergegeven in deze indeling:
Belastingstatistieken voor een specifieke resource worden weergegeven in de vorm van een handige grafiek:
Het is mogelijk om een load graph voor een dag, week, maand, jaar weer te geven of handmatig de benodigde data te selecteren. Alle hoofdbronnen worden weergegeven: processor, RAM, opslag, netwerkinterface.
Veel gebruikers verwachten dat resources gelijkmatig worden gebruikt over een bepaalde periode. Dit is echter niet altijd het geval. De netwerkinterface kan er bijvoorbeeld hetzelfde uitzien, zelfs in de inactieve modus:
In dit geval zijn geen maatregelen vereist. In het geval van een processor, RAM of disk storage mag de server echter niet alle 100% van zijn resources op een constante basis gebruiken; de aanbevolen belasting is niet meer dan 70%.
Serverbronnen controleren in de terminal
Totale belastinganalyse
We hebben eerder naar enkele analyseopties gekeken in de Algemene diagnostiek van serverbronnen artikel. Daar hadden we het over standaardtools zoals boven/bovenop, en keek ook naar het installeren en configureren van de netdata utility, waarmee we serverbronnen via de browser kunnen monitoren. In dit artikel zullen we kijken naar htop als alternatief voor de top hulpprogramma voor algemene analyse van systeembronnen.
De tool is niet standaard voorgeïnstalleerd in Linux-distributies, dus laten we beginnen met de installatie. Voor Debian/Ubuntu gebruiken we de opdracht:
apt-get install htop
Voor CentOS is het zinvoller om de EPEL repositories. Ze zijn standaard uitgeschakeld, dus de eerste opdracht is verantwoordelijk voor het toevoegen ervan, en de tweede is voor het installeren htop:
yum -y install epel-release
yum install htop -y
Direct na de installatie kunt u het hulpprogramma openen via het toepassingsmenu of in de terminal met de juiste opdracht:
htop
Hierdoor kan de gebruiker alle informatie over het systeem zien:
De linkerbovenhoek toont processorgegevens, inclusief het gebruik van elke kern, RAM en swapgeheugen. Swapgeheugen in Linux wordt gebruikt in gevallen van een RAM-tekort, om de stabiliteit van het systeem te garanderen. In de rechterbovenhoek ziet u de processorbelasting en het aantal actieve taken. Het centrale deel toont actieve processen met de mogelijkheid om te sorteren. Het onderste deel biedt informatie over sneltoetsen en functionaliteit. De sectie 'Help' bevat een gedetailleerde beschrijving van de mogelijkheden van het programma:
Voordat u het systeem zelf diagnosticeert, is het noodzakelijk om precies te begrijpen hoeveel cores/processors er op de server worden gebruikt. De gebruiker kan hun waarde vinden in de linkerbovenhoek van de htop utility:
Of door de opdracht uit te voeren:
nproc
Afhankelijk van de verkregen waarde wordt de toegestane totale belasting berekend (Load average in de rechterbovenhoek). In ons geval is dit gelijk aan 2, wat betekent dat de maximale belasting 2.0 is. Dit betekent echter niet dat het systeem volledig vastloopt onder belasting 2.0. Dit getal kan hoger zijn, maar in dit geval staan alle andere taken in de wachtrij en wordt de server zelf belast. De ideale waarde wordt beschouwd als een belasting van niet meer dan 70%. Het Load average moet bijvoorbeeld binnen 0.7 liggen op een server met één processor. In het geval van de server in het hierboven genoemde voorbeeld zouden waarden van niet hoger dan 1.4 een goede indicator zijn.
gebruik htop of zijn analogen, moet de gebruiker de belangrijkste bronnen evalueren: gemiddelde processorbelasting, RAM-gebruik, schijfruimte en netwerkinterface. Als de bronnen minimaal zijn, moet u processen sorteren op CPU-gebruik, veelverbruikende bewerkingen identificeren en deze vervolgens optimaliseren of beëindigen. Als het onmogelijk is om het programma te sluiten of de optimalisatie mislukt, wordt aanbevolen om over te schakelen naar een server met een krachtigere configuratie.
Controleren van vrij RAM
In dit hoofdstuk gaan we dieper in op een belangrijk aspect van het functioneren van elke server: voldoende vrij RAM-geheugen.
De eenvoudigste manier om het vrije RAM-geheugen op een Linux-systeem via de terminal te controleren, is met de opdracht:
free -m
Bij de uitvoer krijgen we de volgende gegevens in megabytes: totaal, gebruikt, vrij en gecacht RAM, evenals swapvolume:
De tool is handig voor het verkrijgen van algemene gegevens op een specifiek tijdstip. Voor dynamische RAM-gebruiksdiagnostiek raden we de vmstat hulpprogramma waarmee we de updatefrequentie van de uitvoergegevens kunnen configureren:
vmstat 1
In het bovenstaande voorbeeld worden de gegevens elke seconde bijgewerkt. De uitvoer wordt geproduceerd in een formaat dat lijkt op gratis:
De tool biedt ook algemene systeeminformatie, maar in ons geval zijn alleen de kolommen die verantwoordelijk zijn voor RAM, dat wil zeggen geheugen en swap, belangrijk. Alle waarden worden aangegeven in kilobytes. Laten we ze eens nader bekijken:
Geheugen (RAM):
- partij: virtueel geheugen geruild voor fysiek geheugen.
- gratis: beschikbaar fysiek geheugen (RAM).
- bruingeel: geheugen dat als buffer wordt gebruikt vóór het schrijven naar de schijf.
- cache: geheugen dat als cache wordt gebruikt om de toegang te versnellen.
Ruilen
- si: geheugen dat als cache wordt gebruikt om de toegang te versnellen.
- so: gegevens geschreven van het fysieke geheugen naar het swapgeheugen.
Afzonderlijk is het vermeldenswaardig dat alle systeembronnen die hulpprogramma's diagnosticeren, in eerste instantie gegevens uit logs halen. In het geval van RAM kan de gebruiker de gegevens rechtstreeks bekijken door het bijbehorende bestand te openen:
cat /proc/meminfo
De uitvoer is behoorlijk uitgebreid, maar het is voldoende om aandacht te besteden aan de eerste records om het geheugen te analyseren:
Problemen met overmatig RAM-gebruik zijn meestal gerelateerd aan een specifieke taak of proces. In het begin is diagnostiek met behulp van algemene tools om problematische processen te identificeren voldoende. Als oplossing kunt u overwegen om een specifieke applicatie te optimaliseren, caching en datacompressie in te schakelen als we het over grote hoeveelheden informatie hebben, of de serverconfiguratie te vergroten.
Schijfruimtebeheer
Diagnostiek van server-schijfruimte is niet minder belangrijk dan de andere bronnen. In de regel zijn signalen over de noodzaak van controle: het onvermogen om bestaande bestanden te maken of ernaar te schrijven, trage systeemprestaties en verschillende invoer-/uitvoerfouten.
De gemakkelijkste manier om dit te controleren is met de opdracht:
df -h
Als reactie hierop zal de tool informatie over alle gekoppelde schijfpartities weergeven:
Voor gedetailleerdere bewaking van mappen kunt u deze opdracht gebruiken:
du -hs /*
Op deze manier kan de gebruiker achterhalen hoeveel ruimte elke directory inneemt. Om de systeemprestaties te herstellen, moet u de partitie van de schijf optimaliseren die de meeste hoeveelheid geheugen verbruikt. Het wordt aanbevolen om niet meer dan 80-90% van de vrije ruimte van de totale hoeveelheid te gebruiken; de resterende 10-20% zou voldoende moeten zijn voor een stabiele werking van het systeem. Het wordt aanbevolen om de schijfruimte te vergroten als optimalisatie niet mogelijk is. Dit kan worden gedaan door nieuwe schijven toe te voegen of bestaande schijven uit te breiden, evenals door cloudopslag te gebruiken. Ongeacht de gekozen oplossing, wordt aanbevolen om altijd een back-upkopie te maken om bestandsverlies te voorkomen.
Controle van netwerkinterface
Het laatste, maar niet minder belangrijke aspect van serverdiagnostiek is het controleren van de netwerkinterface. netzwijnen U kunt dit hulpprogramma gebruiken als u algemene informatie wilt verkrijgen over de hoeveelheid verkeer die in realtime door netwerkprocessen wordt verwerkt.
Installatie en lancering op Cent OS:
yum install nethogs
nethogs
Voor Debian/Ubuntu:
apt-get install nethogs
nethogs
De tool toont de processen die op dit moment netwerkbronnen gebruiken:
Wij raden aan om te gebruiken alsboven voor een meer gedetailleerde analyse.
Installatie en lancering op Cent OS:
yum install iftop
iftop
Voor Debian/Ubuntu:
apt-get install iftop
iftop
De programma-uitvoer is een lijst met actieve verbindingen die IP-adressen, poorten, hoeveelheid overgedragen data en overdrachtssnelheid aangeven. Het belangrijkste voordeel van het programma is het visuele ontwerp van de netwerkkanaallading:
Na het diagnosticeren van het servernetwerkkanaal en het identificeren van problemen met hoge belasting, wordt aanbevolen om de bandbreedte van netwerkverbindingen aan de kant van de hostingprovider te vergroten of de instellingen van de specifieke problematische interface te optimaliseren. Als back-uptool kunt u verschillende bewakingssystemen gebruiken om snel wijzigingen in netwerkactiviteit te volgen en, indien nodig, de netwerkinfrastructuur regelmatig bij te werken in overeenstemming met de vereisten.
Conclusie
Concluderend kan worden benadrukt dat het diagnosticeren van serverbronnen een integraal onderdeel is van effectief beheer van virtueel en toegewijd aan servers. Het artikel gaf ons de mogelijkheid om de belangrijkste tools voor een volledige serveranalyse te bekijken en gaf ook praktische aanbevelingen voor het oplossen van mogelijke problemen. Regelmatige systeemdiagnostiek zorgt ervoor dat de server naadloos functioneert, zelfs zonder actieve deelname van de gebruiker.