Typo3 prestazioni
Upcoming SlideShare
Loading in...5
×
 

Typo3 prestazioni

on

  • 1,789 views

Le slide della presentazione tenuta al T3Camp Italia su come ottimizzare le prestazioni di TYPO3

Le slide della presentazione tenuta al T3Camp Italia su come ottimizzare le prestazioni di TYPO3

Statistics

Views

Total Views
1,789
Views on SlideShare
1,675
Embed Views
114

Actions

Likes
2
Downloads
9
Comments
0

6 Embeds 114

http://timox3d.blogspot.com 48
http://www.t3campitalia.it 33
http://timox3d.blogspot.it 27
http://www.lorenzutti.net 3
http://2010.t3campitalia.it 2
http://fedext.dev 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Typo3 prestazioni Typo3 prestazioni Presentation Transcript

  • Spingere al massimo le prestazioni di TYPO3 Relatore: Mauro LorenzuttiT3Camp Italia Bologna 26/27 Novembre 2010Il primo evento italiano dedicato a TYPO3 Novotel fiera Bologna
  • Mauro Lorenzutti CTO di Webformat Sviluppatore e consulente TYPO3 dal 2004 TYPO3 Certified Integrator dal 2009 Sviluppatore di numerose estensioni, tra cui: DB Integration (wfqbe) Webformat Shop System (extendedshop) TYPO3-Alfresco Connector (alfresco) Contacts: mauro.lorenzutti@webformat.com www.webformat.comPag. 2 http://www.t3campitalia.it/
  • Questo talk non parla di… Ottimizzazione lato server Load Bilancing Clustering Ecc. Configurazioni di Apache PHP MySQLPag. 3 http://www.t3campitalia.it/
  • Ma parleremo di… Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 4 http://www.t3campitalia.it/
  • Mai sentito dire? Devo scegliere un CMS ma ho sentito che TYPO3 è lento e pesante Ho visto delle comparazioni di prestazioni tra TYPO3, Drupal, Joomla, Wordpress ecc. e TYPO3 ne usciva male Ho un sito con migliaia di pagine e milioni di visitatori al mese, non credo che un CMS open-source possa reggere…Pag. 5 http://www.t3campitalia.it/
  • TYPO3 vs Drupal vs Joomla http://blogs.helion-prime.com/2008/05/19/typo3-joomla-and-drupal-cmss- performance-testing.htmlPag. 6 http://www.t3campitalia.it/
  • Considerazioni Sorvoliamo sullopportunità di confrontare TYPO3 con Wordpress e Joomla… Il test di prestazioni è stato svolto con il motore di caching disabilitato Caching functionally: turned off for Drupal, Joomla!, and Typo3; Quando scegliete un auto, è più importante quanti km/h riuscite a fare in prima marcia, oppure quanto comodamente viaggiate alla velocità massima (consentita, ovviamente ;-)?Pag. 7 http://www.t3campitalia.it/
  • Cache si / cache no Il modulo di caching è fondamentale in un CMS Il confronto delle prestazioni di due CMS non può essere fatto con i moduli di cache disabilitati Vediamo quindi come sfruttare al meglio la cache di TYPO3Pag. 8 http://www.t3campitalia.it/
  • Scaletta Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 9 http://www.t3campitalia.it/
  • I 4 livelli di caching Possiamo individuare 4 diversi livelli di caching in TYPO3, tre nativi del CMS: Cache disattiva… Cache parziale su DB Cache totale su DB Ed uno ottenibile mediante moduli aggiuntivi: Cache su file fisicoPag. 10 http://www.t3campitalia.it/
  • Cache disattiva Ogni richiesta della pagina viene servita da TYPO3 costruendo l’output da zero Non ci sono ottimizzazioni Anche se la pagina non cambia nel tempo, TYPO3 la rigenera ad ogni richiesta Quando viene disattivata la cache: index.php?id=123&no_cache=1 config.no_cache = 1 Opzione “no cache” nelle proprietà della paginaPag. 11 http://www.t3campitalia.it/
  • Cache parziale su DB TYPO3 genera una cache parziale della pagina e la salva su DB Alle prossime richieste verrà restituita la pagina presa dalla cache e verranno generati ex-novo solo i contenuti di tipo USER_INT Utile per quei contenuti che non possono essere messi in cache: Carrello elettronico Ricerca Visualizzazione di dati in tempo reale Form di inserimento dati ...Pag. 12 http://www.t3campitalia.it/
  • Cache totale su DB Tutti i contenuti della pagina possono essere messi in cache (USER) TYPO3 genera la pagina e la salva su DB Alla prossima richiesta, TYPO3 restituisce la pagina presente in cache Nessunaltra operazione è necessaria Il parametro cHash serve a distinguere versioni diverse della stessa pagina messa in cache cHash=115850ad73f8db47fb263a56614f68bcPag. 13 http://www.t3campitalia.it/
  • Cache su file fisico E se invece di salvare la pagina su DB la scriviamo direttamente su file? Alla prima richiesta TYPO3 genera la pagina e scrive un file HTML su disco Le prossime richieste vengono gestite da Apache senza istanziare TYPO3 né PHP Richiede mod_rewrite Meglio se con realurl Solo per contenuti USER Solo per pagine che possono essere messe completamente in cachePag. 14 http://www.t3campitalia.it/
  • Scaletta Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 15 http://www.t3campitalia.it/
  • Test di prestazioni Quanto è importante sfruttare al meglio la cache di TYPO3? Facciamo un test! Apache Benchmark: ab -c 10 -n 1000 http://www.test.it/news.html ATTENZIONE: questo test ha il solo scopo di dimostrare come un uso corretto della cache permetta di ottenere miglioramenti importanti nelle prestazioni, i risultati dei test che seguono devono essere considerati come un riferimento / ordine di grandezzaPag. 16 http://www.t3campitalia.it/
  • Lambiente del test Macchina virtuale VmWare CPU: 1GHz RAM: 512GB Sistema operativo: GNU Linux / Ubuntu Apache 2.2.14 Mysql 5.1.41 PHP 5.3.2 TYPO3 4.4.4 tt_news 3.0.1Pag. 17 http://www.t3campitalia.it/
  • Tempo richiesto per il test 450 400 350 300 250 Secondi PHP eAccelerator 200 150 100 50 0 No cache Parziale DB FisicaPag. 18 http://www.t3campitalia.it/
  • Richieste per secondo 10000 1000 Secondi PHP 100 eAccelerator 10 1 No cache Parziale DB FisicaPag. 19 http://www.t3campitalia.it/
  • Utilizzo della CPU 80% 70% 60% 50% PHP 40% eAccelerator 30% 20% 10% 0% No cache Parziale DB FisicaPag. 20 http://www.t3campitalia.it/
  • Risultati Possiamo notare che le prestazioni variano in media come segue (e senza acceleratore PHP i risultati sono ancora più clamorosi): Passare da no_cache a cache parziale su DB: +275% Passare da cache parziale a cache totale su DB: +400% Passare da cache totale su DB a cache su file fisico: +300% Passare da no_cache a cache su file fisico: +3300% L’uso di un acceleratore PHP consente di: Aumentare il numero di pagine servite al secondo tra l’80% e il 300% Diminuire il consumo di CPU tra il 15% e il 50%Pag. 21 http://www.t3campitalia.it/
  • TYPO3 4.2 vs TYPO3 4.4 500 450 400 350 300 4.2 secondi 250 4.4 200 150 100 50 0 No cache Parziale DB FisicaPag. 22 http://www.t3campitalia.it/
  • La cache è importante! Il tuning delle performance deve necessariamente partire da: Sostituire le estensioni USER_INT con estensioni USER Ottimizzare il codice delle estensioni USER_INT Ottimizzare il codice delle estensioni USER per le pagine la cui cache viene aggiornata molte volte Attivare la cache su file fisico L’admin panel è vostro amico! Vi consente di: Analizzare tutte le query Valutare i tempi di esecuzione Trovare i colli di bottiglia (o perlomeno di isolare il codice responsabile…) Config.admPanel = 1Pag. 23 http://www.t3campitalia.it/
  • L’admin panelPag. 24 http://www.t3campitalia.it/
  • Scaletta Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 25 http://www.t3campitalia.it/
  • Il nuovo caching framework Dalla versione 4.3 è disponibile un nuovo caching framework che è stato importato dal FLOW3 Fornisce metodi alternativi per il salvataggio dei dati di cache (es. database, file system, memcached) – nuovi metodi possono essere implementati per fornire storage diversi in maniera trasparente a TYPO3 e alle sue estensioni Gli elementi messi in cache possono essere taggati per consentire una più granulare gestione della cache Il nuovo caching framework consente di introdurre meccanismi di cache anche nelle estensioni USER_INT e in applicazioni customPag. 26 http://www.t3campitalia.it/
  • Memcached $TYPO3_CONF_VARS[SYS][useCachingFramework] = 1; cache_pagesection => array( $TYPO3_CONF_VARS[SYS][caching][cacheConfigurations] = frontend => t3lib_cache_frontend_VariableFrontend, array ( backend => t3lib_cache_backend_MemcachedBackend, cache_hash => array( options => array( frontend => t3lib_cache_frontend_VariableFrontend, servers => array(localhost:11211), backend => t3lib_cache_backend_MemcachedBackend, ) options => array( ), servers => array(localhost:11211), ); ) ), cache_pages => array( frontend => t3lib_cache_frontend_VariableFrontend, backend => t3lib_cache_backend_MemcachedBackend, options => array( servers => array(localhost:11211), ) ),Pag. 27 http://www.t3campitalia.it/
  • Old vs New caching framework 300 250 200 Secondi Old 150 New 100 50 0 No cache Parziale DB FisicaPag. 28 http://www.t3campitalia.it/
  • Considerazioni Il nuovo caching framework non si è rivelato più performante del precedente, come mai? Ipotizzo: Nuovo framework, necessità di tempo per essere ottimizzato E’ un backporting da FLOW3, non è stato progettato per la versione 4 di TYPO3 L’ambiente di test non era adeguato / ottimizzato per memcached Le differenze sono minime e potrebbero dipendere da variabili esterne che hanno interferito col test tt_news non sfrutta ancora a pieno le funzionalità del nuovo motore di caching La cache su file fisico è comunque la soluzione migliore!Pag. 29 http://www.t3campitalia.it/
  • Scaletta Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 30 http://www.t3campitalia.it/
  • Il server Ottimizzare TYPO3 può non bastare per raggiungere prestazioni super! Bisogna prestare attenzione anche a: Load bilancing Clustering MySQL Configurazione di Apache Ottimizzazione di PHP Creazione di indici in MySQL …Pag. 31 http://www.t3campitalia.it/
  • La banda Oltre al tempo necessario al server per generare una pagina web, dobbiamo considerare anche il tempo necessario per scaricare: Codice HTML Immagini CSS Javascript …Pag. 32 http://www.t3campitalia.it/
  • Situazione inizialePag. 33 http://www.t3campitalia.it/
  • 2 estensioni utili Source Optimization (sourceopt): Pulizia del codice XHTML Rimozione di righe vuote Spostamento di codice CSS inline in file esterni Rimozione dei commenti Javascript and CSS optimizer (js_css_optimizer) Compressione di codice Javascript Compressione di codice CSS Generazione di un singolo file JS a partire da file multipli Generazione di un singolo file CSS a partire da file multipli P.S. Ci sono altre estensioni simili nel repositoryPag. 34 http://www.t3campitalia.it/
  • Post-ottimizzazionePag. 35 http://www.t3campitalia.it/
  • Scaletta Introduzione I 4 livelli di caching di TYPO3 Comparazione prestazioni Il nuovo framework di caching Ottimizzare le prestazioni – oltre TYPO3 ConclusioniPag. 36 http://www.t3campitalia.it/
  • TYPO3 è veloce? Se configurato bene, si! Cache su file fisico e ottimizzazione di CSS/JS permettono di risparmiare su hardware e banda Se servono oggetti USER_INT è importante ottimizzarne il codice L’uso corretto della cache consente di abbattere i requisiti hardware di TYPO3 e di conseguenza l’acquisto di materiale e il consumo di risorse Salvaguarda l’ambiente: configura correttamente la cache di TYPO3 ☺☺☺Pag. 37 http://www.t3campitalia.it/
  • Google, sempre lui... Le prestazioni sono importanti anche per Google! http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in- web-search-ranking.htmlPag. 38 http://www.t3campitalia.it/
  • SponsorPag. 39 http://www.t3campitalia.it/
  • Q&A Grazie per la vostra attenzione Q&A mauro.lorenzutti@webformat.com www.webformat.comPag. 40 http://www.t3campitalia.it/