uanset Om du kører en server for et program eller bare din lokale maskine, du ønsker, at din computer kører sit bedste. Derfor skal du sørge for at overvåge din computers CPU, disk og hukommelsesforbrug. Overvågning af ting som hukommelsesforbrug og diskbrug er faktisk ret nemt. Hvor meget diskplads har du tilbage? Er din disk fragmenteret? Har du nok RAM til de applikationer, du bruger? Bytter du regelmæssigt hukommelse?
det er lette spørgsmål at besvare, og det er spørgsmål, du skal stille., Men nogle spørgsmål er mere komplicerede, især når det kommer til CPU-målinger. Sikker på, at der er enkle målinger som den samlede CPU-brug. Men hvis du bruger Linu., har du flere esoteriske (og nogle gange mere nyttige) målinger, som CPU-belastning. I dette indlæg skal vi tale om, hvad CPU-belastningsmetoden faktisk betyder, og hvordan du kan bruge den til at optimere dine servere.
CPU-Belastning vs. CPU-Brug
Den første ting at forstå er, at CPU-belastning er ikke det samme som CPU-forbrug., Selvom de måske lyder ens, er de helt forskellige. CPU-brug er en måling i en procentdel af, hvor meget tid CPU ‘ en bruger aktivt på at beregne noget. For eksempel, hvis du havde et program, der krævede uafbrudt processorkraft i 54 ud af de sidste 60 sekunder, ville din CPU-brug på en kerne være 90%. I stedet, hvis programmet kun krævede seks sekunder behandlingstid på en kerne, ville brugen være 10%.
de fleste virksomheder søger at holde CPU-brugen af deres servere så tæt på 100% som muligt., De fleste servere sælges af den samlede computerkraft, og hvis din server kun sidder ved 30% CPU-brug, betaler du for for meget processorkraft. Du kan nedgradere din processor til et lavere niveau, spare penge og se ingen reduktion i kvaliteten af din servers ydeevne.
CPU-belastning
CPU-belastning er anderledes. I stedet for at måle den procentdel af tid, CPU ‘ en fungerer, måler CPU-belastningen, hvor mange programmer der bruger eller venter på en processorkerne ad gangen. En helt tomgangsprocessor ville have en belastningsværdi på 0., I vores tidligere eksempel ville vi have et minuts belastningstider af .9 og .1, henholdsvis. Det er ret intuitivt. Det, der er unintuitivt ved CPU-belastning, er imidlertid, at en værdi på 1 ikke nødvendigvis er en fuldt indlæst måling.
i stedet afhænger det, der udgør “fuld” CPU-belastning, af, hvor mange operativsystemtråde din CPU kan prale af. De fleste CPU ‘ er i disse dage udgør mere end blot en CPU-kerne, der kører mere end blot en CPU-tråd. Hvis din CPU har fire kerner, er en CPU-belastning på 1 ikke en fuldt indlæst CPU. I stedet ville det kun være en fjerdedel indlæst., I stedet vil din CPU-belastning betragtes som fuld for din CPU, hvis din belastningsværdi var 4, ikke 1.
dekryptering af Linu.CPU-belastninger
at køre et program, der viser Linu. CPU-belastningstotaler, kan være lidt forvirrende i starten. Hvis du kører en kommando som uptime eller top, kan du muligvis se en CPU-belastningsværdi, der ligner 1.68 0.55 5.91. Hvis du ikke ved, hvad du leder efter, det ligner støj. Heldigvis, dette er faktisk temmelig let at dechifrere. Der er tre værdier her, og vi vil se på dem i rækkefølge.
den første værdi er 1,68. Dette er værdien af CPU-belastning i sidste øjeblik., Som vi nævnte før, er dette et mål for, hvor mange programmer der brugte CPU-tid i sidste øjeblik. Så i sidste øjeblik på denne maskine var der i gennemsnit 1, 68 programmer enten ved hjælp af CPU-behandlingstid eller venter på CPU-behandlingstid. Hvis dette er en enkelt-threaded CPU, betyder det, at computeren er overbelastet. Brugere venter på deres programmer til at køre på CPU’ en, og oplever forringet ydeevne. Hvis dette i stedet er en dual-core computer eller en quuad-core, kan brugerne få CPU-tid lige så hurtigt som de havde brug for det i sidste øjeblik.,
den anden værdi er 0,55. Dette er målingen i løbet af de sidste 5 minutter. Som vi tidligere har diskuteret, betyder en måling under 1, at CPU ‘ en brugte noget af tiden i det vindue helt inaktiv. I dette tilfælde var CPU ‘ en inaktiv i næsten halvdelen af tiden. Hvis vi optimerer vores CPU til konstant at gøre noget, er det ikke et godt tegn.
det endelige tal, 5,91, er en måling af de sidste 15 minutter. Hvis du bruger en otte-core CPU, så er dette nummer ikke særlig chokerende. Hvis du bruger en dual-core CPU, betyder et tal som 5.91, at din CPU er meget overbelastet., Brugere venter regelmæssigt på CPU-tid og oplever sandsynligvis markant forringet ydelse.
Uni.vs. Linu. CPU Loads
Hvis du er vant til at bruge CPU-belastningsmåling i Uni., kan nogle af disse tal virke lidt høje for dig. Det skyldes, at Uni.og Linu. måler CPU-belastning forskelligt. Uni.måler CPU-belastning udtrykkeligt som et mål for programmer, der aktivt bruger eller venter på CPU-behandling. Linu.måler tingene lidt anderledes, og forstå, hvordan er nøglen til god systemadministration.,
Linux foranstaltninger CPU-belastning ved at kigge både på programmer, der er i brug eller venter på CPU-tid i tillæg til programmer, der er i vente stater. For eksempel vil et program, der venter på en netværksanmodning, eller at indlæse noget fra en disk, ikke tælle med CPU-belastning på uni.. På Linu.gør det. Hvorvidt dette er en bedre eller værre tilgang afhænger af din brugssag. Hvis du ikke ønsker at måle andet end den samlede CPU-brug, giver Uni.en bedre grænseflade., Men hvis du har et program, der er låst i 30 sekunder og venter på en netværksanmodning, vil Linu.fortælle dig det. Uni.ville aldrig overflade disse data overhovedet.
optimering af CPU-belastninger
Der er ingen sølvkugle til optimering af dine CPU-belastninger. Det er en proces, som du har brug for at nærme sig holistisk. Meget gerne CPU-forbrug, når du er på en server, du ønsker at være tæt på 100%, men ikke over. Nogle gange er processen med at optimere dine CPU-belastninger ret let. Måske vil din server kun bruge to tråde på samme tid., I dette tilfælde er optimering af serverbelastninger ikke mere kompliceret end at have en dual-core processor. Du har muligvis brug for en hurtigere processor for at sikre, at disse programmer afsluttes i tide, men du har aldrig brug for mere end to kerner.de fleste systemer begrænser sig dog ikke til nøjagtigt to aktive tråde. De fleste servere er meget mere komplicerede. Og en af de virkelige udfordringer er at holde antallet af kerner så lavt som muligt, fordi det sparer dig penge uden at gå for lavt og nedværdigende brugeroplevelser. Det kan være, at du har brug for at optimere den kode, din server kører., Nogle gange skal du bestemme, hvor meget programtid der forbruges ved at vente på ting som databaseforespørgsler. Det kan være, at du virkelig har brug for at øge kernetallet på din processor. Øresvinede servere kan have en række årsager, og kan fastsættes på en række måder.
Hvordan er din CPU-belastning?
overvågning og optimering af din CPU-belastning er en vigtig del af at få mest muligt ud af din serverhukommelse. Desværre er det også en tidskrævende, manuel proces. Som nævnt giver de fleste Linu.-kommandoer kun CPU-belastning til 15-minutters windowsindo .s., Det er en god ting; du vil ikke have windowsindo .s meget bredere end det. Du ville have svært ved at få nyttige oplysninger ud af dem. At holde øje med CPU-belastningen over rullende 15-minutters perioder er dog lidt hovedpine.
Heldigvis, at der er gode værktøjer til at overvåge disse typer af ting for dig. For eksempel kan Scalyr overvåge CPU-belastning bare ved at indtage nogle logfiler. Du får ikke bare en simpel numerisk udskrift., I stedet får du en dejlig visuel, der viser din samlede CPU-belastning over tid. Dette kan være særligt nyttigt, da det hjælper dig med at lokalisere specifikke vinduer, der er de mest krævende på din CPU. Optimering af din servers ydeevne betyder at forstå det i detaljer, og ikke kun på et højt niveau.en del af at være en god systemadministrator betyder at forstå din server fra alle retninger. At vide, hvordan man fortolker CPU-belastning, og hvordan man optimerer den, er en vigtig del af at maksimere din virksomheds serverinvestering., Før du kan gøre det, skal du forstå, hvad din servers CPU-belastning faktisk er. Der er ingen bedre dag end i dag for at komme i gang med at overvåge din server CPU-belastning. Du kan begynde at formulere en plan for optimering i dag.
dette indlæg er skrevet af Eric Boersma. Eric er en software udvikler og udviklingschef, der er gjort alt fra IT-sikkerhed i lægemidler til at skrive intelligence-software til den AMERIKANSKE regering til at opbygge internationale udvikling hold for ikke-overskud., Han elsker at tale om de ting, han har lært undervejs, og han nyder også at lytte til og lære af andre.