Categorieën
Magento

Magento Enterprise en full page caching

Sinds kort is Guapa E-commerce een Magento Silver Partner. Eén van de voordelen die daarbij horen is dat je een Magento Enterprise licentie krijgt voor interne doeleinden zoals testen en development. De Magento Enterprise editie is uitgebreider dan de Community editie. Een interessante optie binnen Magento Enterprise is de full page caching. We namen de proef op de som en hebben de verschillen inzichtelijk gemaakt. Ik ben onder de indruk van het resultaat

Caching

In de Community editie heb je een aantal standaard caching opties (caching is het vooraf inladen van content, waardoor de pagina sneller geladen kan worden). Daarnaast kun je ook nog gebruik maken van APC en Memcached (dit zijn twee caching opties die je kunt gebruiken mits deze staan geïnstalleerd op de server). Als je dat allemaal ook nog combineert geoptimaliseerde configuraties van Apache en MySQL én snelle hardware, is het mogelijk om erg mooie resultaten neer te zetten. Hierbij ontbreekt echter de mogelijkheid voor full page caching. Er moeten dan alsnog items worden ingeladen vanuit bijvoorbeeld de database.

Bij de Enterprise variant is het mogelijk om full page caching te gebruiken. Hiermee worden, zoals de naam eigenlijk ook al zegt, volledige pagina’s gecached. Een erg interessante optie, maar wat doet dit met de laadtijden van de homepage en een willekeurige productpagina? Met Pingdom en “”ab”” (Apache Benchmarking) heb ik dat eens nader onderzocht.

Testomgeving

Op één van de shared hosting omgevingen van onze hosting dienst Magento Hosting heb ik een Magento Community editie (versie 1.7.0.2) en een Enterprise editie (versie 1.9.1.1)  geïnstalleerd. Onderaan dit artikel staan de technische specs voor de technische specificaties van deze server. Beide Magento installaties zijn gevuld met de bijhorende sample content. Afbeeldingen, javascripts, etc. zijn verder niet geoptimaliseerd. De Community versie gebruikt naast de ingebouwde caching opties ook Memcached, terwijl de Enterprise enkel de ingebouwde cache opties van Magento gebruikt. Elke test is meerdere keren gedraaid, waarna een gemiddelde is berekend.

Bij elke ab-test werd een aantal requests opgegeven en een aantal gelijktijdige verbindingen. Hiermee geef je aan dat bijvoorbeeld honderd gelijktijdige connecties, vijfhonderd keer een bepaalde pagina moeten laden. Vervolgens krijg je als resultaat het aantal requests per seconde, de laadtijd van de pagina en natuurlijk hoelang de test duurde.

Pingdom

Na verschillende testen is de gemiddelde laadtijd van de Community homepage: 516,25 ms (0,51 seconden). Het aantal requests was 48 en de page size is 335 kB.


De laadtijd van de Enterprise homepage met full page caching  is: 440 ms (0,44 seconden). Het aantal requests was 39 en de page size is 314.

De resultaten van een willekeurige productpagina zijn: Community editie:  763,5 ms (07,6 seconden). Het aantal requests hier was 58 en de page size is 338 kB.

Enterprise editie:  293 ms (0,29 seconden). Het aantal requests hier was 50 en de page size is 235 kB.

Apache Benchmark

Met een ab-test zijn de verschillen tussen beide installaties helemaal goed te zien. Alle tijden in de grafieken zijn in miliseconden. De eerste tabel zijn de resultaten van de homepage van de Community, Enterprise zonder full page caching en Enterprise met full page caching. De tweede tabel geeft de resultaten weer van een productpagina van de Community versie en de Enterprise variant (met en zonder full page caching). In beide gevallen geldt: hoe lager, hoe beter.

Conclusie

Wow! Wat een geweldige resultaten. Voordat ik begon met het testen had ik natuurlijk wel gedacht dat full page caching een stuk sneller zou zijn, maar dit is wel een erg groot verschil. Wanneer ik de kijk naar de load van de server, is deze bij full page caching aanzienlijk lager. Wat natuurlijk ook wel logisch is, aangezien er veel minder database requests gedaan worden.

Technische specificaties:
De shared server is uitgerust met een Intel Xeon Quad-Core processor met 8 threads (2.4 GHz) en 16 GB RAM. De harde schijven zijn 4 SSD’s in een RAID-10 opstelling geplaatst.