Hoe verhoudt LiteSpeed vs Nginx zich tot elkaar? En hoe doet LiteSpeed vs Nginx het in WordPress? In mijn zoektocht naar de beste WordPress hosting was dit een vraag die me altijd dwars zat.

Er waren veel berichten van niche blogs en niet zo geweldig ogende blogs die beweerden dat LiteSpeed tot 1200% beter presteerde dan Nginx en daarbij enkele mooie LiteSpeed vs Nginx benchmarks lieten zien. Dat klonk als een verhaal dat te mooi is om waar te zijn, maar kon het echt waar zijn?

Zelfs de Litespeed vs Nginx benchmarks van LiteSpeed zelf wijzen op een groot prestatieverschil, dus als dit waar zou zijn, zou het gebruik van LiteSpeed fenomenaal zijn.

Deze blog posts gaven me niet echt bevredigende antwoorden, en benchmarks waren vaak eendimensionaal. De oplossing was eenvoudig: draai zelf een paar servers op en doe wat echte tests!

In dit artikel en in de bovenstaande video geef ik antwoord op de volgende vraag: Hoe verhoudt (Open)LiteSpeed zich tot Nginx bij gebruik van WordPress?

TL;DR

De onderstaande infographic vat het allemaal samen:

LiteSpeed vs Nginx: De grote strijd (Benchmarks, WordPress & OpenLiteSpeed) 1
Deze benchmark in een keurige infographic

Maar wat is LiteSpeed?

LiteSpeed, of beter, LiteSpeed webserver, is een product van LiteSpeed technologieën waarmee je een webserver kunt draaien. Een webserver maakt het mogelijk dat een computer of server die met het internet verbonden is, websites host en serveert.

LiteSpeed staat bekend om zijn prestaties en compatibiliteit met Apache, een andere zeer populaire webserver.

In dit artikel richten we ons op de open-source versie van LiteSpeed Web Server, die wordt genoemd OpenLiteSpeed.

Sommige gedeelde web-hosting bedrijven gebruiken (Open)LiteSpeed met groot succes, maar veel grote hosting bedrijven gebruiken Nginx of Apache.

En wat is NGINX?

Nginx is een HTTP en reverse proxy server. Hij kan gebruikt worden om toepassingen en websites te hosten en te cachen op een willekeurige server. Het wordt gebruikt door veel grote bedrijven zoals Dropbox en Netflix, en wordt steeds populairder.

Het staat erom bekend statische bestanden heel goed te serveren, en heeft ook speciale modules voor caching (FastCGI) en het afhandelen van PHP (PHP-FPM).

Bovendien heeft het ook functionaliteiten voor het hanteren van Mail proxies en load balancing.

LiteSpeed vs Nginx: De Resultaten

Voor mijn testopstelling maakte ik bij Upcloud 2 servers aan, beide met 2 cores en 4GB RAM in het Londense datacentrum. Upcloud is een prima provider, met snelle servers en schijven.

Ik gebruikte Runcloud om een WordPress website op elk van deze servers, wat een geweldig controlepaneel is om WordPress op je eigen servers te hosten (vind het beste bedieningspanelen hier). Tenslotte gebruikte ik nog een server waarop ik een load-testing tool installeerde. Op de ene server installeerde ik NGINX, en op de andere server gebruikte ik OpenLiteSpeed. Voor sommige benchmarks schakelde ik ook FastCGI caching in voor Nginx en caching voor LiteSpeed

In wezen vergelijken mijn benchmarks OpenLiteSpeed vs NGINX.

Daarna voerde ik de volgende tests uit op deze WordPress sites:

  • TTFB en belastingstests met behulp van Sucuri prestatiecontrole.
  • 1000 cliënten per seconde test met behulp van Loader.io (met caching ingeschakeld)
  • 50 clients per seconde test, met Loader.io (met caching uitgeschakeld)
  • Van 0 naar 10.000 cliënten in één seconde, met Loader.io (met caching ingeschakeld)
  • Een test die ik zelf schreef, waarbij 10.000 berichten worden ingevoegd, 10.000 berichten worden opgevraagd, en 10.000 berichten worden verwijderd.
  • Een test met behulp van de WordPress Prestatie tester Plugin
  • Een test met behulp van de WordPress Benchmark Plugin.

OpenLiteSpeed vs Nginx: Tijd tot eerste byte (gelijk)

LiteSpeed vs Nginx: Sucuri resultaten
De resultaten voor Nginx

Dit zijn de resultaten voor de Tijd tot Eerste Byte (TTFB):

NginxOpenLiteSpeed
Snelste TTFB32 ms34 ms
Snelste totaal38 ms68 ms
Gemiddelde TTFB372 ms317ms
Gemiddeld Totaal668 ms550 ms

Nginx laadt sneller op de dichtstbijzijnde plaats, terwijl OpenLiteSpeed voor alle plaatsen gemiddeld beter presteert.

OpenLiteSpeed vs Nginx: 1000 Cliënten per Seconde (in cache) (Nginx)

Met behulp van loader.io, die simuleert dat cliënten voortdurend verzoeken afvuren, kunnen we een goed beeld krijgen van de gecacheerde prestaties. In dit geval staat 1000 cliënten per seconde gelijk aan 1000 verzoeken per seconde.

Metriek (1000 gecachede cliënten)NginxOpenLiteSpeed
Gemiddelde respons744 ms1615 ms
Minimum reactie101 ms102 ms
Maximaal antwoord10296 ms11381 ms
Succesvolle Verzoeken5996453791
Timeout Fouten016
Netwerk Fouten0346

Nginx presteert hier veel beter, met meer verzoeken en een lagere gemiddelde responstijd. Nginx heeft ook een veel gelijkmatiger responstijd, met minder pieken in zijn grafiek en slaagde erin 99.9% van alle verzoeken met succes af te handelen.

OpenLiteSpeed had ook een paar netwerkfouten en timeouts (> 10 seconden responstijd), en kreeg maar 90% van het maximaal mogelijke aantal verzoeken.

OpenLiteSpeed vs Nginx: Van 0 tot 10.000 klanten (in cache) (OpenLiteSpeed)

Maar hoe verhouden beide platforms zich tot elkaar als we de bezoekers langzaam in één minuut van 0 tot 10.000 laten stijgen?

Interessant genoeg zien we bij Nginx dat de responstijd ruwweg correleert met het stijgende aantal bezoekers. Bij OpenLiteSpeed echter blijft het getal verder onderaan staan, met een stapsgewijze toename na 9000+ cliënten, wat resulteert in een groot aantal Timeouts.

In wezen presteerde OpenLiteSpeed beter onder ruwweg 9000 clients, wat ook resulteerde in meer succesvolle aanvragen. Hier is een overzicht van alle cijfers:

Metriek (0-10000 cliënten)NginxOpenLiteSpeed
Gemiddelde respons3069 ms2041 ms
Minimum reactie110 ms103 ms
Maximaal antwoord12028 ms16661 ms
Succesvolle Verzoeken85489111784
Timeout Fouten03822
Netwerk Fouten00

Laten we eens kijken wat er gebeurt als we de cache uitzetten!

OpenLiteSpeed vs Nginx: 50 clients per seconde (ongecached) (Nginx)

Als caching uitgeschakeld is, krijgen we een heel ander beeld.

Nginx presteert veel beter dan LiteSpeed, met veel meer succesvolle verzoeken en lagere responstijden.

Metriek (50 ongecacheerde cliënten)NginxOpenLiteSpeed
Gemiddelde respons1918 ms3560 ms
Minimum reactie498 ms1137 ms
Maximaal antwoord3069 ms11077 ms
Succesvolle Verzoeken21711313
Timeout Fouten00
Netwerk Fouten00

Een ander populair hulpmiddel om de belasting te testen is h2load. Je ziet het veel in blogs. De volgende resultaten vertellen erover.

OpenLiteSpeed vs Nginx: h2load (gecached) (OpenLiteSpeed)

Ik voerde de volgende benchmark uit:

h2load -n10000 -c100 -m10 --h1 "https://host.makeitwork.press"

Dit zegt in feite om 10.000 verzoeken uit te voeren, met 100 clients die wel 10 gelijktijdige streams kunnen hebben. En dit zijn de resultaten:

Metriek (1000 gecachede cliënten)NginxOpenLiteSpeed
Voltooiing5.59 seconden4.87 sec
Verzoeken1790,45 req/s2052,24 req/s
Doorvoer93,86 MB/s107,79 MB/s

OpenLiteSpeed doet het hier beter, met serveren. In een tweede test, die je ook in de video vindt, liggen de resultaten van Nginx en OpenLiteSpeed eigenlijk dichter bij elkaar.

OpenLiteSpeed vs Nginx: h2load (uncached) (Nginx).

Maar zullen we een vergelijkbaar verschil zien als caching wordt uitgeschakeld? Laten we eens kijken! Ik voerde het volgende commando uit, dat ongecacheerde versies van de website laadt.

h2load -n1000 -c10 -m10 --h1 "https://host.makeitwork.press?nocache"

Je zult nu wel weten wat de bovenstaande syntaxis betekent :). En dit zijn de resultaten:

Metriek (10 ongecacheerde cliënten)NginxOpenLiteSpeed
Voltooiing24,95 seconden43.54 seconden
Verzoeken40.09 req/s22.97 req/s
Doorvoer1.92 MB/s1001 KB/s

Net als de test met Loader.io presteert Nginx hier veel beter.

Laten we nu in enkele WordPress specifieke benchmarks duiken en zien hoe beide reuzen zich tot elkaar verhouden.

OpenLiteSpeed vs Nginx: WordPress Post invoegen & verwijderen (OpenLiteSpeed)

De Post Insert & Delete Test is een eenvoudige test die ik schreef, waarbij ik 10.000 post insertions uitvoer, een query van 10.000 posts en een deletion van 10.000 posts. Voor elk van deze acties registreer ik hoe lang het duurde.

NginxOpenLiteSpeed
Plaats 10.000 berichten46.939 seconden41.041 seconden
Verwijder 10.000 berichten44.538 seconden43.170 seconden
Vraag 10.000 berichten op0,318 seconden0,376 seconden

In dit geval is OpenLiteSpeed iets sneller.

OpenLiteSpeed vs Nginx: WordPress Performance Tester (gelijkwaardig)

Het WordPress Prestatie tester Plugin doet twee benchmarks die de server en de queries per seconde in WordPress benchmarken. Het is een aardige indicatie van de (web)-server prestaties.

NginxOpenLiteSpeed
Server Score8.2748.109
Zoekopdrachten per seconde13261304

In deze benchmark doen Nginx en OpenLiteSpeed het gelijk Voor de server score geldt: lager is beter.

OpenLiteSpeed vs Nginx: WordPress Benchmark Gereedschap (OpenLiteSpeed)

Het WordPress Hosting Benchmark programma is een geweldig hulpmiddel dat je CPU & Geheugen, MySQL, Schijf en netwerk prestaties test. Het geeft veel inzicht in hoe goed je hosting provider is, maar ook een beetje in hoe goed een webserver stack presteert.

In deze benchmark doet OpenLiteSpeed het iets beter voor de meeste benchmarks, behalve voor kleine bestanden I/O.

NginxOpenLiteSpeed
Bewerkingen met grote tekstgegevens8,3 seconden7,8 seconden
Willekeurige binaire gegevensbewerkingen7,5 seconden7,3 seconden
Schrijfvaardigheid bestandssysteem1179 MB/s1174 MB/s
Snelheid bij kopiëren en openen van lokale bestanden1047 MB/s1143 MB/s
Klein bestand IO test990 MB/s698 MB/s
Importeren van een grote hoeveelheid gegevens in een database3.5 sec3.3 sec
Eenvoudige zoekopdrachten op een enkele tabel1.2 sec1 sec.
Complexe database queries op meerdere tabellen5 sec.4.7 sec
Totale score7.97.9

Oef! We hebben heel wat benchmarks gedaan. Het is tijd om tot de conclusie te komen.

OpenLiteSpeed vs Nginx: Een WooCommerce Praktijkstudie

Hoewel de vorige benchmarks gedaan werden op een basis installatie van WordPress, geeft dit niet echt de gemiddelde WordPress website weer.

Daarom deed ik nog een rondje benchmarking met een eenvoudige opzet voor een webwinkel, gebaseerd op een opgeblazen WordPress thema en de WooCommerce plugin. Ik schaalde de server ook op naar drie niveaus om te zien wat het effect zou zijn (Van 1 core en 2GB ram tot 4 cores en 8GB ram, met behulp van de geweldige servers van Upcloud). Wat heb ik dus getest?

  • De laadprestaties voor drie niveaus met h2load.
  • De tijd die het kostte om 10.000 berichten in te voegen/te verwijderen/te lezen.
  • Hoe lang duurt het om 1000 en 10.000 willekeurige WooCommerce producten te genereren.
  • De laadtijden en MySQL queries zoals aangegeven door Query Monitor met verschillende opstellingen.
  • De tijd die het kost om 1000 berichten te importeren met WP All Import.

Loadtest (caching ingeschakeld): Gelijk

In deze belastingstest vuurde ik in principe 10000 verzoeken, veroorzaakt door 100 gelijktijdige gebruikers, af op een gecachede pagina van de opgezette website. Dit zijn de resultaten:

ServerVerzoeken per seconde
NGINX op 1 kern / 2 GB2605
OLS op 1 kern / 2 GB1055
NGINX op 2 kern / 4 GB1094
OLS op 2 kern / 4 GB1105
NGINX op 4 kern / 8 GB1086
OLS op 4 kern / 8 GB1103

Op de vreemde uitzondering voor de kleinste server voor NGINX na, zijn de resultaten tamelijk gelijk. OpenLiteSpeed had echter wel een kleinere tijd tot de eerste byte. Ik zag ook niet veel effect bij het opschalen van de server.

Loadtest (caching uitgeschakeld): NGINX

In deze belastingstest vuurde ik in principe 1000 verzoeken, veroorzaakt door 10 gelijktijdige gebruikers, af op een ongecachede pagina van de opgezette website. Dit zijn de resultaten:

ServerVerzoeken per seconde
NGINX op 1 kern / 2 GB8.3
OLS op 1 kern / 2 GB4.01
NGINX op 2 kern / 4 GB14.97
OLS op 2 kern / 4 GB8.28
NGINX op 4 kern / 8 GB29.25
OLS op 4 kern / 8 GB16.83

Net als de basis installatie kan NGINX veel meer ongecacheerde gebruikers aan en er was een duidelijke prestatieverbetering voor servers die geschaald zijn. Opnieuw zien we de kracht van caching, want een ongecachede opstelling is veel trager.

Post Insertion / Deletion / Leestest: Nginx

In deze test heb ik vervolgens 10.000 berichten ingevoegd, opgevraagd en verwijderd. Dit zijn de resultaten:

ServerInvoeging (s)Opvragen (s)Verwijdering (s)
NGINX op 1 kern / 2 GB39.8650.37838.742
OLS op 1 kern / 2 GB59.0840.50558.640
NGINX op 2 kern / 4 GB56.6550.37048.120
OLS op 2 kern / 4 GB52.6990.41359.617
NGINX op 4 kern / 8 GB36.8530.36433.128
OLS op 4 kern / 8 GB50.9060.46341.256

NGINX wint hier duidelijk

In deze opstelling is NGINX veel sneller dan OpenLiteSpeed, vooral bij het verwijderen of invoegen van berichten.

WordPress is single-threaded

Behalve wat variatie met Nginx, zien we bij opschalen wel wat verandering, maar niet zo veel als verwacht. Dat komt omdat WordPress (en PHP) single-threaded is; één proces is toegewezen aan één thread. Dat betekent dat, hoeveel kernen je server ook heeft, één proces (in dit geval het invoegen, verwijderen, lezen van berichten) door één kern wordt uitgevoerd. Met meer cores kun je echter meer processen tegelijk laten lopen, wat meestal betere prestaties oplevert.

Benchmark productgeneratie: Gelijk

Met behulp van de WC Smooth Generator genereerde ik 1000, en vervolgens 10.000 producten en rapporteerde de genereertijd. OpenLiteSpeed verwerkte 1000 producten sneller, terwijl NGINX 10.000 producten eerder klaar had.

Server1000 producten10.000 producten
NGINX op 4 kern / 8 GB00:03:5400:54:19
OLS op 4 kern / 8 GB00:03:1500:56:42

Op de achtergrond deed ik ook een test met een verkleinde server, maar er was geen noemenswaardige invloed op de productgeneratietijd.

Omdat dit een test is die veel langer duurt, is het ook een goede test voor de levensduur, met andere woorden: hoe lang de prestaties verdragen worden.

Resultaten van de query monitor: NGINX

Voor verschillende hoeveelheden producten bezocht ik de producten pagina en bewerkte een product, en bekeek de metriek in Query Monitor. Vraag monitor is een plugin die helpt om de prestaties te verbeteren en te zien welke code in WordPress daar veel invloed op heeft.

De plugin controleert de tijd die nodig is om PHP uitvoering te verwerken, de tijd die nodig is om de database te bevragen en hoeveel ram en queries daarbij gebruikt worden.

Standaard instelling (17 producten)

PaginaPHP belasting (s)Zoekopdracht laden (s)
NGINX - Producten pagina0.370.04
OLS - Producten Pagina0.820.05
NGINX - Bewerk productpagina0.370.08
OLS - Productpagina bewerken1.541.17
Een pagina met 17 producten laden

Nginx presteerde hier veel beter en OLS heeft een paar vreemde waarden voor het bewerken van producten. Maar hoe deden ze het met 1000 producten?

1000 producten instellen

PaginaPHP belasting (s)Zoekopdracht laden (s)
NGINX - Producten pagina0.270.06
OLS - Producten Pagina0.650.08
NGINX - Bewerk productpagina0.470.04
OLS - Productpagina bewerken0.420.09
Een pagina met 1000 producten laden

Opnieuw was NGINX sneller in het opvragen en laden van de pagina's, behalve de Edit product pagina waarin OpenLiteSpeed iets sneller laadde (maar wel langzamer was in het opvragen).

11000 Producten Setup

Met deze opzet zien we langzamerhand de resultaten van het hebben van een groot aantal producten in onze database, met grotere query tijden tot gevolg.

PaginaPHP belasting (s)Zoekopdracht laden (s)
NGINX - Producten pagina0.480.11
OLS - Producten Pagina1.010.25
NGINX - Bewerk productpagina0.550.34
OLS - Productpagina bewerken1.790.46
Een pagina met 11000 producten laden

Opnieuw doet NGINX het hier beter, zelfs na herhaalde paginaladingen en uitgemiddelde getallen om zeker te zijn dat een getal geen eenmalig incident was.

Overigens deed ik dit op de grootste serveropstelling, want naar beneden schalen had geen noemenswaardige effecten.

Benchmark resultaten importeren: NGINX

Eindelijk importeerde ik 1000 producten in WordPress met WP All import en noteerde de tijd die dat kostte. Dit zijn de resultaten:

StackInvoerduur
NGINX00:01:15
OLS00:01:26
Invoer van 1000 producten

Opnieuw lijkt NGINX hier iets sneller te zijn. Dit is vooral het geval als de import al bestaande producten bevat.

LiteSpeed vs Nginx: Het is nipt, maar Nginx lijkt de winnaar

In mijn tests presteerden Nginx en LiteSpeed eigenlijk heel dicht bij elkaar, hoewel Nginx het beter lijkt te doen in de Webshop case studie.

  • In de meeste van de benchmarks is het verschil erg klein, waarbij OpenLiteSpeed marginaal sneller is voor server operaties en in gecachede situaties (behalve voor het verwerken van 1000 gelijktijdige cliënten).
  • Nginx leek veel beter te presteren bij belastingstests wanneer caching uitgeschakeld was, en verwerkte dezelfde hoeveelheid verzoeken en cliënten veel sneller.

Helaas kan ik geen definitieve conclusie geven over de vraag of je LiteSpeed of Nginx zou moeten gebruiken. Maar wat als je een beslissing zou moeten nemen?

  • Gebruik OpenLiteSpeed als je een gemakkelijk te gebruiken caching plugin voor WordPress wilt hebben die al je prestatie optimalisaties dekt, en compatibiliteit met .htaccess nodig hebt. Deze bevat ook ESI (edge side includes) caching, waarmee je delen van dynamische pagina's, zoals winkelpagina's, kunt cachen. Cyberpanel, GridPane en Runcloud werken uitstekend met OpenLiteSpeed.
  • Gebruik Nginx als je geweldige ongecacheerde prestaties wilt, en houdt van de manier waarop Nginx configuraties bestand werken. Zowel GridPane en Runcloud werken uitstekend met Nginx.
  • De eerder genoemde platforms zijn gericht op ontwikkelaars. Hostinger is een prima hosting provider die LiteSpeed ondersteunt, en gericht is op beginners. Rocket.net of Kinsta zijn geweldig als je een voorkeur hebt voor Nginx.

Naast zijn er nog een paar andere dingen om te overwegen als je voor LiteSpeed of Nginx kiest.

Het grootste voordeel van het gebruik van LiteSpeed in WordPress

Het grootste voordeel van Litespeed voor WordPress is de caching plugin. Deze plugin is een alles-in-één gereedschapskist voor al je prestatie-eisen. Het biedt wel opties voor caching, minificatie, object caching, ESI (gedeeltelijke) caching, beeldoptimalisatie, verbeterde inhoudslevering, database optimalisatie en meer. Het biedt ook ondersteuning voor integratie met QUIC.cloud, dat laat je WordPress website van overal snel laden.

Helaas heeft Nginx niet zo'n geweldige plugin.

Geweldige Hosting Providers die LiteSpeed gebruiken

Ben je overtuigd van het gebruik van LiteSpeed? Of denk je dat Nginx meer kan? Als je LiteSpeed wilt gebruiken, testte ik een paar providers die er gebruik van maken. Hier is een link naar hun reviews:

Geweldige Hosting Providers die Nginx gebruiken

Er zijn veel goede providers die NGINX gebruiken, en met goede reden. De volgende WordPress hosting providers gebruiken stacks die uitsluitend uit NGINX bestaan:

Als we OpenLiteSpeed vs NGINX vergelijken, denk ik dat Nginx de duidelijke winnaar is in termen van prestaties. Het is alleen (erg) jammer dat ze geen plugin hebben die zo goed is als de LiteSpeed cache plugin.

Dus, wat denk je ervan? Laat het me weten in de reacties hieronder!