Performance
@RodolfoFadino
! Instantâneo
Soma de fatores
Back-End
• Cache
• Thread
• Debug/Release
• SQL
• IO
• Network
• ...
Front-End
• CSS
• JS
• IMG
• Headers
• Minified
• CDN
• Proxy
• Cookies
• ...
• “…only 10-20% of the total
end-user response time is
spent getting the HTML
document to the browser. You
need to focus on the other 80-
90% if you want to make your
pages noticeably faster…”
Anatomia de uma requisição HTTP
• DNS Lookup
• Initial Connection
– Keep-Alive Header
• Time to First Byte
• Content Download
14 regras
• Rule 1 - Make Fewer HTTP Requests
• Rule 2 - Use a Content Delivery Network
• Rule 3 - Add an Expires Header
• Rule 4 - Gzip Components
• Rule 5 - Put Stylesheets at the Top
• Rule 6 - Put Scripts at the Bottom
• Rule 7 - Avoid CSS Expressions
• Rule 8 - Make JavaScript and CSS External
• Rule 9 - Reduce DNS Lookups
• Rule 10 - Minify JavaScript
• Rule 11 - Avoid Redirects
• Rule 12 - Remove Duplicate Scripts
• Rule 13 - Configure ETags
• Rule 14 - Make AJAX Cacheable
Ok, eu sei as 14 regras, e dai?
• Rule 1 - Make Fewer HTTP Requests
• Rule 2 - Use a Content Delivery Network
• Rule 3 - Add an Expires Header
• Rule 4 - Gzip Components
• Rule 5 - Put Stylesheets at the Top
• Rule 6 - Put Scripts at the Bottom
• Rule 7 - Avoid CSS Expressions
• Rule 8 - Make JavaScript and CSS External
• Rule 9 - Reduce DNS Lookups
• Rule 10 - Minify JavaScript
• Rule 11 - Avoid Redirects
• Rule 12 - Remove Duplicate Scripts
• Rule 13 - Configure ETags
• Rule 14 - Make AJAX Cacheable
Quando foi a última vez que você
usou o YSlow ou Page Speed?
Vamos fazer um projeto para isso
#SóQueNão
Backlog
Melhorar a performance é uma
responsabilidade nossa (time)
Demo

Performance Web

  • 1.
  • 3.
  • 4.
    Soma de fatores Back-End •Cache • Thread • Debug/Release • SQL • IO • Network • ... Front-End • CSS • JS • IMG • Headers • Minified • CDN • Proxy • Cookies • ...
  • 6.
    • “…only 10-20%of the total end-user response time is spent getting the HTML document to the browser. You need to focus on the other 80- 90% if you want to make your pages noticeably faster…”
  • 7.
    Anatomia de umarequisição HTTP • DNS Lookup • Initial Connection – Keep-Alive Header • Time to First Byte • Content Download
  • 8.
    14 regras • Rule1 - Make Fewer HTTP Requests • Rule 2 - Use a Content Delivery Network • Rule 3 - Add an Expires Header • Rule 4 - Gzip Components • Rule 5 - Put Stylesheets at the Top • Rule 6 - Put Scripts at the Bottom • Rule 7 - Avoid CSS Expressions • Rule 8 - Make JavaScript and CSS External • Rule 9 - Reduce DNS Lookups • Rule 10 - Minify JavaScript • Rule 11 - Avoid Redirects • Rule 12 - Remove Duplicate Scripts • Rule 13 - Configure ETags • Rule 14 - Make AJAX Cacheable
  • 9.
    Ok, eu seias 14 regras, e dai? • Rule 1 - Make Fewer HTTP Requests • Rule 2 - Use a Content Delivery Network • Rule 3 - Add an Expires Header • Rule 4 - Gzip Components • Rule 5 - Put Stylesheets at the Top • Rule 6 - Put Scripts at the Bottom • Rule 7 - Avoid CSS Expressions • Rule 8 - Make JavaScript and CSS External • Rule 9 - Reduce DNS Lookups • Rule 10 - Minify JavaScript • Rule 11 - Avoid Redirects • Rule 12 - Remove Duplicate Scripts • Rule 13 - Configure ETags • Rule 14 - Make AJAX Cacheable
  • 10.
    Quando foi aúltima vez que você usou o YSlow ou Page Speed?
  • 12.
    Vamos fazer umprojeto para isso #SóQueNão
  • 13.
  • 14.
    Melhorar a performanceé uma responsabilidade nossa (time)
  • 15.