Zend Server Cache Adapter. ▷ Joomla! 1.5. ▷ Joomla! 1.6. ○ Benchmark di
Joomla! ▷ Ver. 1.5.17 ... Interfaccia web per la gestione dell'ambiente PHP:.
Velocizzare l'esecuzione di Joomla! con Zend Server Community Edition Enrico Zimuel Senior Consultant & Architect Zend Technologies
[email protected]
© All rights reserved. Zend Technologies, Inc.
Sommario ●
Zend Server Community Edition (CE)
●
Perchè eseguire Joomla! con Zend Server?
●
Come velocizzare Joomla! con Zend Server
●
Zend Server Cache Adapter
●
▶
Joomla! 1.5
▶
Joomla! 1.6
Benchmark di Joomla! ▶
Ver. 1.5.17
© All rights reserved. Zend Technologies, Inc.
Zend Server CE
© All rights reserved. Zend Technologies, Inc.
Che cos'è Zend Server CE? ●
●
●
●
Zend Server Community Edition è la versione gratuita di Zend Server, il PHP application server di Zend Technologies E' una soluzione completa, veloce ed affidabile per l'esecuzione di applicazioni PHP Disponibile per PHP 5.2 e 5.3 sui seguenti sistemi operativi: Gnu/Linux, Ms Windows, Mac OS X, IBM i Download: http://www.zend.com/products/server-ce/
© All rights reserved. Zend Technologies, Inc.
Zend Server CE ●
Alcune caratteristiche: ▶
▶
▶
Interfaccia web per la gestione dell'ambiente PHP: ●
Configurazione (php.ini)
●
Gesione estensioni PHP
●
Gestione file di log di PHP ed Apache
●
Riavvio dei servizi PHP
PHP Performance ●
Zend Optimizer+
●
Zend Data Cache
PHP Debugger ●
▶
Zend Debugger
Java Bridge (eseguire classi Java da PHP) © All rights reserved. Zend Technologies, Inc.
Non solo la versione community... ●
Zend Server ▶ ▶
▶
●
Supporto worldwide con SLA Funzionalità aggiuntive: Monitoring, Code Tracing, Job Queue, Page Caching, etc Aggiornamenti software e security hot fixes
Zend Server Cluster Manager ▶
Versione di fascia Enterprise
▶
Supporto worldwide con SLA
▶
▶
Funzionalità aggiuntive: Cluster Manager, Session Clustering, High availability, Scalable architecture Aggiornamenti software e security hot fixes
© All rights reserved. Zend Technologies, Inc.
Joomla! e Zend Server
© All rights reserved. Zend Technologies, Inc.
Perchè eseguire Joomla! con Zend Server? ●
●
Velocizzare l'esecuzione tramite: ▶
Zend Optimizer+
▶
Zend Data Cache
Facilitare la gestione dello stack PHP ▶
Interfaccia web di amministrazione
●
Eseguire il debug dei siti Joomla!
●
Monitorizzare l'esecuzione di Joomla! ▶ ▶
Tramite file di log (Zend Server CE) Utilizzando le funzionalità di Monitoring e Code Tracing (Zend Server/Cluster Manager) © All rights reserved. Zend Technologies, Inc.
Zend Optimizer+ ●
●
●
●
E' un acceleratore di codice PHP: tramite caching dell'opcode generato dall'interprete PHP Velocizza qualsiasi applicazione PHP senza nessun intervento sul codice sorgente Abilitato automaticamente in Zend Server In generale, gli aumenti di performance del codice PHP sono rilevanti
© All rights reserved. Zend Technologies, Inc.
Zend Optimizer+
© All rights reserved. Zend Technologies, Inc.
Zend Data Cache ●
Zend Data Cache è un sistema di cache per PHP (simile ad APC)
●
Due differenti backend: disco, memoria (shm)
●
PHP API: ▶
▶
●
zend_disk_cache_store(), zend_disk_cache_fetch(), zend_disk_cache_delete(), zend_disk_cache_clear() zend_shm_cache_store(), zend_shm_cache_fetch(), zend_shm_cache_delete(), zend_shm_cache_clear()
Sistema di cache molto veloce ▶
Più veloce di Memcached ed APC
© All rights reserved. Zend Technologies, Inc.
Velocizzare Joomla! con Zend Server CE
© All rights reserved. Zend Technologies, Inc.
Installazione di Zend Server CE ●
●
●
Download: http://www.zend.com, area Download scegliere Zend Server Community Edition Esempio: installazione Linux ▶
Estrarre il pacchetto .tar.gz
▶
Eseguire lo script ./install.sh
▶
Installazione in /usr/local/zend
Configurazione di Zend Server CE: ▶
Collegarsi all'URL: http://localhost:10081
▶
Scegliere la password di amministrazione
© All rights reserved. Zend Technologies, Inc.
Amministrazione di Zend Server CE ●
Via web: http://localhost:10081
▶ ●
Shell: ▶
/usr/local/zend/bin
▶
zendctl.sh {start|stop|restart|...}
© All rights reserved. Zend Technologies, Inc.
Utilizzo di Zend Server CE ●
●
Per accelerare il codice PHP è sufficiente eseguire Joomla! su Zend Server CE (nessuna modifica del codice sorgente)
Per utilizzare il sistema di caching di Zend Server: ▶
▶
Utilizzare il cache handler APC con il modulo di compatibilità verso Zend Server (apc_compatibility=On) Utilizzare il cache handler specifico per Zend Server (non ancora presente nella versione ufficiale di Joomla!) ●
Download su https://github.com/ezimuel © All rights reserved. Zend Technologies, Inc.
Cache di Joomla! 1.5
© All rights reserved. Zend Technologies, Inc.
Lo storage cache di Joomla! 1.6 ●
●
●
Joomla! 1.6 dispone di un sistema di caching più evoluto rispetto alla versione 1.5 Due tipologie di caching: ▶
Conservative (come in Joomla 1.5)
▶
Progressive
Storage ufficialmente supportati: ▶
File, APC,XCache, eAccelerator, Memcached
© All rights reserved. Zend Technologies, Inc.
Cache di Joomla! 1.6
© All rights reserved. Zend Technologies, Inc.
APC compatibility mode ●
●
●
●
Zend Server CE può redirigere chiamate APC verso Zend Data Cache zend_datacache.apc_compatibility=On In questo modo tutte le applicazioni PHP, compreso Joomla!, che utilizzano APC possono essere utilizzare con Zend Server Community Edition senza nessuna modifica del codice Per utilizzare il sistema di caching di Zend Server con Joomla! è sufficiente selezionare il sistema di caching APC © All rights reserved. Zend Technologies, Inc.
Zend Server cache adapter per Joomla! ●
Progetto open source disponibile su Github
●
Download per Joomla! 1.5: ▶
●
Download per Joomla! 1.6: ▶
●
https://github.com/ezimuel/ZS_Cache_Adapter_Joomla15
https://github.com/ezimuel/ZS_Cache_Adapter_Joomla16
Pacchetto con i seguenti files: ▶
README
▶
zendserver_disk.php (zendserverdisk.php in 1.6)
▶
zendserver_shm.php (zendservershm.php in 1.6)
© All rights reserved. Zend Technologies, Inc.
Installazione per Joomla! 1.5 ●
Installazione: ▶
Copia dei file *.php nella directory Joomla: /libraries/joomla/cache/storage
© All rights reserved. Zend Technologies, Inc.
Installazione per Joomla! 1.6 ●
Installazione: ▶
▶
Copia dei file *.php nella directory Joomla: /libraries/joomla/cache/storage Edit del file di lingua administrator/language/xxXX/xx-XX.ini ed aggiunta delle linee: JLIB_FORM_VALUE_CACHE_ZENDSERVERDISK="Zend Server Cache Disk" JLIB_FORM_VALUE_CACHE_ZENDSERVERSHM="Zend Server Cache Shm"
© All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! con Zend Server CE
© All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.5.17 ●
Sistema utilizzato: ▶
▶
●
●
CPU Intel Core 2 a 2.10 Ghz con 2 GB di RAM su Gnu/Linux OS kernel 2.6.28 Zend Server 5 CE, Apache 2.2.11, PHP 5.3.2, Memcached 1.4.5, APC 3.1.3p1, MySQL 5.0.45
Esperimento: ▶
Test sull'homepage di Joomla! con i dati di test
▶
Test di carico: ab -n 100 -c 10
▶
Media su 6 esecuzioni
Benchmark completo:
http://www.zimuel.it/blog/2010/06/benchmarking-zend-server-ce-with-joomla/
© All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.5.17 Acceleratori di codice PHP
Asse Y: Transfer Rate (Kbyte/sec) © All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.5.17 Acceleratori PHP + Cache
Asse Y: Transfer Rate (Kbyte/sec) © All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.6B11 ●
Sistema utilizzato: ▶
▶
●
CPU Intel Core 2 a 2.10 Ghz con 2 GB di RAM su Gnu/Linux OS kernel 2.6.28 Zend Server 5.0.3 CE, Apache 2.2.11, PHP 5.3.3, Memcached 1.4.5, APC 3.1.4, MySQL 5.0.45
Esperimento: ▶
Test sull'homepage di Joomla! con i dati di test
▶
Test di carico: ab -n 100 -c 10
▶
Media su 4 esecuzioni
© All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.6R11 Acceleratori PHP 300,000
250,000
200,000
150,000
100,000
50,000
0,000 No accelerator
APC
Zend Optimizer+
Asse Y: Transfer Rate (Kbyte/sec) © All rights reserved. Zend Technologies, Inc.
Benchmark Joomla! 1.6R11 Acceleratori PHP + Cache 450,000
400,000
350,000
300,000
250,000
200,000
150,000
100,000
50,000
0,000 APC + Cache
ZSCE + Zend Data Cache (disk)
ZSCE + Zend Data Cache (shm)
Asse Y: Transfer Rate (Kbyte/sec) © All rights reserved. Zend Technologies, Inc.
ZSCE + Memcached
Sintesi dei benchmark ●
Joomla! 1.5.17 ▶
▶
●
Acceleratori PHP: Zend Server CE è circa il 13% più veloce di APC Cache: Zend Server CE è circa il 9% più veloce di Memcached e circa il 6% più veloce di APC
Joomla! 1.6B11 ▶
▶
Acceleratori PHP: Zend Server CE è circa il 9% più veloce di APC Cache: Zend Server CE è circa il 35% più veloce di Memcached e circa il 21% più veloce di APC
© All rights reserved. Zend Technologies, Inc.
Riassumendo ●
Zend Server Community Edition consente di velocizzare l'esecuzione di Joomla! ▶
▶
●
Accelerazione del codice PHP (Zend Optimizer+) Sistema di caching per Joomla! (Zend Data Cache)
I margini di miglioramento sono di tutto rispetto: ▶
fino al 35% (a seconda del sistema di caching utilizzato)
© All rights reserved. Zend Technologies, Inc.
Domande?
© All rights reserved. Zend Technologies, Inc.
Grazie! Per maggiori informazioni: Enrico Zimuel (
[email protected])
http://www.zend.com http://www.joomla.org
© All rights reserved. Zend Technologies, Inc.