B. L. O. G.
Belangrijke Literatuur, Onze Gezelligheid

 

De voordelen van up to date servers

De ontwikkelingen in hostingland volgen elkaar in rap tempo op. Gelukkig niet zo snel als in de programmeer-wereld, waar PHP nog altijd de underdog is, JavaScript het ene na het andere framework uitspuugt en termen als SCRUM, AGILE en SPRINT al ouderwets zijn eer dat je door hebt wat ze eigenlijk betekenen. 

Voor hostingservers gaat het allemaal wat gezapiger. Een updateje hier, een nieuwe functie daar. Dat valt allemaal nog bij te houden. 

Het zal niemand ontgaan zijn dat we bij Flexwebhosting ons shared hosting platform toch flink aan het upgraden zijn. Daar komt het een en ander bij kijken en, hoewel er zo veel meer mogelijkheden ontstaan, betekent het ook dat er afscheid genomen moet worden van sommige websites. Gewoon, omdat ze te oud zijn. 

Maar als we het hebben over voordelen, wat bedoelen we daar dan mee? Onder andere snelheid, stabiliteit en veiligheid zijn hier belangrijke pijlers.

Snelheid

Iedereen wil natuurlijk dat zijn of haar website zo snel mogelijk in beeld verschijnt. Online zijn verschillende tools te vinden die daar hele statistieken op loslaten. <i>Jouw website is sneller dan 95% van alle websites</i> zie je dan bijvoorbeeld. Kijk, dan zit je goed.

Snelheid is -en blijft- relatief. Voor de een moet er binnen milliseconden resultaat zichtbaar zijn, voor de ander is twee seconden wachten best nog acceptabel.

De snelheidswinst op ons nieuwe platform wordt op verschillende punten gehaald. Niet alleen wordt er gebruik gemaakt van nieuwe hardware met krachtigere processoren en snellere harde schijven, maar tevens is de software volledig up-to-date. Dat betekent ook dat we gebruik maken van PHP 7 in plaats van PHP 5.

En nee, we hebben geen versie overgeslagen. PHP 6 is er gewoon niet.

Turbocharging the web

Waarom is PHP 7 zo veel sneller dan zijn voorganger? Want dat het sneller is, daar twijfelt niemand over. Het Zend Performance Team maakte er een mooie infographic over en de resultaten zijn niet mis. Oké, dit is misschien een gevalletje "wij van WC eend adviseren WC eend" (Zend is namelijk ook betrokken bij de ontwikkeling van PHP), maar de gepubliceerde resultaten worden over het hele web gereproduceerd.

Een van de punten waar de nieuwe versie van PHP in uitblinkt, is geheugengebruik. Er zijn verschillende partijen geweest die hun eigen testresultaten hebben gepubliceerd, waarbij gebleken is dat PHP 7 tot 25% minder geheugen in beslag neemt dan zijn voorganger. Dit wordt toegeschreven aan onder andere de implementaties van nieuwe hash tabellen en zval representaties, maar verdere verdieping hier in zou te diep in de materie gaan voor dit artikel.

Veel partijen hebben hun eigen benchmarks gedraaid en dan is WordPress, het meest populaire CMS ter wereld, natuurlijk de gedoodverfde favoriet om mee te testen. Twijfel je nog of PHP 7 echt zo snel is?

WordPress kan tot drie keer meer aanvragen per seconden afhandelen op PHP 7.2 dan op PHP 5.6.

Duidelijker kunnen we het niet maken.

Overigens, ander leuk feitje wat uit de resultaten van bijvoorbeeld Kinsta naar voren komt: WordPress is vele malen sneller dan andere semi-populaire CMSen.

  • WordPress 4.9.4 PHP 7.2: 148.80 req/sec
  • Joomla! 3.8.5 PHP 7.2: 42.36 req/sec
  • Drupal 8.4.4 PHP 7.1: 19.15 req/sec

Ook in de webshop-markt doen ze het niet slecht en doen ze maar nauwelijks onder voor Prestashop:

  • Prestashop 1.7.2.4 PHP 7.2: 111.48 req/sec
  • WordPress 4.9.4 + WooCommerce 3.3.1 PHP 7.2: 92.60 req/sec
  • Magento 2 (CE) 2.1.11 PHP 7.1: 29.84 req/sec

Je kunt er lang en breed over praten, maar het blijft een feit. Als je het hebt over 'snel, sneller, snelst' valt PHP 7 in de laatste categorie.

Stabiliteit

Een website moet online zijn. Daar heb je immers een website voor.

De stabiliteit van een server wordt bepaald door verschillende factoren. Aan de software-kant heb je het besturingssysteem en de webserver, gesteund door bijvoorbeeld PHP en MySQL. Hardware-matig zijn er processoren, geheugenbanken, harde schijven en netwerkkabels.

Het nieuwe platform is een stuk stabieler dan het 'oude'. Dat komt bijvoorbeeld doordat we gebruik maken van een zogenaamd cluster, waarbij servers niet meer afhankelijk zijn van één processor, één moederbord, één voedingskabel en ga zo maar door. Het is nu een samenwerkingsverband tussen tientallen servers, die allemaal hun processoren, geheugen en schijven ter beschikking stellen.

Calamiteiten

Stel dat er een server uit valt, bijvoorbeeld omdat het moederbord kapot gaat, dan is dat jammer. Op het oude platform betekende dat, dat een shared hosting server dan volledig onbereikbaar was en dat we vanuit een systeem back-up een nieuwe server op moesten zetten. De downtime was in zo'n geval dan vaak vier tot acht uur.

Binnenkort maakt het uitvallen van een server niet meer uit. Natuurlijk, het is jammer, maar niemand zal er veel van merken. Waar die ene server namelijk de geest geeft, zijn er tientallen anderen die klaar staan om het over te nemen. Hetzelfde gebeurt eigenlijk op iedere werkvloer als een collega ziek is. Ja, iedereen loopt een stapje harder, maar het resultaat blijft hetzelfde. En daar gaan onze servers ook voor zorgen.

Zuinig zijn

Naast het vervangen van gecrashte hardware, gaan de nieuwe versies van CentOS 7 (het besturingssysteem) en Apache 2.4 (de webserver) ook beter om met de hardware die ze krijgen toegewezen.

Bij zowel CentOS als Apache wordt dit voordeel vooral gehaald uit een beter geheugengebruik, net zoals bij PHP dus. Bij CentOS gaat dit bijvoorbeeld om een nieuw geïntroduceerde Swap Memory Compression, waarbij er minder vaak en zwaar op de harde schijf geleund wordt.

Als je zuiniger bent met wat je tot je beschikking hebt, kan je er meer of langer mee doen. Dat geldt voor een zakje dropjes en een goede fles rode wijn dus net zo goed als voor een processor en RAM-geheugen. Dat betekent aan de ene kant minder vervangen en aan de andere kant meer stabiliteit en snelheid voor jouw website.

Veiligheid 

Ten slotte moet een server natuurlijk veilig zijn. Je wilt dat je bezoekers er op kunnen vertrouwen dat jouw website veilig is en dat er geen gegevens worden buitgemaakt via verborgen achterdeurtjes.

Op het nieuwe platform zijn alle servers beveiligd met een Flexwebhosting SSL-certificaat, zodat alle verbindingen naar DirectAdmin, de mailserver, FTP en bijvoorbeeld webmail en PHPmyAdmin versleuteld worden. Via die route zullen er dus geen wachtwoorden of andere gegevens kunnen worden gekaapt.

Daarnaast wordt er gebruik gemaakt van de nieuwste versies van bijvoorbeeld OpenSSL met TLS 1.2 ondersteuning en krijgen websites met SSL-certificaten altijd een A+ score bij bijvoorbeeld SSLlabs (https://www.ssllabs.com/ssltest/).

Ook hebben we afscheid genomen van het al sinds 2013 niet meer geüpdatete Squirrelmail. Deze webmail client was ideaal voor shared omgevingen omdat het, mede door het nogal gedateerde uiterlijk en de geboden functionaliteit, bijna geen belasting veroorzaakt op een server. Inmiddels is RoundCube echter uitgegroeid tot een volwaardig en degelijk alternatief.

En als je je bedenkt dat er sinds de eerste publieke bèta van PHP 7.0.0 al een kleine 1400 bugs zijn opgelost en aan de basis van een hack vaak een foutje ligt, kunnen we met zekerheid stellen dat de laatste nieuwe versie van PHP 7.2 een stuk veiliger is dan welke andere PHP 7 of PHP 5 versie dan ook.

Ten slotte draaien we dus die nieuwe versie van PHP. Je kunt dus ook je WordPress, Joomla, Drupal of welk ander pakket je dan ook gebruikt upgraden naar of opzetten met de laatste nieuwe versie die je vinden kunt. Hoera!

Conclusie

Het updaten van een server heeft nogal wat voeten in de aarde. Wij beheren ruim drieduizend servers, die allemaal geüpdatet moeten en gaan worden of dat al zijn.

We proberen hier niemand mee lastig te vallen. Helaas valt dat niet te voorkomen en zullen er altijd websites zijn die foutmeldingen gaan tonen of e-mail adressen niet meer correct werken vanwege een overvol pakket.

Dat vinden we natuurlijk vervelend. We hopen dan ook dat de uitdagingen die we creëren niet opwegen tegen alle voordelen die een up to date server met zich mee brengt.

Bronnen

Jawel, allemaal extern én via HTTPS!