50 tips su Web PerformanceOptimization per siti ad alto traffico                      di ANDREA CARDINALI              WOR...
“If it is fast and ugly, they will use it                     and curse you;         if it is slow, they will not use it” ...
WEB PERFORMANCE OPTIMIZATION PERCHE’ LA VELOCITA’ E’ IMPORTANTE? •   Migliora la User Experience •   Diminuisce il bounce ...
WEB PERFORMANCE OPTIMIZATION QUANTO VELOCE? LA RISPOSTA E’ NELLA PSICOLOGIA UMANA. L’utente arriva sul nostro sito con un ...
WEB PERFORMANCE OPTIMIZATION QUANTO VELOCE? (NEL MONDO REALE)                                                             ...
WEB PERFORMANCE OPTIMIZATION DA COSA DIPENDE LA VELOCITA’?   Potenza dell’hardware?   Velocità del database?   Velocità de...
WEB PERFORMANCE OPTIMIZATION       NOWORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION   90 % DEL TEMPO DI CARICAMENTO   È UTILIZZATO PER LE RISORSE ESTERNEWORDCAMP BOLOGNA - 9 FEB...
WEB PERFORMANCE OPTIMIZATION http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/WORDCAMP BOLOGNA - 9 ...
WEB PERFORMANCE OPTIMIZATION http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/WORDCAMP BOLOGNA - 9 ...
WEB PERFORMANCE OPTIMIZATIONWORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION COME VELOCIZZARE IL SITO? 1. Ridurre il peso della pagina e delle risorse che la compongono  ...
WEB PERFORMANCE OPTIMIZATION ELABORAZIONE PAGINA HTMLWORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE                                     Metrica                 Valore       ...
WEB PERFORMANCE OPTIMIZATIONDIMINUIRE PESO DELLA PAGINA •   Minify html •   Minify js •   Minify css •   immagini ottimizz...
WEB PERFORMANCE OPTIMIZATION RIDURRE RICHESTE HTTP • combine dei files     • combine intelligente • css sprites • utilizza...
WEB PERFORMANCE OPTIMIZATION VELOCIZZARE IL RENDERING DELLA PAGINA •   Css nell’header •   Script nel footer •   Diminuire...
WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE                                     Metrica                 Valore       ...
WEB PERFORMANCE OPTIMIZATIONPARALLELIZZARE DOWNLOAD CSS IN CIMA (NELL’HEAD) • vengono scaricati in parallelo • permettono ...
WEB PERFORMANCE OPTIMIZATION PARALLELIZZARE DOWNLOAD - 2 • Utilizzare domini diversi                                      ...
WEB PERFORMANCE OPTIMIZATION ABILITARE COMPRESSIONE GZIP • Riduce notevolmente il peso della pagina (anche del 80%) • Vant...
WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE                                     Metrica                 Valore       ...
WEB PERFORMANCE OPTIMIZATION ABILITARE KeepAlive • Creare una nuova connessione http è dispendioso (tempo e risorse) • Una...
WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE -KEEPALIVE                                     Metrica                 Va...
WEB PERFORMANCE OPTIMIZATIONDOMINI COOKIELESS PER RISORSE STATICHE  Nel caso utilizziate una fake cdn, mpostare in wp-conf...
WEB PERFORMANCE OPTIMIZATION CACHING DELLE RISORSE STATICHE VANTAGGI • Caricamenti successivi della pagina (o del sito) mo...
WEB PERFORMANCE OPTIMIZATIONIMPOSTARE IL CACHING • La query string nell’url della risorsa impedisce il cachingERRATO (NON ...
WEB PERFORMANCE OPTIMIZATION ABILITARE CACHING APACHE • Con Apache, necessario mod_header e mod_expires  <IfModule mod_hea...
WEB PERFORMANCE OPTIMIZATIONDEFER JAVASCRIPT (SOCIAL BUTTONS)    non caricarli al document ready    Soluzioni:    • setTim...
SERVER TUNINGWORDCAMP BOLOGNA - 9 FEBBRAIO 2013           @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION      CHE COSA CAUSA IL RALLENTAMENTO?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # ...
WEB PERFORMANCE OPTIMIZATIONWORDCAMP BOLOGNA - 9 FEBBRAIO 2013   @WORDCAMPBOLOGNA # WPCAMPBO13
WEB PERFORMANCE OPTIMIZATION CACHING IN WORDPRESS TRANSIENT API • Utile per salvare il risultato di elaborazioni lunghe (r...
WEB PERFORMANCE OPTIMIZATION APC (ADVANCED PHP CACHING) •    Php è un linguaggio interpretato •    APC salva l’opcode in R...
WEB PERFORMANCE OPTIMIZATION APC PARAMETRI FONDAMENTALI • apc.enabled=1 • apc.shm_size • apc.ttl • apc.user_ttl   http://p...
WEB PERFORMANCE OPTIMIZATION APC (BENCHMARK)                                     1                                        ...
WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE - APC                                                                    ...
WEB PERFORMANCE OPTIMIZATION CONFRONTO RESPONSE TIME                                     APC OFF: 902 ms                  ...
WEB PERFORMANCE OPTIMIZATION MYSQLND •   Disponibile a partire da php 5.3 •   Default per php 5.4 •   Ottimizzata per php ...
WEB PERFORMANCE OPTIMIZATION    • Di default (ovvero senza tuning) è in grado di gestire 10k connessioni simultanee con   ...
WEB PERFORMANCE OPTIMIZATION – STRUMENTI BENCHMARKING  PLUGIN BROWSER  • Yslow  • Google Page Speed  SERVIZI ONLINE  • htt...
WEB PERFORMANCE OPTIMIZATION – NEW RELIC •   Installazione in 5 minuti •   Real time •   Pagine più lente •   Query più di...
WEB PERFORMANCE OPTIMIZATION – CLOUD FLARE    •   cdn automatico per pagine e contenuti statici con data center in 23 stat...
WEB PERFORMANCE OPTIMIZATION – MOD PAGE SPEED• Fa tutto lui • Modulo x Apache ed Nginx• 40 filtri configurabilihttps://de...
WEB PERFORMANCE OPTIMIZATION                                     DOMANDE?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013              @...
RELATORE                              GRAZIE!                              Andrea Cardinali                              W...
Upcoming SlideShare
Loading in …5
×

50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp Bologna 2013

2,200
-1

Published on

Quanto è importante la velocità di caricamento di un sito?
Nell'intervento verranno presentate l’insieme delle best practices da utilizzare per rendere il sito il più veloce e performante possibile. E’ inutile avere un sito bello se poi una pagina impiega 10 secondi per essere caricata, o se il server non riesce a gestire più di 20 utenti contemporaneamente. All'interno è presente anche un case study di un sito reale con gli ottimi risultati ottenuti.

Published in: Technology

50 tips su Web  Performance Optimization per siti ad alto traffico @ WpCamp Bologna 2013

  1. 1. 50 tips su Web PerformanceOptimization per siti ad alto traffico di ANDREA CARDINALI WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  2. 2. “If it is fast and ugly, they will use it and curse you; if it is slow, they will not use it” David Cheriton (Docente Univ.Stanford)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  3. 3. WEB PERFORMANCE OPTIMIZATION PERCHE’ LA VELOCITA’ E’ IMPORTANTE? • Migliora la User Experience • Diminuisce il bounce rate (tasso d’abbandono) • Aumentano le pageviews ( a parità di tempo speso sul sito) • Aumentano le conversioni (soprattutto negli ecommerce) • Diminuiscono i costi (hardware e banda) Inoltre… E’ un fattore di ranking “You may have heard that here at Google were obsessed with speed, in our products and on the web. As part of that effort, today were including a new signal in our search ranking algorithms: site speed.” Amit Singhal & Matt Cuts - 09 Aprile 2010 http://googlewebmastercentral.blogspot.it/2010/04/using-site-speed-in-web-search-ranking.htmlWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  4. 4. WEB PERFORMANCE OPTIMIZATION QUANTO VELOCE? LA RISPOSTA E’ NELLA PSICOLOGIA UMANA. L’utente arriva sul nostro sito con un intento ben preciso. Memoria a breve termine limitata: più aspettiamo, più il compito da eseguire risulta difficile. Bisogno di controllo: l’attesa e l’impossibilità di controllare la situazione genera frustrazione e ansia. 3 LIMITI PER I TEMPI DI RISPOSTA: 0.1 secondi – risposta istantanea 1 secondo – l’utente percepisce un ritardo e sa che è dovuto al computer che sta elaborando le informazioni e quindi il flusso dei pensieri non viene interrotto. 10 secondi – Tempo massimo per mantenere l’attenzione dell’utente. L’utente non ha il controllo su quello che sta accadendo e inizia a crescere il senso di frustrazione. ABBANDONO DEL SITO Fonte: Jackob Nielsen http://www.nngroup.com/articles/website-response-times/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  5. 5. WEB PERFORMANCE OPTIMIZATION QUANTO VELOCE? (NEL MONDO REALE) GLOBALE: DESKTOP: 2,8 sec MOBILE: 4,5 sec ITALIA: DESKTOP: 3,4 sec MOBILE: 5,6 sec DESKTOP: <15% 1sec Fonte: http://analytics.blogspot.it/2012/04/global-site-speed-overview-how-fast-are.htmlWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  6. 6. WEB PERFORMANCE OPTIMIZATION DA COSA DIPENDE LA VELOCITA’? Potenza dell’hardware? Velocità del database? Velocità del codice? http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  7. 7. WEB PERFORMANCE OPTIMIZATION NOWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  8. 8. WEB PERFORMANCE OPTIMIZATION 90 % DEL TEMPO DI CARICAMENTO È UTILIZZATO PER LE RISORSE ESTERNEWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  9. 9. WEB PERFORMANCE OPTIMIZATION http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  10. 10. WEB PERFORMANCE OPTIMIZATION http://www.stevesouders.com/blog/2012/02/10/the-performance-golden-rule/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  11. 11. WEB PERFORMANCE OPTIMIZATIONWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  12. 12. WEB PERFORMANCE OPTIMIZATION COME VELOCIZZARE IL SITO? 1. Ridurre il peso della pagina e delle risorse che la compongono • Minify • Immagini ottimizzate • Compressione gzip 2. Ridurre il n° di richieste http 3. Parallelizzare il download 4. Caching 5. Lazy Loading (principalmente immagini) 6. Ritardare l’esecuzione degli script non fondamentali (es. social buttons)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  13. 13. WEB PERFORMANCE OPTIMIZATION ELABORAZIONE PAGINA HTMLWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  14. 14. WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE Metrica Valore Load time 3,62 sec Peso 560kb N° richieste http 25WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  15. 15. WEB PERFORMANCE OPTIMIZATIONDIMINUIRE PESO DELLA PAGINA • Minify html • Minify js • Minify css • immagini ottimizzate (Yahoo smush.it) • non scalare immagini con html RISORSE UTILI: http://www.minifycss.com/css-compressor/ http://refresh-sf.com/yui/ (YUI Compressor) http://jscompress.com/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  16. 16. WEB PERFORMANCE OPTIMIZATION RIDURRE RICHESTE HTTP • combine dei files • combine intelligente • css sprites • utilizzare @media print invece di un foglio di stile per la stampa • image inline (data uri) • css3 per sfondi con gradient ATTENZIONE: Immagini inline non supportate da <IE7WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  17. 17. WEB PERFORMANCE OPTIMIZATION VELOCIZZARE IL RENDERING DELLA PAGINA • Css nell’header • Script nel footer • Diminuire il numero di elementi del DOM • Script eseguiti al .load() invece che al .ready(). • Lazy load Immagini • Script che interagiscono con il DOM devono utilizzare selettori efficienti • Script asincroni • Regole css efficientiWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  18. 18. WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE Metrica Valore Load time 3,60 sec Peso 546kb N° richieste http 16 Diminuito # richiesteWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  19. 19. WEB PERFORMANCE OPTIMIZATIONPARALLELIZZARE DOWNLOAD CSS IN CIMA (NELL’HEAD) • vengono scaricati in parallelo • permettono al browser di eseguire più velocemente il rendering della pagina JAVASCRIPT IN FONDO (ideale prima di </body> o comunque dopo i css) • bloccano il rendering della pagina • vengono scaricati ed eseguiti • caricarli solo dove necessario add_action(‘wp_enqueue_scripts’,’crd_registra_js’); function crd_registra_js() { $path=get_template_directory_uri()./assets/js/’; wp_register_script(‘myscript’,‘script.min.js, array(jquery),null, true); //5 parametro per caricare lo script nel footer if(is_page()) { wp_enqueue_script(‘myscript’); } }WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  20. 20. WEB PERFORMANCE OPTIMIZATION PARALLELIZZARE DOWNLOAD - 2 • Utilizzare domini diversi Browser N° max per host * • Utilizzare librerie ospitate su domini esterni IE <8 2 • Utilizzare Fake CDN [link a post] IE 8 -9 6 ATTENZIONE: numero max di connessioni /host IE 10 8 Chrome 6 FF 6 Non utilizzare più di 3-4 domini differenti add_action(wp_enqueue_scripts,’crd_inizializza_js)); function crd_inizializza_js() { wp_deregister_script(jquery‘); wp_register_script(jquery, https://ajax.googleapis.com/ajax/libs/j query/1.8.3/jquery.min.js,null,null,true); } Elenco completo: http://www.browserscope.org/?category=networkWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  21. 21. WEB PERFORMANCE OPTIMIZATION ABILITARE COMPRESSIONE GZIP • Riduce notevolmente il peso della pagina (anche del 80%) • Vantaggi maggiori sui files con contenuto testuale Abilitare compressione su Apache: [link] ABILITARE SU APACHE Inserire nel .htaccess Meglio se in httpd.conf (più performante) <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript </IfModule>WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  22. 22. WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE Metrica Valore Load time 2,9 sec Peso 228kb N° richieste http 13 Metrica Valore Load time -17 % Peso -43 %WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  23. 23. WEB PERFORMANCE OPTIMIZATION ABILITARE KeepAlive • Creare una nuova connessione http è dispendioso (tempo e risorse) • Una singola connessione http viene utilizzata per rispondere a più richieste Abilitare KeepAlive su Apache (httpd.conf) KeepAlive On KeepAliveTimeout 5 MaxKeepAliveRequests 30WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  24. 24. WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE -KEEPALIVE Metrica Valore Load time 2,79 sec Peso 228kb N° richieste http 13 Metrica Valore Load time -9,6 % Peso -WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  25. 25. WEB PERFORMANCE OPTIMIZATIONDOMINI COOKIELESS PER RISORSE STATICHE Nel caso utilizziate una fake cdn, mpostare in wp-config il solo dominio principale. define (COOKIE_DOMAIN, www.domain.com);WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  26. 26. WEB PERFORMANCE OPTIMIZATION CACHING DELLE RISORSE STATICHE VANTAGGI • Caricamenti successivi della pagina (o del sito) molto più veloci • Si risparmia banda -98 %WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  27. 27. WEB PERFORMANCE OPTIMIZATIONIMPOSTARE IL CACHING • La query string nell’url della risorsa impedisce il cachingERRATO (NON CORRETTO): wp_enqueue_script (‘myscript’,$path.’script.js’); <script src=/wp-content/themes/test/script.js?ver=3.5.1></script> CORRETTO: wp_enqueue_script (‘myscript’,$path.’script.js’,false,null); <script src=/wp-content/themes/test/script.js></script>WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  28. 28. WEB PERFORMANCE OPTIMIZATION ABILITARE CACHING APACHE • Con Apache, necessario mod_header e mod_expires <IfModule mod_headers.c> <FilesMatch ".(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|cur)$"> Header unset ETag FileETag None #caching per un mese Header set Cache-Control "max-age=2678400, public" </FilesMatch> </IfModule> Se il vostro sito utilizza un solo server si possono abilitare gli ETAGWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  29. 29. WEB PERFORMANCE OPTIMIZATIONDEFER JAVASCRIPT (SOCIAL BUTTONS) non caricarli al document ready Soluzioni: • setTimeout • immagine statica sostituita all’hover dai widget (mashable.com) • cambio viewport • mia con getScriptWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  30. 30. SERVER TUNINGWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  31. 31. WEB PERFORMANCE OPTIMIZATION CHE COSA CAUSA IL RALLENTAMENTO?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  32. 32. WEB PERFORMANCE OPTIMIZATIONWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  33. 33. WEB PERFORMANCE OPTIMIZATION CACHING IN WORDPRESS TRANSIENT API • Utile per salvare il risultato di elaborazioni lunghe (richieste http, query complesse) • Persistente: viene salvato in wp_options come array serializzato set_transient(‘nome_valore’, $valore, $scadenza) get_transient (‘nome_valore’) WP_Object_Cache • Non persistente di default (viene eliminato alla fine del ciclo di vita della pagina) • Diversi plugin (W3TC, APC Object Cache, WP File Cache) la rendono persistente wp_cache_* http://codex.wordpress.org/Transients_API http://codex.wordpress.org/Class_Reference/WP_Object_CacheWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  34. 34. WEB PERFORMANCE OPTIMIZATION APC (ADVANCED PHP CACHING) • Php è un linguaggio interpretato • APC salva l’opcode in RAM • WP supporta APC a livello di Object Cache (http://wordpress.org/extend/plugins/apc/) • W3TC supporta APC a tutti i livelli (Db,Page,Object) http://pecl.php.net/package/APCWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  35. 35. WEB PERFORMANCE OPTIMIZATION APC PARAMETRI FONDAMENTALI • apc.enabled=1 • apc.shm_size • apc.ttl • apc.user_ttl http://pecl.php.net/package/APCWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  36. 36. WEB PERFORMANCE OPTIMIZATION APC (BENCHMARK) 1 3 2 Configurazione Req/sec. Aumento Default (Apache + php) 3,37 - APC On (solo opcode) 8 +237% APC + Object Cache 65 +2000%WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  37. 37. WEB PERFORMANCE OPTIMIZATION ANALISI PERFORMANCE - APC Metrica Valore Load time 1,97 sec Peso 277kb * N° richieste http 13 Metrica Valore Load time -7,5 % Peso - Response time -57% * Il peso è aumentato perché è stata aggiunta un immagine. Ininfluente ai fini del testWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  38. 38. WEB PERFORMANCE OPTIMIZATION CONFRONTO RESPONSE TIME APC OFF: 902 ms -57 % APC OFF: 396msWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  39. 39. WEB PERFORMANCE OPTIMIZATION MYSQLND • Disponibile a partire da php 5.3 • Default per php 5.4 • Ottimizzata per php (non è general purpose come mysqlibclient) • Utilizza la il 50% in meno di memoria rispetto a php-mysql • Su PECL c’è un estensione (mysqlnd_qc) per il caching delle query tramite apc http://dev.mysql.com/downloads/connector/php-mysqlnd/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  40. 40. WEB PERFORMANCE OPTIMIZATION • Di default (ovvero senza tuning) è in grado di gestire 10k connessioni simultanee con circa 2M di RAM (chiedete di fare lo stesso ad Apache) • Può essere utilizzato come reverse proxy, web server o entrambi • Utilizzato da wordpress.com, gravatar. com, cloudflare,pinterest, andreacardinali.it :) http://nginx.com/cs/nginx-automattic.html http://codex.wordpress.org/NginxWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  41. 41. WEB PERFORMANCE OPTIMIZATION – STRUMENTI BENCHMARKING PLUGIN BROWSER • Yslow • Google Page Speed SERVIZI ONLINE • http://www.loadimpact.com (test di carico con connessione contemporanee) • http://www.gtmetrix.com (confronta i risultati di Yslow e Google Page Speed) • http://tools.pingdom.com JAVASCRIPT • Google Analytics (_trackPageSpeed) • New Relic (RUA: Real User Monitoring: aggiunge un file js in fondo ad ogni pagina)WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  42. 42. WEB PERFORMANCE OPTIMIZATION – NEW RELIC • Installazione in 5 minuti • Real time • Pagine più lente • Query più dispendiose • Storico http://newrelic.comWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  43. 43. WEB PERFORMANCE OPTIMIZATION – CLOUD FLARE • cdn automatico per pagine e contenuti statici con data center in 23 stati • Dns anycast • Threats protection • Caching automatico • Implementazione tutte le best practices esposte • Combine, minify,gzip ecc..http://www.cloudflare.com/WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  44. 44. WEB PERFORMANCE OPTIMIZATION – MOD PAGE SPEED• Fa tutto lui • Modulo x Apache ed Nginx• 40 filtri configurabilihttps://developers.google.com/speed/pagespeed/mod?hl=ithttp://seoblog.giorgiotave.it/sito-veloce-mod-pagespeed/2770WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  45. 45. WEB PERFORMANCE OPTIMIZATION DOMANDE?WORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  46. 46. RELATORE GRAZIE! Andrea Cardinali Web: www.andreacardinali.it Twitter: @andreacardinali Google + : Andrea CardinaliWORDCAMP BOLOGNA - 9 FEBBRAIO 2013 @WORDCAMPBOLOGNA # WPCAMPBO13
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×