Følgende er vårt nyhetsbrev for mai 2022.
Ytelsesproblemer på servere er noe vi ofte får spørsmål om i Deploi. Noen ganger er spørsmålene av typen “Det går tregt her, er det noe feil hos dere?”. Det er det som regel ikke. Ofte skyldes ytelsesproblemer rett og slett en betydelig økning i last, for eksempel en stor økning i antall samtidige brukere på systemet.
Dagens servere er svært kraftfulle, og få moderne serverapplikasjoner utnytter den enorme kraften som er tilgjengelig på en optimal måte. Ytelsesproblemer er derfor også ofte forårsaket av unormalt dårlig ressursutnyttelse som skyldes innstillinger eller programvare.
Når vi skal hjelpe kunder med feilsøking, er det alltid en fordel om kunden har dannet seg et godt bilde av hva problemet er på forhånd. I dette nyhetsbrevet vil vi fortelle om ulike kategorier av ytelsesproblemer, og gi en del tips om hvordan våre kunder selv kan feilsøke og rette disse. Står du fast, kan du selvfølgelig alltid kontakte oss for å få hjelp.
Ta tiden
Før du går i gang med å feilsøke og rette ytelsesproblemer er det viktig å måle responstiden. Finn frem en stoppeklokke, utfør en operasjon og mål tiden den bruker på å fullføre. Sett deg så et realistisk mål på hvor fort det burde gå.
Ressurser og flaskehalser
Servere bruker ulike ressurser for å kjøre programmer: Prosessorkraft, minne, disk og nettverksoverføring. En vanlig årsak til ytelsesproblemer er at én av disse ikke har mer ressurser tilgjengelig, og dermed blir den en flaskehals. Vi skal i dette nyhetsbrevet ta for oss prosessorkraft, og vil i løpet av året ta for oss de tre andre kategoriene i hvert sitt nyhetsbrev.
Hvis man ikke finner noen flaskehals, kan det bety at programmene ikke er satt opp til å bruke alle ressursene som er tilgjengelige. Da bør man konfigurere programmene slik at de får lov til det.
Del 1: Prosessorkraft
Prosessoren er selve hjernen i en datamaskin. Tidligere var GHz det viktigste målet for prosessorkraft, men i moderne servere er det antall vCPU som er det viktigste. Dette angir hvor mange oppgaver som kan kjøre helt samtidig på en server. Eksempler på oppgaver kan være å levere en webside til en besøkende, prosessere et kjøp i en nettbutikk eller hente ut ordrehistorikk fra en database. Oppgavene som kjører samtidig kan enten komme fra én og samme applikasjon, eller de kan komme fra flere ulike applikasjoner.
Hvor mange vCPU din Deploi-server har kan du se på administrasjonssiden og på fakturaen for din server. Du kan også sjekke det på selve serveren. På Linux-baserte operativsystemer kan du kjøre kommandoen “nproc”. På Windows Server kan du åpne task manager, velge fanen Performance og deretter CPU, og se på tallet angitt etter Logical Processors.
Hvis prosessorkraft er en flaskehals vil dette typisk vises som at én eller flere av vCPU-ene brukes 100%. På Linux-baserte operativsystemer kan du bruke kommandoen “top”. I kolonnen “%CPU” kan du se hvilke programmer som bruker mest prosessorkraft. På Windows Server kan du se fanen “Processes” i task manager. Du kan sortere etter CPU.
Hvis din Deploi-server har 4 vCPU, skal et program i de fleste tilfeller kunne utnytte inntil 400%. Hvis tallet står nært 400%, betyr dette at programmet utnytter alle 4 vCPU-ene maksimalt. I dette tilfellet kan ytelsen ofte bedres ved å legge til flere vCPU. Hvis tallet står nært 100%, kan det bety at et program ikke klarer å utnytte mer enn én vCPU. I noen tilfeller er dette uunngåelig, i blant er begrensningen knyttet til lisenstype, men ofte skyldes begrensningen et valg i innstillingene for programmet eller i programkoden.
Typiske årsaker til at prosessorkraft er en flaskehals er at algoritmene er unødvendig tunge. Dette gjelder ofte SQL-spørringer i databaser. Da bør man bruke et verktøy for å se hvilke SQL-spørringer som tar lang tid, deretter finne ut hvor i programmet disse forekommer, og se om de kan gjøres raskere. Typiske metoder er å fjerne unødvendige data fra tabeller, gjøre tabellene enklere og mer tilpasset eller introdusere indeksering
En annen årsak er dobbeltarbeid, altså at et program bruker tid på å gjøre den samme oppgaven flere ganger. Dette kan løses ved å mellomlagre resultater.
En tredje årsak er unødvendig mange nettverkskall. Dette vil vises som høy prosessorlast fordi programmene jobber med å overføre dataene frem og tilbake i stedet for å gjøre noe nyttig. Dette kan løses ved å lage en samleoppgave eller ved å flytte programkoden til applikasjonen som trenger den ofte i stedet for å sende mange oppgaver til et annet program.
Hjelp til feilsøking og retting av ytelsesproblemer
Deploi har lang erfaring med å feilsøke og rette ytelsesproblemer. Vi hjelper deg gjerne å undersøke om en ressurs er en flaskehals på din server, og hva som eventuelt kan gjøres med det. Vi kan også sparre om tekniske løsninger for å drifte dine applikasjoner effektivt og godt.
Trenger du råd eller bistand i forbindelse med dette, er det som alltid mulig å kontakte oss på chat, telefon eller e-post. Du kan også svare direkte på denne e-posten om du foretrekker det.
Hilsen
Deploi-teamet
Kommende nyhetsbrev:
- juni: Vi lanserer domene-tjenester
- juli: IP versjon 6
- august: Feilsøking og retting av ytelsesproblemer, del 2: Minne