Web Performance Optimization

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

6 comments

Comments 1 - 6 of 6 comments previous next Post a comment

  • + bizcomit bizcomit 2 months ago
    Belle slide.. utili e .. no-frills ;)
    grazie.. ne faro’ buon uso !
  • + Blographik Mirko D'Isidoro 3 months ago
    @Alessandro: se vorrai scrivere qualche guest post su blographik in merito alla velocizzazione delle pagine web, plugin per wordpress etc, sei il benvenuto ;).

    Lunedi posto la tua video intervista ;).
  • + Xanto Xanto 3 months ago
    Anche per me è stato tra i migliori interventi del Convegno GT: chiaro, essenziale e pratico!!! Complimenti!!!
    :)
  • + thinkpragmatic thinkpragmatic 3 months ago
    Grazie a tutti, mi fate arrossire :-)
    Spero che di potervi incontrare di nuovo molto presto.
  • + nbriani Nicola Briani 3 months ago
    Complimenti Alessandro, senza dubbio uno degli interventi piu’ interessanti dell’intero Convegno!
  • + Blographik Mirko D'Isidoro 3 months ago
    Ottimo intervento Alessandro, a breve riceverai mie notizie sulla nostra video chiacchierata che pubblicherò su blographik ;).
    A presto
Login or Signup to post a comment
Edit your comment Cancel

Notes on slide 1

Per rispondere a questa domanda vediamo alcuni dati resi pubblici da alcuni grossi player alcune settimane fa

Vediamo il fenome un po' più nel dettaglio: questo grafico rappresenta tutti i file che vengono scaricati richiedendo una particolare pagina (la hp di Y!). La lunghezza di ogni segmento blue indica il tempo impiegato per scaricare completamente il file Notiamo due cose: - come dicevamo prima ci sono tanti pezzi che compongono una pagina. Il primo ad essere scaricato è il file HTML che ovviamente contiene le informazioni per comporre tutta la pagina - La cosa più interessante però è che il tempo impiegato per scaricare il file HTMLè davvero breve rispetto a quello di tutta la pagina... 10/20% circa - Quando il server eroga il file HTML ha già fatto uery al DB, ha eseguito il codice, ecc... - chiamiamo backend...

Se dedicassi 5 minuti a parlare di ciascuna di queste avremmo davanti un'ora e dieci piuttosto noiosa... per cui ho pensato di limitarmi a 6 di queste, anche in questo caso quelle più efficienti

9 Favorites & 1 Event

Web Performance Optimization - Presentation Transcript

  1. Web Performance Optimization Alessandro Martin [email_address] www.thinkpragmatic.net
  2. Agenda
    • La velocità è importante?
    • Da cosa dipende?
    • Best practice
    • Analisi dal vivo
    • Conclusioni
    • -> Novità
  3. La velocità è importante?
  4. Google
  5. Bing
  6. e noi comuni mortali?
  7. Campione di siti editoriali Fonte: http://www.watchingwebsites.com
  8. Campione di siti ecommerce Fonte: http://www.watchingwebsites.com
  9. Convinti?
  10. Da cosa dipende la velocità di un sito?
  11. Ha il maggiore impatto:
    • Velocità del server ?
    • Velocità codice ?
    • Velocità del database ?
  12. no.
  13. 2 o 3 cose che sapete GET /pippo.html GET /style.css GET /script.js GET /img.jpg pippo.html style.css script.js img.jpg Browser Server
  14. Fonte: http://yuiblog.com backend frontend
    • 80% del tempo di caricamente percepito dall'utente è speso nel frontend
    è qui che dobbiamo lavorare..
  15. Buone notizie
    • Ottimizzare il frontend è facile
    • Risultati certi
    • Molti tool
    • Best practice ben definite...
  16.  
  17. Riduci le Richieste HTTP Usa un Content Delivery Network Sfrutta Gzip Metti gli Script alla Fine Aggiungi un Expires Header Minimizza Javascript e CSS
  18. Riduci le richieste HTTP
    • 1 componente = 1 richiesta HTTP
    • Ogni richiesta HTTP occupa tempo
    • M eno richieste -> più velocità
    Browser Server
  19. Riduci le richieste HTTP
    • JS e CSS combinati
    • Image map
    • Immagini inline (data URI)
    <img src=&quot; data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7 &quot; width=&quot;16&quot; height=&quot;14&quot; alt=&quot;embedded folder icon&quot;> <?php echo base64_encode(file_get_contents(&quot;../images/folder16.gif&quot;)) ?>
  20. Riduci le richieste HTTP CSS sprites
  21. Riduci le richieste HTTP CSS sprites
  22. Riduci le richieste HTTP CSS sprites
  23. Riduci le richieste HTTP CSS sprites
  24. Content Delivery Network CDN server browser
  25. Content Delivery Network <script src=&quot;http://www.google.com/jsapi&quot;></script> <script> // Load jQuery google.load(&quot;jquery&quot;, &quot;1&quot;) ; //do some stuff... </script>
    • Costoso (es. Akamai)
    • CDN dei poveri ;-)
  26. Abilita Gzip Zip... Unzip... Browser Accept-econding:gzip 1 Server 2 Browser Accept-econding:gzip 4 Server Content-econding:gzip 3
  27. Abilita Gzip
      90% dei browser supporta GZIP puoi zippare HTML, CSS, JS
  28. Metti gli script in fondo
  29. Metti gli script in fondo
      Vanno (quasi)
    sempre in fondo
  30. Expire headers cache Server Browser 3 4 Browser Server Expires:Thu, 15 Apr 2019 1 2
  31. Expires headers
      ~80% delle pageview hanno una CACHE inizializzata Fonte: http://developer.yahoo.com/performance/rules.html#expires
  32. Expires headers
      Imposta la scadenza nel futuro
  33. Configura gli Etag Browser Server HTTP/1.1 200 OK Last-Modified: Tue.... ETag: &quot;10c24bc-4ab-457e1c1f&quot; Content-Length: 12195 1 2 Server 304 Not modified Browser If-None-Match: &quot;10c24bc-4ab-457e1c1f&quot; 3 4
  34. Configura gli Etag
    • Dipendono dal server fisico
    • Spesso è meglio disabilitarli
      • Apache -> FileETag none
  35. Minimizzare JS e CSS (function(){ var // Will speed up references to window, and allows munging its name. window = this, // Will speed up references to undefined, and allows munging its name. undefined, // Map over jQuery in case of overwrite _jQuery = window.jQuery, (function(){var l=this,g,y=l.jQuery,p=l.$,o=l.jQuery=l.$=function(E,F){return new o.fn.init(E,F)},D=/^[^<]*(<(.|s)+>)[^>]*$|^#([w-]+)$/,f=/^.[^:#[.,]*$/;o.fn=o.prototype={init:function(E,H){E=E||document;if(E.nodeType){this[0]=E;this.length=1;this.context=E;return this}if(typeof E===&quot;string&quot;){var G=D.exec(E);if(G&&(G[1]||!H)){if(G[1]){E=o.clean([G[1]],H)}else{var I=document.getElementById(G[3]); 117KB 56KB
  36. Minimizzare JS e CSS
      piccolo
    è meglio
  37. Ancora vivi?
  38. Strumenti
    • Hammer Head – tempi di caricamento
    • Yslow – analisi made in Yahoo!
    • PageSpeed – analisi made in Google
    • Spriteme – CSS sprites made easy
    • Smush – comprime le immagini
    • YUI Compressor – minifica JS e CSS
    • site-perf.com – analisi
    • Firebug – net panel
    • YSlow
    Live http://www.trenitalia.com http://www.repubblica.it
    • La velocità influenza il ranking?
  39. Chissenefrega.
    • la velocità porta benefici in ogni caso
    • Una grande opportunità
    • Poco intrusiva
    • Più visite
    • Più conversioni
    • Meno risorse HW
    • Meno banda
  40. Fast is a must
  41. Grazie. (domande?) www.thinkpragmatic.net [email_address]
  42. Bonus!
  43. Bonus: GA goes Async var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXX-X']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; ga.setAttribute('async', 'true'); document.documentElement.firstChild.appendChild(ga); })();
  44. GA goes async
    • Più veloce
    • Miglior uptime
    • Più dati
  45. Google Webmaster Tool
  46. Immagini Creative Commons
    • http://www.flickr.com/photos/56367751@N00/278662472/
    • http://www.flickr.com/photos/70121902@N00/2109197876/
    • http://www.flickr.com/photos/bayat/12635053/

+ thinkpragmaticthinkpragmatic, 3 months ago

 

844 views, 9 favs, 3 embeds more

About this presentation

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

  • Favorites 9
  • Comments 6
  • Total Views 844
    • 793 on SlideShare
    • 51 from embeds
Embed views
  • 22 views on http://www.mysocialweb.it
  • 17 views on http://www.thinkpragmatic.net
  • 12 views on http://www.webcopywriter.it

more

Embed views
  • 22 views on http://www.mysocialweb.it
  • 17 views on http://www.thinkpragmatic.net
  • 12 views on http://www.webcopywriter.it

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint

Categories

Groups / Events