nginx-gebruik stijgt. Of toch niet?

Deze maand voerde webhost-analist NetCraft weer een onderzoek uit naar het marktaandeel van webserver-software. Uit dit onderzoek blijkt dat het aandeel nginx stijgt en precies dat ‘nieuws’ lees je terug op tech-sites als Webwereld en Tweakers. Maar hoe zit dit in de praktijk? Wij vroegen het een aantal experts binnen de Nederlandse ISP-sector.

Hieronder de reacties van Wido den Hollander (PCExtreme), Robert van der Meulen (LeaseWeb), Wouter Schoot (Oxilion), Dick Tump (Shock Media) en Maarten van der Ster (proserve).

Op welke software draaien bij jullie de meeste webservers?

Op alle servers nginx
“Alle servers van ons CDN maken gebruik van nginx,” vertelt Robert van der Meulen, Manager Cloud bij LeaseWeb. “Wat onze klanten gebruiken is lastiger te zeggen, aangezien zij zelf de webserver-software op hun infrastructuur managen. Wij gebruiken nginx als onderdeel van de caching-oplossing in ons CDN. De dienst die wij leveren, zorgt ervoor dat klanten pieken in bezoekers en gebruikers aankunnen, zonder zelf additionele infrastructuur te gebruiken. Hiervoor hebben wij high-performance infrastructuur nodig, die om kan gaan met pieken vanaf enkele tientallen gigabits aan verkeer. Nginx zorgt in deze infrastructuur onder andere voor het afhandelen van webverkeer van eindgebruikers.”

Nginx ingezet als proxy vóór Apache
“Al onze webservers draaien gewoon nog Apache, daar is ook elke klant meebekend en daar heb je prachtige modules voor,” laat Wido den Hollander, CTO bij PCExtreme, weten. “nginx wordt vaak als proxy in gezet vóór Apache om statische content te cachen of om andere taken ter verrichten voordat het verkeer Apache bereikt. Wij gebruiken hiervoor bij onze hosting Varnish. Deze caching proxy cached bij ons onder andere JPG, PNG, CSS, JavaScript, XML en dergelijke. Zo ontlasten we Apache en gaat de user-experience van websites omhoog.”

Nginx sinds kort standaard bij Plesk
“Bij ons wordt het meeste gebruik gemaakt van Apache,” vertelt Maarten van der Ster, System Administrator bij proserve. “Nginx wordt wel gebruikt voor enkele projecten. Dit gaat wellicht snel veranderen, omdat nginx sinds kort standaard meegeleverd wordt als reverse caching-proxy bij Plesk 11. Wij zijn één van de grotere Plesk-gebruikers en dus zal het aandeel nginx een stuk groter gaan worden.”

Diverse verschillende oplossingen
“De meeste webservers draaien bij ons op Apache,” legt Dick Tump, Systeem Administor bij Shock Media, uit. “Dit komt grotendeels doordat Apache de standaard is binnen Linux en de control panels die we draaien. Voor de Windows-servers gebruiken wij altijd IIS. Voor high-performance websites draaien wij diverse verschillende oplossingen, waaronder nginx, maar ook Lighttpd en Litespeed. Maar echte performance is te halen bij optimalisatie, caching en loadbalancing. De webserver is daarbij niet de belangrijkste factor.”

Voornamelijk gebruikt bij serveren van statische content
We gebruiken voor ‘normale’ sites nog wel gewoon Apache,” zegt Wouter Schoot, Infrastructure Engineer van Oxilion. “Die wordt bij DirectAdmin en Plesk standaard geïnstalleerd. Je kunt hier wel nginx als reverse caching-proxy voor zetten maar dat levert niet heel veel op. Bij een aantal klantomgevingen gebruiken we nginx wel. Het is retesnel met serveren van statische content dus we gebruiken het voornamelijk daar voor. Aangezien er geen module voor php wordt ingeladen, houd je bergen geheugen over, die normaal door je ‘dikke’ Apache opgeslokt wordt, doordat er voor elk proces een Apache met php-support wordt gestart. Of er nu een php-pagina wordt aangeroepen of een favicon.ico.”

Hoe lees jij het onderzoek van NetCraft?

Cloud- en CDN duidelijk dominanter
“Het is een bevestiging van waar de markt heen gaat – de vraag naar meer flexibiliteit en keuzevrijheid groeit,” geeft Van der Meulen aan. “Cloud- en CDN services zijn duidelijk dominanter aan het worden. Zo goed als alle CDN-aanbieders gebruiken nginx of andere niet-Apache/Microsoft software voor hun platform. Doordat een grotere hoeveelheid content via zo’n CDN gehost wordt, daalt het aandeel van de traditionelere webservers automatisch. Daarnaast beginnen de alternatieven volwassener en meer mainstream te worden. Elke linux-distributie bevat inmiddels een aantal webserver-keuzes. Daarnaast is een onderdeel van de daling te verklaren door de groeiende inzet van Cloud-services. Veel afnemers schakelen over op PaaS en SaaS services – dit verklaart de stijging van bijvoorbeeld Google in de Netcraft-ranking – en PaaS/SaaS-aanbieders kiezen vaak voor Apache-alternatieven die beter schaalbaar zijn. IaaS-gebruikers die op basis van verbruikte resources afrekenen, hebben weer extra baat bij een webserver die een lichtere ‘footprint’ heeft.”

Opvallende groei
“Het marktaandeel van Apache is afgenomen, maar niet echt ten gunste van nginx,” zegt van der Ster. “Het marktaandeel is op sommige punten zelfs gekrompen. Toch is het opvallend dat het marktaandeel is een vrij korte tijd zo gegroeid is. Het is opvallend dat vooral Microsoft de afgelopen jaren flink wat marktaandeel heeft ingeleverd.”

Onderzoeksresultaten betwijfelt
Den Hollander betwijfelt de onderzoeksresultaten van NetCraft. “Netcraft baseert zijn data op de ‘Server’-header die wordt terug gestuurd bij een HTTP verzoek. Varnish doet hier normaal niets meer, maar nginx wel. nginx strijkt dus alle eer op, terwijl Apache op de achtergrond nog steeds het harde werk doet. Het daadwerkelijke HTTP-verzoek wordt dus door nginx aan de client verstuurd, maar we weten niet welke webserver er achter nginx zat om daadwerkelijk de content de genereren. nginx (en ook Varnish) wordt dus vooral ingezet om statische content te cachen. Het gaat tegenwoordig allemaal om de user-experience; websites moeten ‘snappy’ zijn.”

Is nginx een goede vervanger van Apache en/of Microsoft?

Cachen bespaart stroom en dus geld
“Ik ga geen cijfers geven, maar mensen lachen ons uit als we zouden vertellen hoe veel webservers wij draaien voor onze ruim 30.000 sites op ons primaire hosting cluster,” vertelt Den Hollander. “Uiteindelijk scheelt het ons in Apache-resources, maar ook in storage IOps, wat uiteindelijk allemaal stroom en dus geld bespaard. Dit verhaal gaat bij ons dan over Varnish, maar precies het zelfde kan met nginx. In onze situatie voldeed Varnish beter, maar in een andere situatie kan nginx beter zijn.”

Nginx in shared hosting omgeving minder geschikt
Volgens van der Ster is nginx een goede vervanger van Apache. “Voornamelijk voor het serveren van statische content,” legt hij uit. “Het geheugengebruik van nginx is een stuk lager dan van Apache. Nginx in combinatie met PHP-FPM werkt prima, maar is in de praktijk niet per definitie sneller dan de combinatie Apache en mod_php. Voor het gebruik van nginx in een shared hosting omgeving is het nu nog wat minder geschikt. Dit komt onder andere doordat veel standaard scripts gebruik maken van bijvoorbeeld .htaccess met daarin RewriteRules. Deze zijn te converteren naar een nginx geschikt formaat, maar dit te veel werk om bij te houden in een shared hosting omgeving.”

Alleen inzetten bij echte performance-voordelen
“Uit onze eigen performance tests blijkt wel dat in praktisch alle gevallen nginx als webserver meer performance levert dan Apache,” vertelt Tump. “Dit heeft echter voornamelijk zin bij statische content. Bij dynamische content, zoals PHP scripts, is het verschil vaak niet meer significant. Daarom zouden wij een webserver als nginx alleen inzetten bij oplossingen waar echt voordelen qua performance zijn te behalen met nginx. Bijvoorbeeld bij een drukke website die (ook) heel veel statische content levert of als reverse proxy in plaats van webserver. Overigens hebben wij de ervaring dat lighttpd ook zeer geschikt is als high performance webserver. Over het algemeen zien we dat lighttpd soms zelfs net iets meer aan kan dan nginx. Dit gaat vaak maar om enkele procenten, maar deze kunnen bij drukke websites wel nét het verschil maken.”

Hogere performance en een basis-set aan functionaliteit
Van der Meulen geeft aan dat nginx in een aantal gevallen zeker een goede vervanger is. “Apache is zeer geschikt om te gebruiken in situaties waarbij flexibiliteit in functionaliteit noodzakelijk is – veel software (ook commercieel) gaat uit van een Apache webserver, en daarnaast zijn er veel modules beschikbaar die aan Apache toe te voegen zijn. Voor alternatieve webservers (zoals nginx, lighttpd) is dit ook zo, maar is de diversiteit nog een stuk kleiner. Dit is wel snel aan het veranderen. Microsoft webservers worden met name ingezet in Microsoft-omgevingen, waar beheerders en architecten niet snel kiezen voor andere server-software. Op niet-Microsoft operating systems ben je minder gebonden aan één specifieke server, waardoor je ook voor een andere ‘smaak’ kan kiezen. De keuze voor nginx is vaak gedreven door behoefte aan hogere performance en een basis-set aan functionaliteit. Wij kozen precies om deze redenen voor nginx op ons CDN-platform. In veel situaties kan een alternatieve webserver (zoals nginx) een goed of zelfs beter alternatief zijn, omdat de feature-set van nginx vaak meer dan voldoende is, met de performance-winst een interessant extra voordeel oplevert.”

Nginx niet echt vervanger
Echt als vervanger raadt Schoot nginx niet snel aan. “Maar wel vaak als losse staticserver zodat de images, javascripts, favicons en css files van een losse server komen. Dat is ideaal. Dit komt dan van een ander domein dus da’s meteen mooi voor je pipelining. Dit gezegd hebbende kán nginx met php overigens prima, maar je gebruikt dan fastcgi, een losse daemon die je phpcode parsed en teruggeeft aan nginx. Zo hoeft nginx dan zelf geen php te doen.”

Veelal Apache op achtergrond
“nginx heeft iets meer opties, zo kan nginx ook SSL afhandelen,” geeft Den Hollander aan. “Daar gaan wij het ook voor inzetten, om SSL af te handelen vóór Apache. Maar nogmaals: nginx strijkt de eer op door de ‘Server’-header te rewriten naar “nginx/X.X.X” terwijl het in veel van de gevallen het zware werk door Apache op de achtergrond gedaan is.”

Wat wil je de sector hierover meegeven?

Kijk naar alternatieven
“Probeer vooral te kijken naar de alternatieven en selecteer de webserver die het best past bij de toepassing,” zegt van der Meulen. “Hierbij zijn functionaliteit en stabiliteit belangrijk, maar vooral ook beheers- en schaalbaarheid. Kosten voor infrastructuur kunnen fors dalen, als de basis-installatie goed is uitgezocht en geconfigureerd. Zeker bij het gebruik van IaaS kan dit al snel duidelijk zichtbaar zijn in het kostenplaatje. Ontwerp – zeker bij het gebruik van IaaS leveranciers – applicaties zodat ze horizontaal kunnen schalen. Dit zorgt voor meer flexibiliteit bij groei. Bij horizontaal schalen is de keuze voor een efficiënte webserver nog belangrijker – en loont het kijken naar alternatieven in de meeste gevallen zeker.”

Draai een benchmark
“Ga niet blind af op een tip om nginx te gebruiken,” geeft Tump aan. “Maar ga in elke specifieke situatie zelf een benchmark draaien tussen verschillende webservers, bijvoorbeeld nginx, Apache en lighttpd. De overstap van bijvoorbeeld Apache naar nginx kan wat werk kosten, ook omdat er voor nginx niet ‘gewoon’ een PHP plugin is, maar gebruik moet worden gemaakt van bijvoorbeeld FastCGI.”

Onderzoek alle opties
“Meten is weten,” vertelt van der Ster. “Je zou alle opties moeten onderzoeken en kijken wat het beste werkt in die specifieke situatie. Niet per definitie kiezen voor Apache of nginx. Wil je voornamelijk statische content serveren, dan is nginx absoluut de beste keus op dit moment. Als je enorme performance verbetering wilt, kun je beter de applicatie optimaliseren.”

Caching is niet eng!
“Gebruik caching!” roept Den Hollander. “Het is niet eng, maar ga er vooral goed mee om.” Zeker met gebruik van AJAX ziet Den Hollander dat browsers/clients continue kleine stukjes informatie downloaden bij de webserver. Het probleem ligt volgens hem nog vaak bij developers. “Hun mening is vaak nog dat caching vies is en alles gewoon raw door de CPU moet worden afgehandeld, want zo’n cache is maar lastig. Maar juist in deze tijd van stroom besparen is HTTP-caching juist de uitkomst! Je hebt véél minder rekenkracht nodig en dat bespaard stroom.”

Over Redactie ISP Today

ISP Today is het Nederlandstalige platform voor de Internet Service Providers in Nederland. We presenteren nieuws van redactionele kwaliteit met relevantie voor de Nederlandse ISP community. Internet Service Providers en met name de mensen daarachter staan centraal op ISP Today.

Laatste artikelen