SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
10 Tips for High
Performance Web Sites

Kent Alstad
VP Acceleration
DevCon5 – December 2013
Who Am I

• Background
– First laid hands on a microcomputer in 1977, its been downhill since
then
– Spent the last 15 years helping companies scale applications on a
variety of platforms

• Currently
–
–
–
–

VP Acceleration at Radware
Co-Founder of Strangeloop Networks (acquired by Radware)
Pioneer in the Web Acceleration (with numerous patents)
Developer and Architect of FastView
• lately I am into ….
– Single Page Applications (Angular, Knockout)
– C++, C, C#, JavaScript, Css, Html5, NodeJs

Slide 2
Realization
•

A Story: Frank Stanton from CBS Radio
– People are drawn to the clearest signal

latency is today’s static

Performance is a core value of the internet

Slide 3
Tip #1: Understand the Performance Equation

•

Legend:

•
•
•
•
•
•

R:
RTT:
App Turns:
Concurrent Requests:
Cs:
Cc:

Response time
Round Trip Time
Http Requests
# server sockets open by browser
Server Side Compute time
Client Compute time

Slide 4
Tip #2: Learn to Read a Waterfall Chart

Slide 5
Tip # 3: Measure FIRST

•

Real End User Monitoring
– Beacon technique
– Episodes (Souders), , Boomerang (http://yahoo.github.com/boomerang/doc/), Google
Analytics Timing JS (http://www.google.com/analytics/ ), Omniture

•

Synthetic Measurement
– Automates and instruments a browser
– Web Page Test: Apples to apples comparisions

•

APM Vendors
– Includes backend server agents + beacons
– Gomez (DynaTrace), Radware APM, New Relic, AppDynamics

•

Diagnostic Tools
– In browser tools: Google developer, IE9 Waterfall
– Fiddler (http://www.fiddler2.com/), HTTP Watch, DynaTrace

•

Performance Standards from W3C
– Web Timings Spec
– IE9, Chrome, and Firefox
– https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html

Slide 6
Tip #4: Compress Everything

• On for static ALL resources by default
• Compression on the server is expensive Use
1 NOT 9
• JavaScript browser test
– Set header with compress JavaScript

Slide 7
Tip #5: Use a CDN

• Use Microsoft or Google Free CDN sites for
common JS files like jQuery
– Google Hosted Libraries for: AngularJS, Chrome Frame,
Dojo, Ext Cor, jQuery, jQueryUI MooTools, Prototype,
script.aculo.us, SWFObject, Web Font Locator

– Microsoft Ajax Content Delivery Network: jQuery,
Modernizr, Ajax Control ToolKit and more…

• Use CloudFront from Amazon, NetDNA,
Level3, CloudFlare, and many more.

Slide 8
The CDN Effect

9.5 seconds
63 roundtrips

5.7 seconds
63 roundtrips
Slide 9
Tip #5: Browser Caching

• Best caching is on the client
– Use expires head to cache content on client

– Use short expiries if necessary
– Use finger-printing/versioning if possible
• Turn it on
– Get disciplined about renaming files

• Be careful with long lived cache-header values, the
safe limit is 2^31
– Use one year far-future expiry
Slide 10
Tip #6: Minification & Combination

• Online Javascript Compressor:
– http://jscompress.com/

• Online CSS Compressor:
– http://shygypsy.com/cssCompress/

• Use better build scripts
– e.g. ASPX ScriptManager.CompositeScript

Slide 11
Tip #6: In-line on Landing Pages

<img src="data:image/png;base64,iVBORw0KGgo
AAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBK
E0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" /]]>
ul.checklist li.complete {
padding-left: 20px;
background: white url('data:image/png;base64, Az3D/
…. McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/’)
no-repeat scroll left top; }

•
•
•
•
•

Support differs by browser
Eliminate resources files by embedding them into the main page
Implementations vary between browsers
Embedded objects into your CSS
Test every browser variation

Slide 12
Tip #7: AJAX-ify & Defer

• Changing the timing on rendering
– Getting users to a usable page sooner

• Use the CDN libraries
• You need to rethink your page design
– Defer unnecessary JavaScript until after
onload event

Slide 13
Tip #8: Html Caching

• Output Caching
• Cache Policies:
– varybyQueryString
– varybyHeaders

• Invalidation:
– CacheForTimePeriod
– CacheUntilChange

• Partial-Page Caching
Slide 14
Tip #9: Data Layer Caching

• Concurrency in the Middle Tier is
main issue
– What happens when you’re wrong?
– Tip: Use short timed expiry

Slide 15
Tip #10: Use Automated FEO

•
•
•
•
•
•
•
•

Finger Printing
Combining
JavaScript Deferral
CDN integration Automation
Progressive Image Rendering
Heuristic based Preloading
Treatment by Browser
Keep up with the latest trends
Slide 16
Thank You
www.radware.com

Más contenido relacionado

Destacado

Ja Solar Presentation 2011
Ja Solar Presentation 2011Ja Solar Presentation 2011
Ja Solar Presentation 2011a_mounsey
 
EGK 2011: Energy 06 ALPHASOL
EGK 2011: Energy 06 ALPHASOLEGK 2011: Energy 06 ALPHASOL
EGK 2011: Energy 06 ALPHASOLicebauhaus
 
Como crear un merge (sobres y cartas personalizadas) por ljf 2012
Como crear un merge (sobres y cartas personalizadas) por ljf 2012Como crear un merge (sobres y cartas personalizadas) por ljf 2012
Como crear un merge (sobres y cartas personalizadas) por ljf 2012ltjimenez
 
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)Pensando nella vita: riflessioni di uno spirito curioso (tascabile)
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)Marian de Souza
 
Yankee Candles UK - Pure Radiance
Yankee Candles UK - Pure RadianceYankee Candles UK - Pure Radiance
Yankee Candles UK - Pure RadianceYankee Candle
 
Ay no ma mexico
Ay no ma mexicoAy no ma mexico
Ay no ma mexicomx300
 
MAC-WOOD (INDIA) Presentation
MAC-WOOD (INDIA) PresentationMAC-WOOD (INDIA) Presentation
MAC-WOOD (INDIA) Presentationraghavkanoria22
 
SmartRivers Presentation
SmartRivers PresentationSmartRivers Presentation
SmartRivers Presentation3GIntermodal
 
HelpShare, sistema de ticketing y helpdesk basada en SharePoint
HelpShare, sistema de ticketing y helpdesk basada en SharePointHelpShare, sistema de ticketing y helpdesk basada en SharePoint
HelpShare, sistema de ticketing y helpdesk basada en SharePointwww.encamina.com
 
Minerals and stones from romania
Minerals and stones from romaniaMinerals and stones from romania
Minerals and stones from romaniaZoe
 

Destacado (15)

Energía eléctrica
Energía eléctricaEnergía eléctrica
Energía eléctrica
 
Ja Solar Presentation 2011
Ja Solar Presentation 2011Ja Solar Presentation 2011
Ja Solar Presentation 2011
 
EGK 2011: Energy 06 ALPHASOL
EGK 2011: Energy 06 ALPHASOLEGK 2011: Energy 06 ALPHASOL
EGK 2011: Energy 06 ALPHASOL
 
Como crear un merge (sobres y cartas personalizadas) por ljf 2012
Como crear un merge (sobres y cartas personalizadas) por ljf 2012Como crear un merge (sobres y cartas personalizadas) por ljf 2012
Como crear un merge (sobres y cartas personalizadas) por ljf 2012
 
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)Pensando nella vita: riflessioni di uno spirito curioso (tascabile)
Pensando nella vita: riflessioni di uno spirito curioso (tascabile)
 
Yankee Candles UK - Pure Radiance
Yankee Candles UK - Pure RadianceYankee Candles UK - Pure Radiance
Yankee Candles UK - Pure Radiance
 
Obcindosat hisyam
Obcindosat hisyamObcindosat hisyam
Obcindosat hisyam
 
Ay no ma mexico
Ay no ma mexicoAy no ma mexico
Ay no ma mexico
 
Opensat
OpensatOpensat
Opensat
 
MAC-WOOD (INDIA) Presentation
MAC-WOOD (INDIA) PresentationMAC-WOOD (INDIA) Presentation
MAC-WOOD (INDIA) Presentation
 
Fisio2
Fisio2Fisio2
Fisio2
 
JSTOR. Tutorial de ayuda
JSTOR.  Tutorial de ayudaJSTOR.  Tutorial de ayuda
JSTOR. Tutorial de ayuda
 
SmartRivers Presentation
SmartRivers PresentationSmartRivers Presentation
SmartRivers Presentation
 
HelpShare, sistema de ticketing y helpdesk basada en SharePoint
HelpShare, sistema de ticketing y helpdesk basada en SharePointHelpShare, sistema de ticketing y helpdesk basada en SharePoint
HelpShare, sistema de ticketing y helpdesk basada en SharePoint
 
Minerals and stones from romania
Minerals and stones from romaniaMinerals and stones from romania
Minerals and stones from romania
 

Más de Radware

Cyber Security Through the Eyes of the C-Suite (Infographic)
Cyber Security Through the Eyes of the C-Suite (Infographic)Cyber Security Through the Eyes of the C-Suite (Infographic)
Cyber Security Through the Eyes of the C-Suite (Infographic)Radware
 
What’s the Cost of a Cyber Attack (Infographic)
What’s the Cost of a Cyber Attack (Infographic)What’s the Cost of a Cyber Attack (Infographic)
What’s the Cost of a Cyber Attack (Infographic)Radware
 
DDoS Threat Landscape - Ron Winward CHINOG16
DDoS Threat Landscape - Ron Winward CHINOG16DDoS Threat Landscape - Ron Winward CHINOG16
DDoS Threat Landscape - Ron Winward CHINOG16Radware
 
Radware Cloud Security Services
Radware Cloud Security ServicesRadware Cloud Security Services
Radware Cloud Security ServicesRadware
 
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)Radware
 
Radware Hybrid Cloud WAF Service
Radware Hybrid Cloud WAF ServiceRadware Hybrid Cloud WAF Service
Radware Hybrid Cloud WAF ServiceRadware
 
The Expanding Role and Importance of Application Delivery Controllers [Resear...
The Expanding Role and Importance of Application Delivery Controllers [Resear...The Expanding Role and Importance of Application Delivery Controllers [Resear...
The Expanding Role and Importance of Application Delivery Controllers [Resear...Radware
 
The Art of Cyber War [From Black Hat Brazil 2014]
The Art of Cyber War [From Black Hat Brazil 2014]The Art of Cyber War [From Black Hat Brazil 2014]
The Art of Cyber War [From Black Hat Brazil 2014]Radware
 
The Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeThe Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeRadware
 
Cyber Attack Survival: Are You Ready?
Cyber Attack Survival:  Are You Ready?Cyber Attack Survival:  Are You Ready?
Cyber Attack Survival: Are You Ready?Radware
 
Radware ERT Threat Alert: Shellshock Bash
Radware ERT Threat Alert: Shellshock BashRadware ERT Threat Alert: Shellshock Bash
Radware ERT Threat Alert: Shellshock BashRadware
 
The Art of Cyber War: Cyber Security Strategies in a Rapidly Evolving Theatre
The Art of Cyber War:  Cyber Security Strategies in a Rapidly Evolving TheatreThe Art of Cyber War:  Cyber Security Strategies in a Rapidly Evolving Theatre
The Art of Cyber War: Cyber Security Strategies in a Rapidly Evolving TheatreRadware
 
Mobile Web Stress: Understanding the Neurological Impact of Poor Performance
Mobile Web Stress:  Understanding the Neurological Impact of Poor PerformanceMobile Web Stress:  Understanding the Neurological Impact of Poor Performance
Mobile Web Stress: Understanding the Neurological Impact of Poor PerformanceRadware
 
Emotional Engagement and Brand Perception
Emotional Engagement and Brand PerceptionEmotional Engagement and Brand Perception
Emotional Engagement and Brand PerceptionRadware
 
InfoSecurity Europe 2014: The Art Of Cyber War
InfoSecurity Europe 2014:  The Art Of Cyber WarInfoSecurity Europe 2014:  The Art Of Cyber War
InfoSecurity Europe 2014: The Art Of Cyber WarRadware
 
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...Radware
 
SecureWorld St. Louis: Survival in an Evolving Threat Landscape
SecureWorld St. Louis:  Survival in an Evolving Threat LandscapeSecureWorld St. Louis:  Survival in an Evolving Threat Landscape
SecureWorld St. Louis: Survival in an Evolving Threat LandscapeRadware
 
In the Line of Fire - The Morphology of Cyber-Attacks
In the Line of Fire - The Morphology of Cyber-AttacksIn the Line of Fire - The Morphology of Cyber-Attacks
In the Line of Fire - The Morphology of Cyber-AttacksRadware
 
Survival in an Evolving Threat Landscape
Survival in an Evolving Threat LandscapeSurvival in an Evolving Threat Landscape
Survival in an Evolving Threat LandscapeRadware
 
In the Line of Fire-the Morphology of Cyber Attacks
In the Line of Fire-the Morphology of Cyber AttacksIn the Line of Fire-the Morphology of Cyber Attacks
In the Line of Fire-the Morphology of Cyber AttacksRadware
 

Más de Radware (20)

Cyber Security Through the Eyes of the C-Suite (Infographic)
Cyber Security Through the Eyes of the C-Suite (Infographic)Cyber Security Through the Eyes of the C-Suite (Infographic)
Cyber Security Through the Eyes of the C-Suite (Infographic)
 
What’s the Cost of a Cyber Attack (Infographic)
What’s the Cost of a Cyber Attack (Infographic)What’s the Cost of a Cyber Attack (Infographic)
What’s the Cost of a Cyber Attack (Infographic)
 
DDoS Threat Landscape - Ron Winward CHINOG16
DDoS Threat Landscape - Ron Winward CHINOG16DDoS Threat Landscape - Ron Winward CHINOG16
DDoS Threat Landscape - Ron Winward CHINOG16
 
Radware Cloud Security Services
Radware Cloud Security ServicesRadware Cloud Security Services
Radware Cloud Security Services
 
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)
Radware 2016 State of the Union: Multi Industry Web Performance (Desktop)
 
Radware Hybrid Cloud WAF Service
Radware Hybrid Cloud WAF ServiceRadware Hybrid Cloud WAF Service
Radware Hybrid Cloud WAF Service
 
The Expanding Role and Importance of Application Delivery Controllers [Resear...
The Expanding Role and Importance of Application Delivery Controllers [Resear...The Expanding Role and Importance of Application Delivery Controllers [Resear...
The Expanding Role and Importance of Application Delivery Controllers [Resear...
 
The Art of Cyber War [From Black Hat Brazil 2014]
The Art of Cyber War [From Black Hat Brazil 2014]The Art of Cyber War [From Black Hat Brazil 2014]
The Art of Cyber War [From Black Hat Brazil 2014]
 
The Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs DowntimeThe Real Cost of Slow Time vs Downtime
The Real Cost of Slow Time vs Downtime
 
Cyber Attack Survival: Are You Ready?
Cyber Attack Survival:  Are You Ready?Cyber Attack Survival:  Are You Ready?
Cyber Attack Survival: Are You Ready?
 
Radware ERT Threat Alert: Shellshock Bash
Radware ERT Threat Alert: Shellshock BashRadware ERT Threat Alert: Shellshock Bash
Radware ERT Threat Alert: Shellshock Bash
 
The Art of Cyber War: Cyber Security Strategies in a Rapidly Evolving Theatre
The Art of Cyber War:  Cyber Security Strategies in a Rapidly Evolving TheatreThe Art of Cyber War:  Cyber Security Strategies in a Rapidly Evolving Theatre
The Art of Cyber War: Cyber Security Strategies in a Rapidly Evolving Theatre
 
Mobile Web Stress: Understanding the Neurological Impact of Poor Performance
Mobile Web Stress:  Understanding the Neurological Impact of Poor PerformanceMobile Web Stress:  Understanding the Neurological Impact of Poor Performance
Mobile Web Stress: Understanding the Neurological Impact of Poor Performance
 
Emotional Engagement and Brand Perception
Emotional Engagement and Brand PerceptionEmotional Engagement and Brand Perception
Emotional Engagement and Brand Perception
 
InfoSecurity Europe 2014: The Art Of Cyber War
InfoSecurity Europe 2014:  The Art Of Cyber WarInfoSecurity Europe 2014:  The Art Of Cyber War
InfoSecurity Europe 2014: The Art Of Cyber War
 
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...OpenStack Networking:  Developing and Delivering a Commercial Solution for Lo...
OpenStack Networking: Developing and Delivering a Commercial Solution for Lo...
 
SecureWorld St. Louis: Survival in an Evolving Threat Landscape
SecureWorld St. Louis:  Survival in an Evolving Threat LandscapeSecureWorld St. Louis:  Survival in an Evolving Threat Landscape
SecureWorld St. Louis: Survival in an Evolving Threat Landscape
 
In the Line of Fire - The Morphology of Cyber-Attacks
In the Line of Fire - The Morphology of Cyber-AttacksIn the Line of Fire - The Morphology of Cyber-Attacks
In the Line of Fire - The Morphology of Cyber-Attacks
 
Survival in an Evolving Threat Landscape
Survival in an Evolving Threat LandscapeSurvival in an Evolving Threat Landscape
Survival in an Evolving Threat Landscape
 
In the Line of Fire-the Morphology of Cyber Attacks
In the Line of Fire-the Morphology of Cyber AttacksIn the Line of Fire-the Morphology of Cyber Attacks
In the Line of Fire-the Morphology of Cyber Attacks
 

Último

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Último (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

10 Tips for High Performance Web Sites

  • 1. 10 Tips for High Performance Web Sites Kent Alstad VP Acceleration DevCon5 – December 2013
  • 2. Who Am I • Background – First laid hands on a microcomputer in 1977, its been downhill since then – Spent the last 15 years helping companies scale applications on a variety of platforms • Currently – – – – VP Acceleration at Radware Co-Founder of Strangeloop Networks (acquired by Radware) Pioneer in the Web Acceleration (with numerous patents) Developer and Architect of FastView • lately I am into …. – Single Page Applications (Angular, Knockout) – C++, C, C#, JavaScript, Css, Html5, NodeJs Slide 2
  • 3. Realization • A Story: Frank Stanton from CBS Radio – People are drawn to the clearest signal latency is today’s static Performance is a core value of the internet Slide 3
  • 4. Tip #1: Understand the Performance Equation • Legend: • • • • • • R: RTT: App Turns: Concurrent Requests: Cs: Cc: Response time Round Trip Time Http Requests # server sockets open by browser Server Side Compute time Client Compute time Slide 4
  • 5. Tip #2: Learn to Read a Waterfall Chart Slide 5
  • 6. Tip # 3: Measure FIRST • Real End User Monitoring – Beacon technique – Episodes (Souders), , Boomerang (http://yahoo.github.com/boomerang/doc/), Google Analytics Timing JS (http://www.google.com/analytics/ ), Omniture • Synthetic Measurement – Automates and instruments a browser – Web Page Test: Apples to apples comparisions • APM Vendors – Includes backend server agents + beacons – Gomez (DynaTrace), Radware APM, New Relic, AppDynamics • Diagnostic Tools – In browser tools: Google developer, IE9 Waterfall – Fiddler (http://www.fiddler2.com/), HTTP Watch, DynaTrace • Performance Standards from W3C – Web Timings Spec – IE9, Chrome, and Firefox – https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html Slide 6
  • 7. Tip #4: Compress Everything • On for static ALL resources by default • Compression on the server is expensive Use 1 NOT 9 • JavaScript browser test – Set header with compress JavaScript Slide 7
  • 8. Tip #5: Use a CDN • Use Microsoft or Google Free CDN sites for common JS files like jQuery – Google Hosted Libraries for: AngularJS, Chrome Frame, Dojo, Ext Cor, jQuery, jQueryUI MooTools, Prototype, script.aculo.us, SWFObject, Web Font Locator – Microsoft Ajax Content Delivery Network: jQuery, Modernizr, Ajax Control ToolKit and more… • Use CloudFront from Amazon, NetDNA, Level3, CloudFlare, and many more. Slide 8
  • 9. The CDN Effect 9.5 seconds 63 roundtrips 5.7 seconds 63 roundtrips Slide 9
  • 10. Tip #5: Browser Caching • Best caching is on the client – Use expires head to cache content on client – Use short expiries if necessary – Use finger-printing/versioning if possible • Turn it on – Get disciplined about renaming files • Be careful with long lived cache-header values, the safe limit is 2^31 – Use one year far-future expiry Slide 10
  • 11. Tip #6: Minification & Combination • Online Javascript Compressor: – http://jscompress.com/ • Online CSS Compressor: – http://shygypsy.com/cssCompress/ • Use better build scripts – e.g. ASPX ScriptManager.CompositeScript Slide 11
  • 12. Tip #6: In-line on Landing Pages <img src="data:image/png;base64,iVBORw0KGgo AAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBK E0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" /]]> ul.checklist li.complete { padding-left: 20px; background: white url('data:image/png;base64, Az3D/ …. McH8yw83NDDeNGe4Ug9C9zwz3gVLMDA/A6P9/’) no-repeat scroll left top; } • • • • • Support differs by browser Eliminate resources files by embedding them into the main page Implementations vary between browsers Embedded objects into your CSS Test every browser variation Slide 12
  • 13. Tip #7: AJAX-ify & Defer • Changing the timing on rendering – Getting users to a usable page sooner • Use the CDN libraries • You need to rethink your page design – Defer unnecessary JavaScript until after onload event Slide 13
  • 14. Tip #8: Html Caching • Output Caching • Cache Policies: – varybyQueryString – varybyHeaders • Invalidation: – CacheForTimePeriod – CacheUntilChange • Partial-Page Caching Slide 14
  • 15. Tip #9: Data Layer Caching • Concurrency in the Middle Tier is main issue – What happens when you’re wrong? – Tip: Use short timed expiry Slide 15
  • 16. Tip #10: Use Automated FEO • • • • • • • • Finger Printing Combining JavaScript Deferral CDN integration Automation Progressive Image Rendering Heuristic based Preloading Treatment by Browser Keep up with the latest trends Slide 16