SlideShare a Scribd company logo
1 of 17
Download to read offline
1 
HIPHOP 
VIRTUAL 
MACHINE 
HIGH PERFORMANCE MAGENTO ON HHVM 
ALESSANDRO SCAVELLA 
BACKEND & MOBILE DEVELOPER 
In Collaborazione con 
FRANCESCO CORRIGA
Cos'è 
HHVM 
 HHVM è una virtual machine sviluppata da Facebook 
 HHVM è programmabile in vari linguaggi incluso PHP 
 HHVM fornisce migliori performance di PHP 5.6 ed è 
compatibile con Magento 
 HHVM consuma meno memoria di PHP e soffre di meno 
memory leaks 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
2
Performance 
di HHVM 
 HHVM ha un JIT compiler che trasforma il codice PHP in 
bytecode e lo ottimizza 
 Il bytecode viene poi tradotto in codice macchina ed 
eseguito nativamente 
 In Magento HHVM è risultato più veloce del 50/100% di 
PHP 5.6 
 In altri casi HHVM può arrivare ad essere fino a 40 volte 
più veloce di PHP 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
3
Transaction 
Rate 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
4
Response 
Time 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
5
Compatibilità 
con PHP 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
6 
 HHVM è compatible al 99% con PHP 5.6 
 Non tutti i moduli sono implementati (Postgre SQL,..) 
 HHVM è più severo sull'interpretazione del codice e 
alcuni “tricks” abituali di programmazione possono causare 
problemi 
 E' stato implementato un file di configurazione identico a 
PHP.ini; la gran parte delle impostazioni utili sono state 
implementate
Compatibilità 
con Magento 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
7 
 Compatibile ad oltre il 99% con Magento 2 CE e precedenti 
 I moduli aggiuntivi sono da testare ad eccezione di 
alcuni ad uso comune 
 Le problematiche che si verificano in genere sono di facile 
soluzione 
 E' preferibile utilizzare moduli OpenSource per poter 
intervenire in caso di incopatibilità
Compatibilità 
Piattaforma 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
8 
 HHVM è OpenSource e può essere compilato su sistemi 
Linux e Apple. (Windows non supportato) 
 Il team offre builds precompilate per Ubuntu, Debian, 
Centos, Fedora e Linux Mint Debian 
 Le builds sono ospitate in repositories per facilitare 
l'installazione, l'aggiornamento e la manutenzione
Ambiente in 
Produzione 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
9 
 HHVM è un software in continuo sviluppo ma sono state 
rese disponibili versioni Nightly, Stable e Long Term 
Support. 
 In produzione sono preferibili versioni LTS o 
eventualmente Stable. 
 E' importante testare sempre gli aggiornamenti su una 
macchina di test.
Caso Studio 
Gasmy.it 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
10 
 Gasmy.it è basato su Magento CE 1.8.1 ed è altamente 
customizzato 
 Più di 100.000 prodotti (semplici/configurabili) 
 Store singolo con viste e valute multiple 
 Picchi di oltre 15.000 utenti/giorno, oltre 150 visitatori 
contemporanei 
 Singolo virtual server cloud capace di servire pagine in 
meno di un secondo
Caso Studio 
Vantaggi 
Ottenuti 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
11 
 Riduzione della RAM utilizzata da 24 a 16GB 
 Aumento performance tale da rimuovere Varnish ed 
utilizzare una FPC scritta in PHP 
 Diminuzione del carico computazionale del 60% 
 Riduzione tempi di caricamento delle pagine del 
backend del 75%
Statistiche 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
12 
 Server cloud con Debian 7, 8 core Xeon E5 2660 v2 @ 
2.20GHz (8 thread), RAM 16GB, 160GB di storage con 
partizioni separate. 
 Software: Percona 5.6, Redis 2.8, Sphinx 2.1, HHVM 
3.3.1, Nginx 1.6+Pagespeed, Dnsmasq 
 Il sistema è in grado di reggere un carico sostenuto di 
circa 300 visitatori contemporanei 
 Con l'aggiunta di Varnish si potrebbe andare oltre il 
doppio
Problematiche 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
13 
 HHVM non include tutti i moduli PHP (alcuni dei quali 
sono disponibili solo se compilati) 
 Alcuni dei moduli presentano dei bug o delle 
incongruenze con gli equivalenti in PHP 
 In caso si riscontrino queste problematiche è necessario 
intervenire sul codice ed adattarlo 
 Gli aggiornamenti possono provocare nuovi problemi
Link Utili 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
14 
http://hhvm.com 
https://github.com/danslo/Magento-HHVM-Module-Compatibility 
http://webchat.freenode.net/?channels=hhvm 
https://github.com/facebook/hhvm/wiki/Extensions 
http://www.cooder.it 
http://www.gasmy.it
Ringraziamenti 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
15 
Francesco Corriga 
www.gasmy.it
Domande 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
16 
???
Conclusione 
TEMA: 
HIGH 
PERFORMANCE 
MAGENTO 
HHVM 
RELATORE: 
ALESSANDRO 
SCAVELLA 
17 
BBuuoonn AAppppeettiittoo 
Per qualsiasi info: 
alessandro@cooder.it AstrolabioSolutions 
francesco.corriga@gasmy.com 
cooder.agency 
Telefono: 
elachino 
+39 0734 446077 
https://joind.in/event/view/2945

More Related Content

Similar to High performance in Magento: HHVM

Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Codemotion
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterMatteo Baccan
 
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)jampslide
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case studyGaetano Giunta
 
Matteo baccan raspberry pi - linox 2014
Matteo baccan   raspberry pi - linox 2014Matteo baccan   raspberry pi - linox 2014
Matteo baccan raspberry pi - linox 2014Matteo Baccan
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMINaLUG
 
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeBeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeDeveler S.r.l.
 
Differenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed EnterpriseDifferenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed EnterpriseSoftInstigate
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLPar-Tec S.p.A.
 
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...Vincenzo Patruno
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceAntonio Musarra
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxGiovanni Cappellini
 

Similar to High performance in Magento: HHVM (20)

Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
Succo di lampone: come ottimizzare JAVA e PHP su un'architettura Raspberry Pi...
 
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi ClusterCodemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
Codemotion 2014 : ottimizzare JAVA e PHP su un’architettura Raspberry Pi Cluster
 
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
Matteo Baccan - Valerio Tognozzi - Novara LinuxDay 2015
 
The road to php7
The road to php7The road to php7
The road to php7
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
Introduzione al PHP
Introduzione al PHPIntroduzione al PHP
Introduzione al PHP
 
phpday 2006 - SEA case study
phpday 2006 - SEA case studyphpday 2006 - SEA case study
phpday 2006 - SEA case study
 
Matteo baccan raspberry pi - linox 2014
Matteo baccan   raspberry pi - linox 2014Matteo baccan   raspberry pi - linox 2014
Matteo baccan raspberry pi - linox 2014
 
Da Zero all'open per PA e PMI
Da Zero all'open per PA e PMIDa Zero all'open per PA e PMI
Da Zero all'open per PA e PMI
 
Da 0 all'open per PA e PMI
Da 0 all'open per PA e PMIDa 0 all'open per PA e PMI
Da 0 all'open per PA e PMI
 
BeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded FreeBeRTOS: Sistema Real Time Embedded Free
BeRTOS: Sistema Real Time Embedded Free
 
Differenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed EnterpriseDifferenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed Enterprise
 
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQLMySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
MySQL Tech Tour 2015 - Soluzioni di alta disponibilità con MySQL
 
Php for ASP.NET Developers
Php for ASP.NET DevelopersPhp for ASP.NET Developers
Php for ASP.NET Developers
 
Modernizziamo IBM i con PHP
Modernizziamo IBM i con PHPModernizziamo IBM i con PHP
Modernizziamo IBM i con PHP
 
Tools & librerie PHP
Tools & librerie PHPTools & librerie PHP
Tools & librerie PHP
 
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...
Web Services, le librerie Nusoap e PHP5 nell’interrogazione dei dati demograf...
 
SugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual ApplianceSugarCRM Enterprise Development Virtual Appliance
SugarCRM Enterprise Development Virtual Appliance
 
Cesvip 20110127
Cesvip 20110127Cesvip 20110127
Cesvip 20110127
 
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e AjaxProgettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
Progettazione e sviluppo di applicazioni web 2.0 con PHP e Ajax
 

High performance in Magento: HHVM

  • 1. 1 HIPHOP VIRTUAL MACHINE HIGH PERFORMANCE MAGENTO ON HHVM ALESSANDRO SCAVELLA BACKEND & MOBILE DEVELOPER In Collaborazione con FRANCESCO CORRIGA
  • 2. Cos'è HHVM  HHVM è una virtual machine sviluppata da Facebook  HHVM è programmabile in vari linguaggi incluso PHP  HHVM fornisce migliori performance di PHP 5.6 ed è compatibile con Magento  HHVM consuma meno memoria di PHP e soffre di meno memory leaks TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 2
  • 3. Performance di HHVM  HHVM ha un JIT compiler che trasforma il codice PHP in bytecode e lo ottimizza  Il bytecode viene poi tradotto in codice macchina ed eseguito nativamente  In Magento HHVM è risultato più veloce del 50/100% di PHP 5.6  In altri casi HHVM può arrivare ad essere fino a 40 volte più veloce di PHP TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 3
  • 4. Transaction Rate TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 4
  • 5. Response Time TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 5
  • 6. Compatibilità con PHP TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 6  HHVM è compatible al 99% con PHP 5.6  Non tutti i moduli sono implementati (Postgre SQL,..)  HHVM è più severo sull'interpretazione del codice e alcuni “tricks” abituali di programmazione possono causare problemi  E' stato implementato un file di configurazione identico a PHP.ini; la gran parte delle impostazioni utili sono state implementate
  • 7. Compatibilità con Magento TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 7  Compatibile ad oltre il 99% con Magento 2 CE e precedenti  I moduli aggiuntivi sono da testare ad eccezione di alcuni ad uso comune  Le problematiche che si verificano in genere sono di facile soluzione  E' preferibile utilizzare moduli OpenSource per poter intervenire in caso di incopatibilità
  • 8. Compatibilità Piattaforma TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 8  HHVM è OpenSource e può essere compilato su sistemi Linux e Apple. (Windows non supportato)  Il team offre builds precompilate per Ubuntu, Debian, Centos, Fedora e Linux Mint Debian  Le builds sono ospitate in repositories per facilitare l'installazione, l'aggiornamento e la manutenzione
  • 9. Ambiente in Produzione TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 9  HHVM è un software in continuo sviluppo ma sono state rese disponibili versioni Nightly, Stable e Long Term Support.  In produzione sono preferibili versioni LTS o eventualmente Stable.  E' importante testare sempre gli aggiornamenti su una macchina di test.
  • 10. Caso Studio Gasmy.it TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 10  Gasmy.it è basato su Magento CE 1.8.1 ed è altamente customizzato  Più di 100.000 prodotti (semplici/configurabili)  Store singolo con viste e valute multiple  Picchi di oltre 15.000 utenti/giorno, oltre 150 visitatori contemporanei  Singolo virtual server cloud capace di servire pagine in meno di un secondo
  • 11. Caso Studio Vantaggi Ottenuti TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 11  Riduzione della RAM utilizzata da 24 a 16GB  Aumento performance tale da rimuovere Varnish ed utilizzare una FPC scritta in PHP  Diminuzione del carico computazionale del 60%  Riduzione tempi di caricamento delle pagine del backend del 75%
  • 12. Statistiche TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 12  Server cloud con Debian 7, 8 core Xeon E5 2660 v2 @ 2.20GHz (8 thread), RAM 16GB, 160GB di storage con partizioni separate.  Software: Percona 5.6, Redis 2.8, Sphinx 2.1, HHVM 3.3.1, Nginx 1.6+Pagespeed, Dnsmasq  Il sistema è in grado di reggere un carico sostenuto di circa 300 visitatori contemporanei  Con l'aggiunta di Varnish si potrebbe andare oltre il doppio
  • 13. Problematiche TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 13  HHVM non include tutti i moduli PHP (alcuni dei quali sono disponibili solo se compilati)  Alcuni dei moduli presentano dei bug o delle incongruenze con gli equivalenti in PHP  In caso si riscontrino queste problematiche è necessario intervenire sul codice ed adattarlo  Gli aggiornamenti possono provocare nuovi problemi
  • 14. Link Utili TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 14 http://hhvm.com https://github.com/danslo/Magento-HHVM-Module-Compatibility http://webchat.freenode.net/?channels=hhvm https://github.com/facebook/hhvm/wiki/Extensions http://www.cooder.it http://www.gasmy.it
  • 15. Ringraziamenti TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 15 Francesco Corriga www.gasmy.it
  • 16. Domande TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 16 ???
  • 17. Conclusione TEMA: HIGH PERFORMANCE MAGENTO HHVM RELATORE: ALESSANDRO SCAVELLA 17 BBuuoonn AAppppeettiittoo Per qualsiasi info: alessandro@cooder.it AstrolabioSolutions francesco.corriga@gasmy.com cooder.agency Telefono: elachino +39 0734 446077 https://joind.in/event/view/2945