mod_php vs HHVM

Voor Magento webshops

Wat is HHVM

  • HipHop Virtual Machine
  • Gebouwd & in gebruik door Facebook
  • Herimplementatie PHP
  • Vertaalt PHP naar bytecode (zoals Java)
  • Just-in-time compiler vertaalt bytecode naar machine code

Hot

Google Trends: HHVM

De belofte

5-10x sneller

Magento request breakdown

Time spent on a Magento request

De knikkers

  • Lower TTFB helps in achieving higher Search engine ranking
  • Amazon: 100ms faster = 1% revenue increase
  • Conversieratio gaat omhoog == meer omzet

Dus wat is de catch?

  • Niet 100% compatible met PHP
  • En daarom met Magento (wordt aan gewerkt: 100% van de gautomatiseerde tests slagen nu)
  • PHP modules werken niet met HHVM
  • Virtualmin is nog niet geschikt voor HHVM (en daarom nog niet geschikt voor shared hosting)

De opzet van mod_php VS. HHVM

+-------------+        +-----------+
|             |  HTTP  |  Apache   |
|   Browser   | +----> |    +      |
|             |        |  mod_php  |
+-------------+        +-----------+
                        root->$USER

+-------------+        +-----------+           +----------+
|             |  HTTP  |           |  FastCGI  |          |
|   Browser   | +----> |  Apache   | +-------> |   HHVM   |
|             |        |           |           |          |
+-------------+        +-----------+           +----------+
                        root->$USER               $USER
					

Wat moet er concreet gebeuren om een site op HHVM te hosten

(met onze huidige setup)

  1. Virtualmin domein aanmaken
  2. Apache Virtualhost config handmatig aanpassen
  3. HHVM proces opstarten (supervisord)

						FastCGIExternalServer /hhvm -socket /home/a.babyhuiscasita.nl/sock
					

De cijfers

Getest op a.babyhuiscasita.nl met Redis cache

TTFB

Conclusie

Extra's

  • Open Source Tests: 97.10%
  • 23 Frameworks at 100%
    (waaronder Laravel)
  • hack

THE END