Loadtider på mellem 0,3 og 0,6 sekunder | WordPress

Og hvad kom der så ud af alle eksperimenterne? Altså dem med LiteSpeed isf. Apache?

Fine loadtider. Seneste blogpost på Bergholts opskrifter loader på 0,6 sekunder ifølge Pingdom Tools; og seneste blogpost her på bloggen loader på 0,3 sekunder. Det er tilfredsstillende, for at sige det på jysk.


Læs også: Webhotel til WordPress.

Performanceoptimering — Apache vs. LiteSpeed

For et par måneders tid siden havde jeg mulighed for at foretage en sammenligning af Apache og LiteSpeed i samarbejde med hostingudbyderen Meebox. Den faldt klart ud til LiteSpeeds fordel. I går foretog vi lidt flere eksperimenter på et lidt mere produktionsmodent setup.

Fordele v. LiteSpeed
Udover LiteSpeed — som er en kommerciel webserver, der bruger færre ressourcer end Apache, leverer indholdet hurtigere, har en solid indbygget cahing engine, som i nogle testscenarier endda outperformer industristandarden Varnish, og slutteligt beskytter bedre mod DDOS-angreb — kørte vi med en separat, dedikeret mysql-server.

Testresultater 1: Loadtider
 Sitet, der blev testet, er Bergholts opskrifter. Et WordPress-setup med en billed- og teksttung forside. I tillæg hertil er der en god sjat widgetsboxe i højre- og venstresiden. Loadtiden for forsiden lå med Apache på 6.2 sekunder.

loadtid-litespeed
loadtid-litespeed

Med LiteSpeed ramte vi 1.5 sekunder, hvilket er temmeligt imponerende, når man ta’r forsidens samlede elementer i betragtning (3,4mb).

Testresultater 2 — stresstest med LoadImpact
Loadimpact er et værktøj, der byder på real-life-test af samtidige forbindelser og brugere. Kurven for Apache-konfigurationen så således ud:

stresstest-bergholts-opskrifter-apache
stresstest-bergholts-opskrifter-apache

Loadimpact bryder af ved 40 samtidige forbindelser, da loadtiden stiger voldsomt ved dette punkt. Med LiteSpeed fortsættes testen helt op til 100 samtidige brugere med masser af samtidige forbindelser:

stresstest-bergholts-opskrifter-litespeed
stresstest-bergholts-opskrifter-litespeed

Den fine loadkurve, i hvert fald for et pro-webhotel, kan nok tilskrives LiteSpeeds caching engine.

Testresultater 3: Ressourceforbrug på serveren
Begge testsetup var baseret på CloudLinux, som gi’r mulighed for at monitorere ressourcefrobruger med 1-minutters intervaller under loadtesten. Ved Apache-konfigurationen ses en lang række peaks på cpu-forbrug, hvor CloudLinux går ind og skærer af for at beskytte de andre webhoteller på serveren.

ressourceforbrug-cloudlinux-apache-stresstest
ressourceforbrug-cloudlinux-apache-stresstest

Ved LiteSpeed ses et lang mindre ressourceforbrug:

stresstest-bergholts-opskrifter-litespeed
stresstest-bergholts-opskrifter-litespeed

 Problematisering
Samtlige testresultater viser, at LiteSpeed klarer sig langt bedre end Apache. Dog skal det bemærkes, at testen er foretaget på to forskellige serversetups. Apache er testet på en produktionsserver, hvor der er andre aktive webhoteller; mens LiteSpeed er testet på en testserver med blot et webhotel.

Ressourceallokationerne, entry threads, ram mængde og cpu-allokation er dog de samme. Så hvis serverkapaciteten ikke oversælges, burde performanceforskellene være mærkbare i produktionsmiljøer også.

Læs også: Kunsten at finde et hurtigt webhotel 

LiteSpeed vs. Apache. Præliminære resultater.

litespeed-vs-apache
LiteSpeed: Det kommercielle alternativ til Apache
LiteSpeed er en kommerciel webserver, der er designet, så den kan fungere som drop-in for Apache. Andre alternative som Lighttpd og Nginx kræver tweaking for at fungere i de fleste scenarier, fx kræver rewrite-regler for permalinks en nyopsætning.

Event-drevne webservere: Apache MPM worker, Nginx & LiteSpeed
LiteSpeed er som Nginx event-dreven, hvilket Apache ikke er som standard. MPM worker-modulet i Apache gi’r muligheden, men modulet er ikke direkte kompatibelt med de flest standardkonfigurationer af PHP.

Læs også: Måling af loadtider med Google Analytics: Site Speed.

Sammen med Meebox har jeg testet LiteSpeed-webserveren i et reallife-scenario — på mit site Modebevægelsen, og eksperimentet er spændt godt af. Loadtiden for hovedsiden, som indeholder tunge billeder og mange dynamisk genererede indholdsfelter i sidebarerne blev nedbragt fra omkring 8 sekunder til 4 sekunder.

Samtidige forbindelser, samtidige besøgende, skalérbarhhed
Dér, hvor LiteSpeed virkeligt viste sin styrke var i forbindelse med mange samtidige forbindelser og besøgende. En test fra Loadimpact viser en loadkurve, der er flad som en pandekage, hvor Apache tidligere knækkede ved omkring 30 samtidige connections.

loadtest-1-modebevaegelsen-litespeed

Serversetuppet er dog ikke helt identisk, så disse præliminære testresultater skal tages med et vist forbehold.

Loadniveauer og bagvedliggende arkitektur
loadniveauer-server-cpanelLoadniveauerne på grundserveren, som cloud-/Vmware-baseret var også nydelige. Det generelle loadniveau holdt sig på 0.02-0.04, mens min isolerede CloudLinux-container max. nåede op på 60% — mens gennemsnittet lå på 8%.

Læs også: Guide til valg af webhotel.