Ytelse og kjerner

Siden vårt firma har utspring i et utviklermiljø innenfor webteknologi slik som asp, aspx og php, så er vi naturligvis opptatt av ytelsen på både våre egne servere og de vi leier ut til kunder. Vi vil ikke selge deg en server bare for å selge den – vi brenner for å optimalisere den og lage rutiner sammen med deg for at den virker så friksjonsfritt som mulig. Dette er noe både våre kunder og vi vinner på. Andre lever av å servere så mange bokser som mulig og har ofte en interesse av å overlevere. Hvis ting går tregt, så selger de deg bare en server til, fremfor å løse det underliggende problemet.

I denne artikkelen tar vi for oss ytelse. Som standard tilbyr vi prosessorer med 4 kjerner. I dag selges det prosessorer både med 2 og 16 kjerner og det er fort gjort å bli fristet til å laste opp med mest mulig. Vi har gjort samme feilen – i stedet for å tenke på klokkefrekvensen, så har vi tenkt at det burde gi bedre ytelse om vi legger litt mer penger i kjerner. Destor flere kjerner å sette ut prosessen til, desto kjappere burde det gå.

Desto flere kjerner, desto bedre?

Det du da bør vite – hvis du prioriterer en 1.8GHz moderne prosessor med 8 kjerner – fremfor en 2.3 GHz med 4 kjerner, så vil ditt nettsted gå minst 2-4 sekunder tregere for hver sidelasting i snitt. Dette har noe med at flere kjerner virker mer som en virtualiseringsløsning eller en form for lastbalansering om du vil. Du har fortsatt den samme underliggende ytelsen/motoren, men den blir forsøkt delt opp/isolert i mindre biter for å kunne kjøre samtidig. Det er jo flott hvis serveren din har en massiv belastning og 100% av CPUen brukes. De færreste webservere har imidlertid denne typen belastning og dermed får man utelukkende de negative konsekvensene inntil man når den grensen. Ikke bare betaler man mer for serveren og prosessoren – man får til og med dårligere ytelse!

Nyere er alltid bedre?

Vi startet opp med drift av servere i 1998. Særlig i 2009 investerte vi mye i servere i forbindelse med nytt datasenter. Nå i 2016 utførte vi et prosjekt for å se på ytelse på alle våre servere. Vi fant noen interessante ting:

I 2016 kjøpte vi masse servere, med det siste av prosessorteknologi, raid-teknologi og ytelse. Vi gleder oss til ytelsestestene og tenkte at nå vil testene og grafene ta helt av. Vi fant et testprogram for ulike web-programmer og utførte massiv testing under like forhold.

Det skal også nevnes at disse nye serverne også kostet langt mer i 2016 enn de gjorde i 2009, men vi betaler da for mer ytelse?

Vi ble noe overrasket.

Det var minimal forskjell.  Faktisk kjørte et flertall av serverne under visse forhold raskere enn de nye. Vårt hovedfokus var å teste kjøring av webprogrammer som php, men vi kjørte også ytelsestester for disker/diskoverføring på ulike operativsystem.

Det er to ting som betyr noe når det kommer til web: diskløsning og hastighet på prosessor. Alt annet kan du glemme. Dual, Quad, Six-core, Hex-core etc betyr ingenting. Til og med hardware-raid betyr ofte ikke så mye sammenlignet med Linux-softraid.

Konklusjon

Nyere er aldri ensbetydende med bedre. Det er hvordan ting er satt opp som betyr noe for webservere. En optimalisert webserver fra 2009 slår en langt mer og dyrere standard satt opp webserver fra 2016. Hver gang. Så neste gang du får et bra tilbud på leie av server, forsikre deg om at de har praktisk erfaring og ikke bare snakker salgspratet som de har fått levert av serverleverandøren. Vi har selv latt oss lure.

En raskere klokkefrekvens vil i de fleste lastsituasjoner gi bedre ytelse. Ikke la deg blende av antall kjerner.

Så hvorfor skal man overhodet kjøpe nytt?

Nyere prosessorer er mer strømsparende og har dvalefunksjoner som gjør at de nesten slår seg av. Det er godt nytt for oss som driver datasenter, men som du som kunde ikke merker noen fordeler av (som nevnt over, så vil du få dårligere ytelse – men det er hyggelig at du også bidrar til bunnlinjen vår og kjøper flere servere for å «løse» problemet).

Unntakene

Hvis firmaet driver med omfattende beregninger, så kan du oppnå bedre ytelse med en ny server. Da snakker vi store regneoperasjoner eller 3d-animasjoner. For web blir dette nokså lite interessant i vår sammenheng og er mer relevant for de som kjøper servere for intern bruk i egne lokaler. Hvis du bruker de samme serverne for web-bruk, så vil du risikere langt dårligere ytelse. Rett og slett fordi serverne er laget for ulike behov.

Som nevnt vil også en prosessor med flere kjerner kunne opprettholde (den lave) ytelsen i krevende situasjoner med mye trafikk. Så du må alltid se an bruken, men ikke bare anta at flere kjerner desto bedre!