SlideShare a Scribd company logo
Web Sites on Speed
Websites On Speed
Websites On Speed
Websites On Speed

Recommended for you

Chris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouChris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for You

The document discusses NoSQL databases as an alternative to SQL databases. It defines NoSQL as structured data storage that does not rely on SQL for access. The document notes that NoSQL does not mean SQL is bad, and explores when a NoSQL database may be preferable to a SQL database, such as when an application's data needs are not well suited to the transactions and joins supported by SQL. It then summarizes different types of NoSQL databases and provides MongoDB as an example use case, highlighting how it avoids some of the overhead of SQL through its flexible schema and high performance.

nosql fowa dublin
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12

Berkeley Drupal Users Group (BDUG) Slides from 7/23/12 presentation on Responsive Web Theming with Zen 5, Sass, and Compass

Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64

The document summarizes updates to Alfresco's public API, including improvements to OAuth keys that allow longer refresh times, new favorites and site membership request APIs, and examples of calling the APIs. It also outlines the roadmap to merge the APIs into the next Alfresco release and add new API types and versions.

tech talkapialfresco
About me
About me
• Tom Hughes-Croucher
About me
• Tom Hughes-Croucher
• @sh1mmer
About me
• Tom Hughes-Croucher
• @sh1mmer
• Yahoo! Technical Evangelist

Recommended for you

Doit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrdDoit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrd

doit marketing, doit-marketing, do it marketing: http://www.doitmarketing.com Website Redesign for marketing results. Special Report by Hubspot. Includes 7 specific website redesign tips for more effective small business marketing websites.

marketing coachmarketing speakerdo it marketing
Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2

This tutorial introduces about basic programming PHP. In this topic you'll learn how to code PHP and how to develop your first PHP application(Khmer Date)

beginnerphpprogramming
Searching the internet - what patent searchers should know
Searching the internet - what patent searchers should knowSearching the internet - what patent searchers should know
Searching the internet - what patent searchers should know

The document provides an overview of strategies for effective patent searching on the internet. It discusses searching the general web versus specific material types and how Google's search landscape is ever-changing. Key tips include using verbatim searching, checking dates and reliability of sources, and exploring search options beyond Google like other search engines and social media/forum tools for specialized searching. Beyond general web searches, focusing searches on specific material types and using the right tools can help find relevant patent information.

internetpatent informationsearch
About me
• Tom Hughes-Croucher
• @sh1mmer
• Yahoo! Technical Evangelist
 • Evangelism = stuff I believe in
About me
• Tom Hughes-Croucher
• @sh1mmer
• Yahoo! Technical Evangelist
 • Evangelism = stuff I believe in
• Wrote Web Standards (W3C, BSI, etc)
About me
• Tom Hughes-Croucher
• @sh1mmer
• Yahoo! Technical Evangelist
 • Evangelism = stuff I believe in
• Wrote Web Standards (W3C, BSI, etc)
• Currently doing performance research
Overview

Recommended for you

Search Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsSearch Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy Steps

This document provides an overview of search engine optimization (SEO) in 3 easy steps. Step 1 is to understand how search engines work by learning about their bots, algorithms, and what they can and cannot see on a website. Step 2 is to make the website bot-friendly by providing clean HTML code without unnecessary JavaScript or Flash that bots cannot read. Step 3 is to build an SEO toolkit for WordPress by adding relevant metadata, keywords and linking to optimize the site's discoverability. The overall goal is to empower website owners to effectively optimize their own WordPress sites for search engines.

wordpressseo
Intro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteIntro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own Website

Explores how websites work, options for building a website, free CMSs & tools, and options for marketing your site.

bloggingwebhostingwordpress
Code & design your first website (3:16)
Code & design your first website (3:16)Code & design your first website (3:16)
Code & design your first website (3:16)

This document provides an overview of how to code and design a first website. It discusses HTML, CSS, and web development fundamentals. It guides the reader through building a simple "About Me" webpage using Codepen.io to practice HTML and CSS. Tips are provided on downloading the code to a text editor and making the page viewable locally. The document also briefly touches on additional layout concepts like inline vs block elements and the box model. Overall, the document serves as an introductory tutorial for someone with little to no experience to code their first website.

Overview

• What makes a web site slow?
Overview

• What makes a web site slow?
• What can we do to make it faster?
Overview

• What makes a web site slow?
• What can we do to make it faster?
• What tools can help?
Why are web
                               sites slow?




http://www.flickr.com/photos/topaz-mcnumpty/3544574591/sizes/l/

Recommended for you

wcmia2011
wcmia2011wcmia2011
wcmia2011

The document discusses how to become a WordPress rockstar, including installing necessary software like a web server, Subversion, and text editor. It covers Subversion commands, setting up multiple WordPress installations for development, useful plugins, constants for debugging, using actions and filters in the plugin API, taking advantage of WordPress UX features, navigating the WordPress source code, contributing to core, following other community members, attending meetups and WordCamps, and information on an upcoming local meetup.

SEO made simple - SCDL Presentation
SEO made simple - SCDL PresentationSEO made simple - SCDL Presentation
SEO made simple - SCDL Presentation

The document provides an introduction to search engine optimization, explaining how search engines work, the basic SEO formula including keyword and competitor research and making pages search engine friendly, and various on-page and off-page optimization techniques one can use to improve search engine rankings. It also discusses myths about SEO and answers common questions, emphasizing the importance of ongoing research, content creation, and natural link building rather than manipulative tactics.

How To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBosHow To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBos

Dennis Lembrée gave a presentation on building accessible web applications. He covered topics like HTML semantics and structure, CSS design principles, JavaScript accessibility, ARIA roles and properties, and writing for accessibility. He used his own web application Easy Chirp as an example of an accessible site and discussed how it works across different browsers, devices, and assistive technologies.

htmlwebdevhow-to
What is a website
   made of?
What is a website
       made of?
• Content (HTML)
What is a website
       made of?
• Content (HTML)
• Images / Flash
What is a website
       made of?
• Content (HTML)
• Images / Flash
• Styles (CSS)

Recommended for you

Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18

Thinkful's live Meetups in Washington DC. Tonight we talk about coding and designing your first website.

Hyperlink.85 to 86
Hyperlink.85 to 86Hyperlink.85 to 86
Hyperlink.85 to 86

This document provides an overview of hyperlinks, including: - Hyperlinks allow pages to link to other documents, files, locations or sections using <a href> tags. - Common hyperlink attributes include href, name, target. Sample codes demonstrate linking within pages, to external sites, emails, and files. - Navigation should be clear and distinct. Common types include left, top, and tab navigation. - Anchor tags <a name> identify locations on a page, while <a href> links to those locations from other parts of the page or other pages. - Images, headings, and other elements can be made into hyperlinks by enclosing them in <a> tags

All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013 All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013

http://newtricks.me Beginners to WordPress sometimes miss the valuable role that Posts can play in making a website a Content Management System.

how to use wordpressdifference in posts and pageswordcampatlanta
What is a website
        made of?
• Content (HTML)
• Images / Flash
• Styles (CSS)
• Interaction (JavaScript)
What is a website
        made of?
• Content (HTML)
• Images / Flash
• Styles (CSS)
• Interaction (JavaScript)
• Server farm
What is a website
       made of?
• Content (HTML)
• Images / Flash
• Styles (CSS)
• Interaction (JavaScript)
• Server farm
• Maybe a database, Web services, CDN
PHP is only a part
 9%     91%

Recommended for you

Website tips and tweaks v2
Website tips and tweaks v2Website tips and tweaks v2
Website tips and tweaks v2

The document provides tips for optimizing a website, including using Google Analytics to track website activity, choosing relevant keywords, designing effective web pages, and using content management systems like Dreamweaver, Joomla, and WordPress. It recommends having multiple web pages focused on different services, and uniquely optimizing the title, description, and keywords for each page. The document also discusses using blogs, social media, mailing lists, and other tools to engage visitors and drive traffic.

SEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher WorldSEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher World

With the emergence of heavy javascript / AJAX heavy frameworks and the growing popularity of things like AngularJS, Ember, Backbone.js, CanJS, and even JQuery; making sites and single page apps crawlable to search engines are becoming increasingly difficult. It doesn't have to be. This presentation takes a look at some of the largest and trending publishers and some of the AJAX features they employ.

seoajaxpublishing
Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)

1. A website is loaded by a browser through a multi-step process involving DNS lookups, TCP connections, downloading resources like HTML, CSS, JS, and images. This process can be slow due to the number of individual requests and dependencies between resources. 2. Ways to optimize the loading process include making the server fast, inlining critical resources, gzip compression, an optimized caching strategy, optimizing file delivery through techniques like CDNs and HTTP/2, bundling resources, optimizing images, avoiding unnecessary domains, minimizing web fonts, and JavaScript techniques like PJAX. Minifying assets can also speed up loading.

Where does the
  time go?
Where does the
       time go?
• DNS lookups & HTTP requests
Where does the
       time go?
• DNS lookups & HTTP requests
• Building pages
Where does the
       time go?
• DNS lookups & HTTP requests
• Building pages
• Downloading stuff

Recommended for you

Page Performance
Page PerformancePage Performance
Page Performance

Points.com webdev lunch and learn #2: Page performance. What makes websites slow, how to make them faster.

points.comwebsite performancewebdev best practices
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...

Convincing an organization that performance matters and is worth investing in is often a tough thing to sell. This was no different at Intuit, who operated many sites built in the pre “web standards” era. Then, one day, one test changed everything – an A/B comparison successfully demonstrated that faster page loads increased conversion and SEO. And the conversation quickly changed from “Not interested” to “How quickly can you make the rest of our pages faster?” A performance team was formed, and optimization began across multiple properties in a phased approach with each release delivering incremental performance gains. As we iterated through the core performance principles, the team introduced additional techniques that led us to exceed our original performance goals. Techniques such as lazyloading, prefetching, smarter image optimization/spriting, and module rewrites enabled us to successfully shave off additional time. This session will cover the steps that we took, lessons learned including what worked well or didn’t work well, as well as the performance improvements that were realized, and their impact on business metrics. Some of the topics include: * How we went from 15s web pages to 2s web pages * How combining CSS/JS files and image sprites had both positive as well as negative impact * How lazy loading of resources and JavaScript rewrites improved our page render times (including our experiments with Control.js) * How we addressed blocking as well as high-latency third-party components * How we solved for issues/constraints arising from shared code across multiple sites * How we optimized for user flows spanning multiple pages with positive results * How automated benchmarking enabled us to continuously monitor our performance health * How we succeeded in making “performance” a common theme among developers, marketers, and stakeholders

performanceweb performanceweb development
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance

A walkthrough of various application performance tuning tools and a good workflow for where to start, from a presentation at WindyCityRails 2011 in Chicago, IL. See the video, and more Web and Ruby/Rails Performance info at www.RailsPerformance.com -John McCaffrey

railstuningchrome
Where does the
       time go?
• DNS lookups & HTTP requests
• Building pages
• Downloading stuff
• Rendering stuff
Where does the
       time go?
• DNS lookups & HTTP requests
• Building pages
• Downloading stuff
• Rendering stuff
• User Interaction
It’s about perception!
How do we speed it up?

Recommended for you

performance.ppt
performance.pptperformance.ppt
performance.ppt

This document provides practical strategies for improving front-end performance of websites. It discusses specific techniques like making fewer HTTP requests by combining files, leveraging browser caching with far-future expires headers, gzipping components, using CSS sprites, and deploying assets on a content delivery network. It also summarizes key rules from tools like YSlow and PageSpeed for optimizing front-end performance.

My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013

Drupal is a powerful and flexible tool to create web applications without building everything from scratch. This ability can drive developers to build complex websites without understanding what is Drupal doing behind the scenes. The majority of Drupal performance talks mostly focus in aspects like infrastructure changes, caching strategies or comparisons between modules and architectures. Unfortunately when performance problems occur, development teams also follow strategies to replace different aspects of the platform looking only to standard aspects like slow queries without understanding and profiling the real problem. The majority of times it is fundamental to measure and analyze what is the application is actually doing to understand te real problems. Drupal is a platform used by million of websites worlwide and its performance can in most cases be compared after measured. In Acquia we do dozens of performance assessments per year, and even in most clients we find the same problems, often we find situations that only can be detected when measured and analized when looking to a profiler report. In this session, I will explain how to detect performance problems looking to simple data, from logs to profiler data and providing some nice targets that can be analyzed to understand what is causing the uncommon bad performance of a site.

drupalxhprofperformance
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications

Slides from a brownbag tech talk at eBay. A holistic approach to web performance and intimate details on YSlow's points and grading algorithm.

ebaystoyanyahoo
How do we speed it up?
•   DNS lookups & HTTP
    requests
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

Recommended for you

Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it

This document discusses how slow loading websites can negatively impact business by reducing conversions and increasing abandonment. It covers: 1. Research showing websites that load faster increase donations, click-through rates, and conversions while decreasing abandonment. 2. How browsers load pages over TCP and HTTP, including how objects like JavaScript, CSS, images are retrieved. 3. Methods for measuring page speed like load time, start render time, and speed index. 4. Techniques for speeding up websites like GZip compression, caching, optimizing images, bundling resources, and minimizing web fonts.

optimizationweb performancehttp/2
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it

Learn: Why your website MUST be fast to be competitive, how a page is loaded by the browser, how to measure page speed and 5 simple ways to speed up YOUR website .

conversion optimization
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...

В этом докладе я собираюсь поделиться нашим опытом обхода испанского интернета. Мы поставили перед собой задачу обойти около 600 тысяч веб-сайтов в зоне .es с целью сбора статистики об узлах и их размерах. Я расскажу об архитектуре робота, хранилища, проблемах, с которыми мы столкнулись при обходе, и их решении. Наше решение доступно в форме open source фреймворка Frontera. Фреймворк позволяет построить распределенного робота для скачивания страниц из Интернета в больших объемах в реальном времени. Также он может быть использован для построения сфокусированных роботов для выкачивания подмножества заранее известных веб-сайтов. Фреймворк предлагает: настраиваемое хранилище URL документов (RDBMS или Key Value), управление стратегиями обхода, абстракцию транспортного уровня, абстракцию модуля загрузки. Доклад построен в увлекательной форме: описание проблемы, решение и проблемы, которые возникли в ходе разработки решения.

Применение bigdatahighload++
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff    ➡ Reduce the size of
                           content
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff    ➡ Reduce the size of
                           content

•   Rendering stuff
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff    ➡ Reduce the size of
                           content

•   Rendering stuff      ➡ Structure pages for
                           performance

Recommended for you

Design Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster WebsitesDesign Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster Websites

The document discusses the importance of website speed and performance. It notes that slower sites can result in lower conversion rates, more bounces, and reduced revenue. It recommends tools for measuring performance like WebPagetest and YSlow. The document outlines best practices like reducing HTTP requests through image sprites and CSS/JS combining. It suggests design techniques like using a grid system and optimizing images. The goal is to reduce page weight and browser work to achieve load times under 100ms for the best user experience.

10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition

Why is Web Performance Optimization Important and what are some things developers can do to ensure their applications perform well and please end users?

css3web design and developmentjavascript
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning

Web Performance tuning presentation given at http://www.chippewavalleycodecamp.com/ Covers basic http flow, measuring performance, common changes to improve performance now, and several tools and techniques you can use now.

performancewebcvcc
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff    ➡ Reduce the size of
                           content

•   Rendering stuff      ➡ Structure pages for
                           performance

•   User Interaction
How do we speed it up?
•   DNS lookups & HTTP   ➡ Reduce lookups and
    requests               connections

•   Building pages       ➡ Return content as fast
                           as possible

•   Downloading stuff    ➡ Reduce the size of
                           content

•   Rendering stuff      ➡ Structure pages for
                           performance

•   User Interaction     ➡ Cheat
Fixing stuff


http://www.flickr.com/photos/sharynmorrow/29351619/
1. Reduce DNS
Lookups & connections

Recommended for you

Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...

Traditionally, content delivery networks (CDNs) were known to accelerate static content. Amazon CloudFront has come a long way and now supports delivery of entire websites that include dynamic and static content. In this session, we introduce you to CloudFront’s dynamic delivery features that help improve the performance, scalability, and availability of your website while helping you lower your costs. We talk about architectural patterns such as SSL termination, close proximity connection termination, origin offload with keep-alive connections, and last-mile latency improvement. Also learn how to take advantage of Amazon Route 53's health check, automatic failover, and latency-based routing to build highly available web apps on AWS.

awsaws cloudaws summit 2014
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications

My talking points for the presentation on optimization of modern web applications. It is a huge topic, and I concentrated mostly on technical aspects of it.

optimizationapplicationsweb
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!

Is your farm struggling to server your organization? How long is it taking between page requests? Where is your bottleneck in your farm? Is your SQL Server tuned properly? Worried about upgrading due to poor performance? We will look at various tools for analyzing and measuring performance of your farm. We will look at simple SharePoint and IIS configuration options to instantly improve performance. I will discuss advanced approaches for analyzing, measuring and implementing optimizations in your farm as well as Performance Improvements in SharePoint 2013.

farmnetworkinfrastructure
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
 • 301, 302, location.href=...
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
 • 301, 302, location.href=...
• Combine CSS and Javascript files into a
  single file for each type

Recommended for you

WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps

Taylor Jasko gave a presentation on building WordPress web applications (webapps) to provide faster site performance. Some key points included: 1) Webapps are like desktop applications that use the latest technologies and feel native on devices. 2) WordPress can be used to create webapps by leveraging plugins, templating, and custom fields. 3) Performance can be improved by rendering content dynamically with JSON/JavaScript instead of traditional HTML pages. This reduces page size and load times. 4) Caching and cache busting techniques like hashing can make the content nearly instantly for users while still allowing search engines to crawl pages.

wordpresswebapptheme
Speed Matters
Speed MattersSpeed Matters
Speed Matters

As we build richer, more complex web applications it’s easy to forget that speed is the cornerstone of user experience. Bing have found that a 2 second delay reduces revenue by 4%. Google know that half a second delay drops traffic by 20%. AOL have shown that users with a speedy experience stay 50% longer than users who have to wait. The evidence is clear – speed matters. What’s more, most latency comes from the front-end, not the backend so the fixes are not specific to a particular platform. This session will examine a range of techniques from DOM & CSS tricks to web server and HTTP tweaks that can help improve front-end performance by 25-50%. Whether you’re looking to save bandwidth, increase your conversion rate, retain visitors, save time or just make your users happy – the speed of your site matters.

htmloptimisationcss
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson

This document discusses web performance optimization techniques. It is a summary of rules for web performance by Mark Tomlinson, who has 27 years of experience in performance. Some of the key techniques discussed include reducing HTTP requests, optimizing file compression, minimizing code, improving web font and image performance, prefetching resources, avoiding unnecessary redirects, and optimizing infrastructure and databases. The document emphasizes measuring performance through load testing and monitoring to identify bottlenecks.

Simple Combo Handler
$combo = preg_replace('/^.*?/', '',
$_SERVER['REQUEST_URI']);

$sources = split('&', $combo);

header('Content-type: text/javascript');

foreach($sources as $source) {
   // TODO: Verify that $source is safe and exists
   include("/var/www/$source");
}
1. Reduce DNS
Lookups & connections
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
 • 301, 302, location.href=...
• Combine CSS and Javascript files into a
  single file for each type
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
 • 301, 302, location.href=...
• Combine CSS and Javascript files into a
  single file for each type
• Combine decorative images into sprites

Recommended for you

How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm

This document provides recommendations for optimizing performance of a SharePoint farm. It suggests architecting the farm with separate web, service application, and database servers. It also provides tips for SQL Server tuning, such as setting the maximum RAM, formatting disks, and configuring maintenance plans. Additionally, it recommends techniques like caching, minimizing page size, limiting navigation depth, and leveraging tools to identify bottlenecks. The overall message is to consider each layer of the farm and apply techniques like caching, SQL optimization, and network configuration to improve performance.

Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to  Build Great  Streaming Services - HTML5 Dev ConfUsing Node.js to  Build Great  Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf

The document discusses using Node.js to build streaming services. It describes how Node.js allows for scalable server-side code using JavaScript and mentions libraries like JSONStream that can be used to parse JSON streams. The document also discusses different types of streaming like simplex, throughput, and duplex streaming and how to manage backpressure in streams.

node.jsnodenodejs
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012

Streams are awesome.

node.jsnodenodejs
30px




30px

       0px
Websites On Speed
1. Reduce DNS
Lookups & connections
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
  • 301, 302, location.href=...
• Combine CSS and Javascript files into a
  single file for each type
• Combine decorative images into sprites

Recommended for you

Using Node.js to improve the performance of Mobile apps and Mobile web
Using Node.js to improve  the performance of  Mobile apps and Mobile webUsing Node.js to improve  the performance of  Mobile apps and Mobile web
Using Node.js to improve the performance of Mobile apps and Mobile web

The document is a presentation about using Node.js to improve mobile app and mobile web performance. It discusses how Node.js can help address issues like high latency on mobile networks by allowing for event-driven and asynchronous server-side code. It also covers how Node.js helps optimize resource usage on mobile devices.

node.jsvelocityconfnode
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications

This document provides an introduction and overview of a Node.js tutorial presented by Tom Hughes-Croucher. The tutorial covers topics such as building scalable server-side code with JavaScript using Node.js, debugging Node.js applications, using frameworks like Express.js, and best practices for deploying Node.js applications in production environments. The tutorial includes exercises for hands-on learning and demonstrates tools and techniques like Socket.io, clustering, error handling and using Redis with Node.js applications.

node.jsfluentconfjavascript
Creating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfCreating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent Conf

This document discusses how JavaScript is well-suited for creating applications for the Internet of Things. It notes that batteries and network bandwidth have improved over time based on various laws, but batteries have improved more slowly. It advocates for an event-driven programming model where devices only transmit interesting event data rather than a continuous stream of sensor data. This reduces power consumption and data transmission costs. JavaScript is highlighted as an easy way to create dynamic IoT applications that can be updated over the network. Example IoT development platforms that use JavaScript like BeagleBone and NinjaBlocks are also mentioned.

javascriptinternet of things
1. Reduce DNS
Lookups & connections
• Reduce the number of domains (2-4)
• Avoid redirects
  • 301, 302, location.href=...
• Combine CSS and Javascript files into a
  single file for each type
• Combine decorative images into sprites
• Cache aggressively
1. Reduce DNS
 Lookups & connections

<Location /static>
   ExpiresActive On
   ExpiresDefault     "access plus 1 year"
</Location>
2. Return Quickly
2. Return Quickly


• Get the first chunk of bytes out as soon as
  possible

Recommended for you

Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone

The document discusses using Node.js to build scalable server-side code with JavaScript in a way that works for all users regardless of device or browser capabilities. It covers topics like balancing goals of speed, maintainability and cost when building applications that need to work across computers, mobile phones and other devices with varying processing power and bandwidth. It provides examples of using JSON instead of HTML for lightweight data transfer and techniques like client-side MVC patterns and templates. It also emphasizes the importance of server-side fallbacks for HTML5 features not supported on all browsers to ensure a good experience for all users.

html5 node.js javascript
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale

This document discusses benchmarks and performance testing of Node.js. It notes that while Node.js can handle over 1 million connections, benchmarks are not that important as other factors like productivity. It explores how to meaningfully measure Node.js performance, compares Node.js to other frameworks like Erlang and Tornado, and argues that benchmarks should reflect real-world use cases rather than simplistic "hello world" tests. The document questions overreliance on benchmarks and emphasizes picking the right tool based on the task.

OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial

This document provides an overview and summary of a Node.js workshop presented by Tom Hughes-Croucher. The workshop covers: 1. Why use server-side JavaScript and how Node.js enables this through its event-driven and non-blocking architecture. 2. An introduction to Node.js, including how to install Node.js and build basic HTTP servers. 3. More advanced Node.js topics like modules, events, streams, debugging, and popular frameworks like Express.js. 4. Exercises are provided to help attendees get hands-on experience building Node.js applications.

node.js node
2. Return Quickly


• Get the first chunk of bytes out as soon as
  possible
• Flush often
Websites On Speed
Websites On Speed
Websites On Speed

Recommended for you

Lessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaLessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @Media

This document provides lessons from a coding veteran organized into 3 rules. Rule 1 is to avoid complexity by having a clear goal, writing understandable code, picking conventions, and using abstraction wisely. Rule 2 is not to optimize too soon, and to rewrite code that is better understood, documenting any optimizations and using tools when possible. Rule 3 acknowledges that rules will be broken for deadlines, but that breaking rules requires cleanup and is not sustainable, advising to focus on Rules 1 and 2 for future success.

wdxtomhughescrouchernodejs
Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011

1. The document discusses multi-tiered Node.js architectures to improve scalability and efficiency. It suggests moving non-client facing work like logging and processing to separate "farms" or clusters to avoid blocking the main event loop. 2. Another approach presented is to use front-end clusters or "shards" to distribute client requests across multiple Node processes to take advantage of parallel processing. This improves response times. 3. The key goals are to minimize client response times by keeping the main event loop available, while maximizing server resource efficiency by moving heavy processing tasks out of the main process.

nodejstom hughes-croucherjsconf2011
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...

Node.js and JavaScript are well-suited for Internet applications because Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, capable of supporting many more concurrent connections than traditional server-side models like Apache. This event loop system allows Node.js to handle multiple requests simultaneously without blocking any specific request. It also minimizes memory usage so more requests can be served from fewer servers.

nodejsnodeinternet
Websites On Speed
2. Return Quickly
2. Return Quickly
• Get the first chunk of bytes out as soon as
  possible
• Flush often
2. Return Quickly
• Get the first chunk of bytes out as soon as
  possible
• Flush often
• Don't bother your server with static
  content

Recommended for you

A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...

Increasingly we want to do more with the web and Internet applications we build. We have more features, more data, more users, more devices and all of it needs to be in real-time. With all of these demands how can we keep up? The answer is choosing a language and a platform that are optimized for the kind of architecture Internet and web applications really have. The traditional approach prioritises computation, assigning server resources before they are actually needed. JavaScript and Node.js both take an event driven approach only assigning resources to events as they happen. This allows us to make dramatic gains in performance and resource utilization while still having an environment which is fun and easy to program.

nodejsnodedyncon
How to stop writing spaghetti code
How to stop writing spaghetti codeHow to stop writing spaghetti code
How to stop writing spaghetti code
nodejsnodeyui
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthDoing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South

Doing horrible things to DNS involves using CNAME records to create multiple domain names that resolve to the same IP addresses. This allows making a single DNS query but receiving responses for multiple domains, enabling more parallel HTTP requests. The technique involves creating a chain of CNAME records that ultimately resolve to a single canonical name, gaining the ability to load resources from different apparent hostnames while only requiring one DNS lookup.

wdxtomhughescroucherweb directions
2. Return Quickly
• Get the first chunk of bytes out as soon as
  possible
• Flush often
• Don't bother your server with static
  content
• Cache expensive back end calls, and use a
  front-end cache
2. Return Quickly
Cache expensive back end calls, and use a front-end cache
2. Return Quickly
2. Return Quickly
• Get the first chunk of bytes out as soon as
  possible
• Flush often
• Don't bother your server with static content
• Cache expensive back end calls, and use a
  front-end cache

Recommended for you

Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupDoing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup

The document discusses techniques for improving website performance through modifications to DNS. It describes how serial HTTP loading is slower than parallel loading due to round trip times for DNS lookups. It then evaluates options for implementing parallel DNS lookups, including using CNAME records to alias multiple hostnames to a single IP address, and placing additional IP addresses in the answer or additional sections of DNS responses to allow parallel lookups. While these techniques could improve performance, they may violate DNS standards or caching assumptions.

yahooperformanceweb performance
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...

Node.js allows JavaScript to be used for server-side programming. It is a popular choice because JavaScript programmers can reuse code and libraries on both the client-side and server-side. Node.js is also fast and non-blocking which allows for high concurrency levels. The Node.js ecosystem includes many libraries like Express for building web servers and Mustache.js for templating that make building server-side JavaScript applications easy.

How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010
nodejsconfevent driven
2. Return Quickly
• Get the first chunk of bytes out as soon as
  possible
• Flush often
• Don't bother your server with static content
• Cache expensive back end calls, and use a
  front-end cache
• Reduce MaxClients in apache
3. Slim down
3. Slim down
•   gzip content over the wire
3. Slim down
•   gzip content over the wire
•   Minify CSS and Javascript (use YUI
    Compressor) & Optimise images (use smush.it)

Recommended for you

Sf perf
Sf perfSf perf
Sf perf

The document discusses techniques for improving website performance through modifications to DNS. It describes how serial HTTP loading is slower than parallel loading due to round trip times for DNS lookups. It then evaluates options for implementing parallel DNS lookups, including using CNAME records to alias multiple hostnames to a single IP address, and placing additional IP addresses in the answer or additional sections of DNS responses to allow parallel hostname resolutions. While these techniques could improve performance, they may violate DNS standards or caching assumptions.

Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming  Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming

Node.js is a highly concurrent JavaScript server written on top of the V8 JavaScript runtime. This is awesome for a number of reasons. Firstly Node.js has re-architected some of the core module of V8 to create a server implementation that is non-blocking (similar to other event driven frameworks like Ruby’s Event Machine or Python’s Twisted). Event driven architectures are a natural fit for JavaScript developers because it’s already how the browser works. By using an event driven framework Node is not only intuitive to use but also highly scalable. Tests have shown Node instances running tens of thousands of simultaneous users. This session will explore the architectural basics of Node.js and how it’s different from blocking server implementations such as PHP, Rail or Java Servlets. We’ll explore some basic examples of creating a simple server, dealing with HTTP requests, etc. The bigger question is once we have this awesome programming environment, what do we do with it? Node already has a really vibrant collection of modules which provide a range of functionality. Demystifying what’s available is pretty important to actually getting stuff done with Node. Since Node itself is very low level, lot’s of things people expect in web servers aren’t automatically there (for example, request routing). In order to help ease people into using Node this session will look at a range of the best modules for Node.js.

tomhughescrouchernodejsnode
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet

This document discusses using JavaScript on the server side with Node.js and the YUI framework. It begins by explaining why server-side JavaScript is useful and discusses JavaScript runtimes like V8, SpiderMonkey, and Rhino. It then covers Node.js, CommonJS frameworks, and how to use YUI modules on the server by enabling YUI's module loader. Examples are provided for accessing remote data, rendering HTML on the server, and implementing progressive enhancement.

wdxnodejsjavascript
3. Slim down
•   gzip content over the wire
•   Minify CSS and Javascript (use YUI
    Compressor) & Optimise images (use smush.it)
•   Avoid duplicate CSS and Javascript files
3. Slim down
•   gzip content over the wire
•   Minify CSS and Javascript (use YUI
    Compressor) & Optimise images (use smush.it)
•   Avoid duplicate CSS and Javascript files
•   Reduce cookie size
3. Slim down
•   gzip content over the wire
•   Minify CSS and Javascript (use YUI
    Compressor) & Optimise images (use smush.it)
•   Avoid duplicate CSS and Javascript files
•   Reduce cookie size
•   Use a CDN
3. Slim down
•   gzip content over the wire
•   Minify CSS and Javascript (use YUI
    Compressor) & Optimise images (use smush.it)
•   Avoid duplicate CSS and Javascript files
•   Reduce cookie size
•   Use a CDN
•   Post-load components

Recommended for you

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf

These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.

air force fighter planebiggest submarinezambia port
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx

MuleSoft Meetup on APM and IDP

mulesoftai
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf

To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.

data recoverydatadiskwarrior
4. Restructure pages
4. Restructure pages
• Put CSS at the top to avoid having to
  redraw the page later
4. Restructure pages
• Put CSS at the top to avoid having to
  redraw the page later
• Put Javascript at the bottom so that it
  doesn't block rendering
4. Restructure pages
• Put CSS at the top to avoid having to
  redraw the page later
• Put Javascript at the bottom so that it
  doesn't block rendering
• Avoid tables for layout

Recommended for you

Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...

Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.

insider securitycybersecurity threatsenterprise security
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx

This is a slide deck that showcases the updates in Microsoft Copilot for May 2024

microsoftmicrosoft copilot
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference

We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner! We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too! Check out our proposed agenda below 👇👇 08:30 ☕ Welcome coffee (30') 09:00 Opening note/ Intro to UiPath Community (10') Cristina Vidu, Global Manager, Marketing Community @UiPath Dawid Kot, Digital Transformation Lead @Proservartner 09:10 Cloud migration - Proservartner & DOVISTA case study (30') Marcin Drozdowski, Automation CoE Manager @DOVISTA Pawel Kamiński, RPA developer @DOVISTA Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner 09:40 From bottlenecks to breakthroughs: Citizen Development in action (25') Pawel Poplawski, Director, Improvement and Automation @McCormick & Company Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company 10:05 Next-level bots: API integration in UiPath Studio (30') Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner 10:35 ☕ Coffee Break (15') 10:50 Document Understanding with my RPA Companion (45') Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath 11:35 Power up your Robots: GenAI and GPT in REFramework (45') Krzysztof Karaszewski, Global RPA Product Manager 12:20 🍕 Lunch Break (1hr) 13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30') Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance 13:50 Communications Mining - focus on AI capabilities (30') Thomasz Wierzbicki, Business Analyst @Office Samurai 14:20 Polish MVP panel: Insights on MVP award achievements and career profiling

#uipathcommunity#automation#automationdeveloper
4. Restructure pages
• Put CSS at the top to avoid having to
  redraw the page later
• Put Javascript at the bottom so that it
  doesn't block rendering
• Avoid tables for layout
• Delay loading of invisible content
4. Restructure pages
• Put CSS at the top to avoid having to
  redraw the page later
• Put Javascript at the bottom so that it
  doesn't block rendering
• Avoid tables for layout
• Delay loading of invisible content
• Reduce the number of HTML elements
5. Cheat the DOM
5. Cheat the DOM
•   Attach events on a container rather than on
    each element

Recommended for you

Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...

Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge. You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter. The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.

dartflutteropenssf
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf

Support en anglais diffusé lors de l'événement 100% IA organisé dans les locaux parisiens d'Iguane Solutions, le mardi 2 juillet 2024 : - Présentation de notre plateforme IA plug and play : ses fonctionnalités avancées, telles que son interface utilisateur intuitive, son copilot puissant et des outils de monitoring performants. - REX client : Cyril Janssens, CTO d’ easybourse, partage son expérience d’utilisation de notre plateforme IA plug & play.

genaicloudrgpd
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL

Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.

blockchainweb3blockchain technology
5. Cheat the DOM
•   Attach events on a container rather than on
    each element
•   Delay event attachment
5. Cheat the DOM
•   Attach events on a container rather than on
    each element
•   Delay event attachment
•   Cache DOM elements and work on invisible
    elements
5. Cheat the DOM
•   Attach events on a container rather than on
    each element
•   Delay event attachment
•   Cache DOM elements and work on invisible
    elements
•   Reduce iterations on DOM elements
5. Cheat the DOM
•   Attach events on a container rather than on
    each element
•   Delay event attachment
•   Cache DOM elements and work on invisible
    elements
•   Reduce iterations on DOM elements
•   Use more specific, semantically correct HTML
    tags

Recommended for you

Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry

Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data. The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs. Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution! Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.

cloudcloud native observabilitycloud native
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf

As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models. This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through: - Standard ways of running dbt (and when to utilize other methods) - How Cosmos can be used to run and visualize your dbt projects in Airflow - Common challenges and how to address them, including performance, dependency conflicts, and more - How running dbt projects in Airflow helps with cost optimization Webinar given on 9 July 2024

apache airflowdbtdbt-core
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...

Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)

user modelinguser profilinguser model
Use the right tags

<div>
   <div>
       <input class="entry" name="larry">
       <input class="entry" name="curly">
   </div>
   <div>
       <input class="entry" name="moe">
   </div>
</div>
Use the right tags

<ul>
   <li>
      <input class="entry" name="larry">
      <input class="entry" name="curly">
   </li>
   <li>
      <input class="entry" name="moe">
   </li>
</ul>
5. Cheat the DOM
5. Cheat the DOM
•   Attach events on a container rather than on each
    element
•   Delay event attachment
•   Cache DOM elements and work on invisible elements
•   Reduce iterations on DOM elements
•   Use more specific, semantically correct HTML tags

Recommended for you

The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses

CIO Council Cal Poly Humboldt September 22, 2023

national research platformdistributed supercomputerdistributed systems
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf

Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment. How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.

pigging solutionsprocess piggingproduct transfers
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024

Everything that I found interesting about engineering leadership last month

quantumfaxmachine
5. Cheat the DOM
•   Attach events on a container rather than on each
    element
•   Delay event attachment
•   Cache DOM elements and work on invisible elements
•   Reduce iterations on DOM elements
•   Use more specific, semantically correct HTML tags
•   Use local copies of global variables
5. Cheat the DOM
•   Attach events on a container rather than on each
    element
•   Delay event attachment
•   Cache DOM elements and work on invisible elements
•   Reduce iterations on DOM elements
•   Use more specific, semantically correct HTML tags
•   Use local copies of global variables
•   Profile your Javascript (use YUI Profiler)
More tips
More tips


• Preload expected content

Recommended for you

Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection

Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.

cybersecurityanomaly detectionadvanced techniques
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems

Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states. In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing. Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.

RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx

Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation

rpa in healthcarerpa in healthcare usarpa in healthcare industry
Websites On Speed
More tips
More tips


• Preload expected content
More tips


• Preload expected content
• Progressively enhance your pages

Recommended for you

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf

Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.

neo4jneo4j webinarsgraph database
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy

Not so much to say

It’s about perception!
More tips
More tips

• Preload expected content
• Progressively enhance your pages
More tips

• Preload expected content
• Progressively enhance your pages
• Use <link> instead of @import and avoid
  CSS expressions

Recommended for you

More tips

• Preload expected content
• Progressively enhance your pages
• Use <link> instead of @import and avoid
  CSS expressions
• Avoid 404s and reduce IFRAMEs
Websites On Speed
Websites On Speed
Websites On Speed

Recommended for you

More tips
More tips
• Preload expected content
• Progressively enhance your pages
• Use <link> instead of @import and avoid
  CSS expressions
• Avoid 404s and reduce IFRAMEs
More tips
• Preload expected content
• Progressively enhance your pages
• Use <link> instead of @import and avoid
  CSS expressions
• Avoid 404s and reduce IFRAMEs
• Turn off .htaccess
YSlow

Recommended for you

YSlow
• Firebug plugin to analyse pages for
  performance gotchas
YSlow
• Firebug plugin to analyse pages for
  performance gotchas
• http://developer.yahoo.com/yslow/
YSlow
• Firebug plugin to analyse pages for
  performance gotchas
• http://developer.yahoo.com/yslow/
• Follow YSlow's advice to improve page
  performance
YSlow
• Firebug plugin to analyse pages for
  performance gotchas
• http://developer.yahoo.com/yslow/
• Follow YSlow's advice to improve page
  performance
• Try Sergey Chernyshev's ShowSlow to
  automate YSlow usage

Recommended for you

Websites On Speed
Tools


http://www.flickr.com/photos/bre/552152780/sizes/l/
Tools
•   YSlow: developer.yahoo.com/yslow/
•   SmushIt: smushit.com
•   CSS Sprites: pt.spritegen.website-performance.org
•   YUI Profiler: developer.yahoo.com/yui/profiler/
•   ShowSlow: showslow.com
•   Webpage Test: webpagetest.org
•   Page Speed: code.google.com/speed/page-speed
Conclusion
• Don't optimise prematurely. Profile first.
• Go for the low hanging fruit. Configuration
  is cheaper than redevelopment.
• Performance is not the same as scalability,
  you probably need both.
• KISS

Recommended for you

Credits
•   The following people were directly or indirectly
    involved in research leading to this content:
    •   Stoyan Stefanov, Nicole Sullivan, Tenni
        Theurer, Wayne Shea,
    •   Julien Lecompte, Iain Lamb, Philip Tellis,
        Subramanyan Murali,
    •   Nicholas Zakas, Jimmy Byrum, Steve Souders
•   http://developer.yahoo.net/performance
Questions
            Tom Hughes-Croucher
           croucher@yahoo-inc.com
        @sh1mmer & @ydn on Twitter



http://speakerrate.com/sh1mmer      Rate me!

More Related Content

What's hot

Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
CgColors
 
Design and CSS
Design and CSSDesign and CSS
Design and CSS
nolly00
 
Meta tag creation
Meta tag creationMeta tag creation
Meta tag creation
AniketTiwari26
 
Chris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouChris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for You
Carsonified Team
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12
ucbdrupal
 
Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64
Alfresco Software
 
Doit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrdDoit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrd
David Newman - doitmarketing
 
Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2
Kensaku Suzuki
 
Searching the internet - what patent searchers should know
Searching the internet - what patent searchers should knowSearching the internet - what patent searchers should know
Searching the internet - what patent searchers should know
Eric Sieverts
 
Search Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsSearch Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy Steps
Anna Belle Leiserson
 
Intro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteIntro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own Website
Tom McCracken
 
Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)
Thinkful
 
wcmia2011
wcmia2011wcmia2011
wcmia2011
Ptah Dunbar
 
SEO made simple - SCDL Presentation
SEO made simple - SCDL PresentationSEO made simple - SCDL Presentation
SEO made simple - SCDL Presentation
TheWebMob
 
How To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBosHow To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBos
Dennis Lembree
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18
TJ Stalcup
 
Hyperlink.85 to 86
Hyperlink.85 to 86Hyperlink.85 to 86
Hyperlink.85 to 86
myrajendra
 
All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013 All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013
New Tricks
 
Website tips and tweaks v2
Website tips and tweaks v2Website tips and tweaks v2
Website tips and tweaks v2
Joe Seanor
 
SEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher WorldSEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher World
Eric Wu
 

What's hot (20)

Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
Design and CSS
Design and CSSDesign and CSS
Design and CSS
 
Meta tag creation
Meta tag creationMeta tag creation
Meta tag creation
 
Chris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for YouChris Lea - What does NoSQL Mean for You
Chris Lea - What does NoSQL Mean for You
 
BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12BDUG Responsive Web Theming - 7/23/12
BDUG Responsive Web Theming - 7/23/12
 
Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64Alfresco tech talk live public api episode 64
Alfresco tech talk live public api episode 64
 
Doit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrdDoit marketing doit-marketing-webrd
Doit marketing doit-marketing-webrd
 
Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2Ws phpl1 php_apps_basics_1.2
Ws phpl1 php_apps_basics_1.2
 
Searching the internet - what patent searchers should know
Searching the internet - what patent searchers should knowSearching the internet - what patent searchers should know
Searching the internet - what patent searchers should know
 
Search Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy StepsSearch Engine Optimize for WordPress in 3 Easy Steps
Search Engine Optimize for WordPress in 3 Easy Steps
 
Intro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own WebsiteIntro to Building & Marketing Your Own Website
Intro to Building & Marketing Your Own Website
 
Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)Code &amp; design your first website (3:16)
Code &amp; design your first website (3:16)
 
wcmia2011
wcmia2011wcmia2011
wcmia2011
 
SEO made simple - SCDL Presentation
SEO made simple - SCDL PresentationSEO made simple - SCDL Presentation
SEO made simple - SCDL Presentation
 
How To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBosHow To Build An Accessible Web Application - a11yBos
How To Build An Accessible Web Application - a11yBos
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18
 
Hyperlink.85 to 86
Hyperlink.85 to 86Hyperlink.85 to 86
Hyperlink.85 to 86
 
All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013 All about WordPress Posts and Pages WordCamp 2013
All about WordPress Posts and Pages WordCamp 2013
 
Website tips and tweaks v2
Website tips and tweaks v2Website tips and tweaks v2
Website tips and tweaks v2
 
SEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher WorldSEO AJAX Crawlability in a Responsive Publisher World
SEO AJAX Crawlability in a Responsive Publisher World
 

Similar to Websites On Speed

Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)
strommen
 
Page Performance
Page PerformancePage Performance
Page Performance
atorreno
 
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Jay Hung
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
John McCaffrey
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
fakeaccount225095
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013
hernanibf
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
Stoyan Stefanov
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
strommen
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
Robert Flournoy
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Ontico
 
Design Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster WebsitesDesign Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster Websites
Jonathan Klein
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
Chris Love
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
John McCaffrey
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Amazon Web Services
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications
Eugene Lazutkin
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
Brian Culver
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
tjasko
 
Speed Matters
Speed MattersSpeed Matters
Speed Matters
Mark Stanton
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
Neotys
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 

Similar to Websites On Speed (20)

Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)Building Lightning Fast Websites (for Twin Cities .NET User Group)
Building Lightning Fast Websites (for Twin Cities .NET User Group)
 
Page Performance
Page PerformancePage Performance
Page Performance
 
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
Velocity NY 2013 - From Slow to Fast: Improving Performance on Intuit Website...
 
Windycityrails page performance
Windycityrails page performanceWindycityrails page performance
Windycityrails page performance
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013My Site is slow - Drupal Camp London 2013
My Site is slow - Drupal Camp London 2013
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...Frontera распределенный робот для обхода веба в больших объемах / Александр С...
Frontera распределенный робот для обхода веба в больших объемах / Александр С...
 
Design Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster WebsitesDesign Camp Boston - Designing Faster Websites
Design Camp Boston - Designing Faster Websites
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
Dynamic Content Acceleration: Lightning Fast Web Apps with Amazon CloudFront ...
 
Optimization of modern web applications
Optimization of modern web applicationsOptimization of modern web applications
Optimization of modern web applications
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
 
WordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress WebappsWordCamp 2012 - WordPress Webapps
WordCamp 2012 - WordPress Webapps
 
Speed Matters
Speed MattersSpeed Matters
Speed Matters
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 

More from Tom Croucher

Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to  Build Great  Streaming Services - HTML5 Dev ConfUsing Node.js to  Build Great  Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Tom Croucher
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Tom Croucher
 
Using Node.js to improve the performance of Mobile apps and Mobile web
Using Node.js to improve  the performance of  Mobile apps and Mobile webUsing Node.js to improve  the performance of  Mobile apps and Mobile web
Using Node.js to improve the performance of Mobile apps and Mobile web
Tom Croucher
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
Tom Croucher
 
Creating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfCreating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent Conf
Tom Croucher
 
Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone
Tom Croucher
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
Tom Croucher
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial
Tom Croucher
 
Lessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaLessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @Media
Tom Croucher
 
Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011
Tom Croucher
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
Tom Croucher
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
Tom Croucher
 
How to stop writing spaghetti code
How to stop writing spaghetti codeHow to stop writing spaghetti code
How to stop writing spaghetti code
Tom Croucher
 
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthDoing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
Tom Croucher
 
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupDoing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Tom Croucher
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
Tom Croucher
 
How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010
Tom Croucher
 
Sf perf
Sf perfSf perf
Sf perf
Tom Croucher
 
Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming  Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming
Tom Croucher
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet
Tom Croucher
 

More from Tom Croucher (20)

Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
Using Node.js to  Build Great  Streaming Services - HTML5 Dev ConfUsing Node.js to  Build Great  Streaming Services - HTML5 Dev Conf
Using Node.js to Build Great Streaming Services - HTML5 Dev Conf
 
Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012 Streams are Awesome - (Node.js) TimesOpen Sep 2012
Streams are Awesome - (Node.js) TimesOpen Sep 2012
 
Using Node.js to improve the performance of Mobile apps and Mobile web
Using Node.js to improve  the performance of  Mobile apps and Mobile webUsing Node.js to improve  the performance of  Mobile apps and Mobile web
Using Node.js to improve the performance of Mobile apps and Mobile web
 
Writing robust Node.js applications
Writing robust Node.js applicationsWriting robust Node.js applications
Writing robust Node.js applications
 
Creating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent ConfCreating the Internet of Things with JavaScript - Fluent Conf
Creating the Internet of Things with JavaScript - Fluent Conf
 
Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone Using Node.js to make HTML5 work for everyone
Using Node.js to make HTML5 work for everyone
 
A million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scaleA million connections and beyond - Node.js at scale
A million connections and beyond - Node.js at scale
 
OSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js TutorialOSCON 2011 - Node.js Tutorial
OSCON 2011 - Node.js Tutorial
 
Lessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @MediaLessons from a coding veteran - Web Directions @Media
Lessons from a coding veteran - Web Directions @Media
 
Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011Multi-tiered Node Architectures - JSConf 2011
Multi-tiered Node Architectures - JSConf 2011
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...A language for the Internet: Why JavaScript and Node.js is right for Internet...
A language for the Internet: Why JavaScript and Node.js is right for Internet...
 
How to stop writing spaghetti code
How to stop writing spaghetti codeHow to stop writing spaghetti code
How to stop writing spaghetti code
 
Doing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions SouthDoing Horrible Things with DNS - Web Directions South
Doing Horrible Things with DNS - Web Directions South
 
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance MeetupDoing Horrible Things to DNS in the Name of Science - SF Performance Meetup
Doing Horrible Things to DNS in the Name of Science - SF Performance Meetup
 
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
JavaScript is the new black - Why Node.js is going to rock your world - Web 2...
 
How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010How to stop writing spaghetti code - JSConf.eu 2010
How to stop writing spaghetti code - JSConf.eu 2010
 
Sf perf
Sf perfSf perf
Sf perf
 
Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming  Node.js and How JavaScript is Changing Server Programming
Node.js and How JavaScript is Changing Server Programming
 
Server Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yetServer Side JavaScript - You ain't seen nothing yet
Server Side JavaScript - You ain't seen nothing yet
 

Recently uploaded

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 

Recently uploaded (20)

INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 

Websites On Speed

  • 1. Web Sites on Speed
  • 6. About me • Tom Hughes-Croucher
  • 7. About me • Tom Hughes-Croucher • @sh1mmer
  • 8. About me • Tom Hughes-Croucher • @sh1mmer • Yahoo! Technical Evangelist
  • 9. About me • Tom Hughes-Croucher • @sh1mmer • Yahoo! Technical Evangelist • Evangelism = stuff I believe in
  • 10. About me • Tom Hughes-Croucher • @sh1mmer • Yahoo! Technical Evangelist • Evangelism = stuff I believe in • Wrote Web Standards (W3C, BSI, etc)
  • 11. About me • Tom Hughes-Croucher • @sh1mmer • Yahoo! Technical Evangelist • Evangelism = stuff I believe in • Wrote Web Standards (W3C, BSI, etc) • Currently doing performance research
  • 13. Overview • What makes a web site slow?
  • 14. Overview • What makes a web site slow? • What can we do to make it faster?
  • 15. Overview • What makes a web site slow? • What can we do to make it faster? • What tools can help?
  • 16. Why are web sites slow? http://www.flickr.com/photos/topaz-mcnumpty/3544574591/sizes/l/
  • 17. What is a website made of?
  • 18. What is a website made of? • Content (HTML)
  • 19. What is a website made of? • Content (HTML) • Images / Flash
  • 20. What is a website made of? • Content (HTML) • Images / Flash • Styles (CSS)
  • 21. What is a website made of? • Content (HTML) • Images / Flash • Styles (CSS) • Interaction (JavaScript)
  • 22. What is a website made of? • Content (HTML) • Images / Flash • Styles (CSS) • Interaction (JavaScript) • Server farm
  • 23. What is a website made of? • Content (HTML) • Images / Flash • Styles (CSS) • Interaction (JavaScript) • Server farm • Maybe a database, Web services, CDN
  • 24. PHP is only a part 9% 91%
  • 25. Where does the time go?
  • 26. Where does the time go? • DNS lookups & HTTP requests
  • 27. Where does the time go? • DNS lookups & HTTP requests • Building pages
  • 28. Where does the time go? • DNS lookups & HTTP requests • Building pages • Downloading stuff
  • 29. Where does the time go? • DNS lookups & HTTP requests • Building pages • Downloading stuff • Rendering stuff
  • 30. Where does the time go? • DNS lookups & HTTP requests • Building pages • Downloading stuff • Rendering stuff • User Interaction
  • 32. How do we speed it up?
  • 33. How do we speed it up? • DNS lookups & HTTP requests
  • 34. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections
  • 35. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages
  • 36. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible
  • 37. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff
  • 38. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff ➡ Reduce the size of content
  • 39. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff ➡ Reduce the size of content • Rendering stuff
  • 40. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff ➡ Reduce the size of content • Rendering stuff ➡ Structure pages for performance
  • 41. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff ➡ Reduce the size of content • Rendering stuff ➡ Structure pages for performance • User Interaction
  • 42. How do we speed it up? • DNS lookups & HTTP ➡ Reduce lookups and requests connections • Building pages ➡ Return content as fast as possible • Downloading stuff ➡ Reduce the size of content • Rendering stuff ➡ Structure pages for performance • User Interaction ➡ Cheat
  • 44. 1. Reduce DNS Lookups & connections
  • 45. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4)
  • 46. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects
  • 47. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=...
  • 48. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=... • Combine CSS and Javascript files into a single file for each type
  • 49. Simple Combo Handler $combo = preg_replace('/^.*?/', '', $_SERVER['REQUEST_URI']); $sources = split('&', $combo); header('Content-type: text/javascript'); foreach($sources as $source) { // TODO: Verify that $source is safe and exists include("/var/www/$source"); }
  • 50. 1. Reduce DNS Lookups & connections
  • 51. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=... • Combine CSS and Javascript files into a single file for each type
  • 52. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=... • Combine CSS and Javascript files into a single file for each type • Combine decorative images into sprites
  • 53. 30px 30px 0px
  • 55. 1. Reduce DNS Lookups & connections
  • 56. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=... • Combine CSS and Javascript files into a single file for each type • Combine decorative images into sprites
  • 57. 1. Reduce DNS Lookups & connections • Reduce the number of domains (2-4) • Avoid redirects • 301, 302, location.href=... • Combine CSS and Javascript files into a single file for each type • Combine decorative images into sprites • Cache aggressively
  • 58. 1. Reduce DNS Lookups & connections <Location /static> ExpiresActive On ExpiresDefault "access plus 1 year" </Location>
  • 60. 2. Return Quickly • Get the first chunk of bytes out as soon as possible
  • 61. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often
  • 67. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often
  • 68. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often • Don't bother your server with static content
  • 69. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often • Don't bother your server with static content • Cache expensive back end calls, and use a front-end cache
  • 70. 2. Return Quickly Cache expensive back end calls, and use a front-end cache
  • 72. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often • Don't bother your server with static content • Cache expensive back end calls, and use a front-end cache
  • 73. 2. Return Quickly • Get the first chunk of bytes out as soon as possible • Flush often • Don't bother your server with static content • Cache expensive back end calls, and use a front-end cache • Reduce MaxClients in apache
  • 75. 3. Slim down • gzip content over the wire
  • 76. 3. Slim down • gzip content over the wire • Minify CSS and Javascript (use YUI Compressor) & Optimise images (use smush.it)
  • 77. 3. Slim down • gzip content over the wire • Minify CSS and Javascript (use YUI Compressor) & Optimise images (use smush.it) • Avoid duplicate CSS and Javascript files
  • 78. 3. Slim down • gzip content over the wire • Minify CSS and Javascript (use YUI Compressor) & Optimise images (use smush.it) • Avoid duplicate CSS and Javascript files • Reduce cookie size
  • 79. 3. Slim down • gzip content over the wire • Minify CSS and Javascript (use YUI Compressor) & Optimise images (use smush.it) • Avoid duplicate CSS and Javascript files • Reduce cookie size • Use a CDN
  • 80. 3. Slim down • gzip content over the wire • Minify CSS and Javascript (use YUI Compressor) & Optimise images (use smush.it) • Avoid duplicate CSS and Javascript files • Reduce cookie size • Use a CDN • Post-load components
  • 82. 4. Restructure pages • Put CSS at the top to avoid having to redraw the page later
  • 83. 4. Restructure pages • Put CSS at the top to avoid having to redraw the page later • Put Javascript at the bottom so that it doesn't block rendering
  • 84. 4. Restructure pages • Put CSS at the top to avoid having to redraw the page later • Put Javascript at the bottom so that it doesn't block rendering • Avoid tables for layout
  • 85. 4. Restructure pages • Put CSS at the top to avoid having to redraw the page later • Put Javascript at the bottom so that it doesn't block rendering • Avoid tables for layout • Delay loading of invisible content
  • 86. 4. Restructure pages • Put CSS at the top to avoid having to redraw the page later • Put Javascript at the bottom so that it doesn't block rendering • Avoid tables for layout • Delay loading of invisible content • Reduce the number of HTML elements
  • 88. 5. Cheat the DOM • Attach events on a container rather than on each element
  • 89. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment
  • 90. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements
  • 91. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements • Reduce iterations on DOM elements
  • 92. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements • Reduce iterations on DOM elements • Use more specific, semantically correct HTML tags
  • 93. Use the right tags <div> <div> <input class="entry" name="larry"> <input class="entry" name="curly"> </div> <div> <input class="entry" name="moe"> </div> </div>
  • 94. Use the right tags <ul> <li> <input class="entry" name="larry"> <input class="entry" name="curly"> </li> <li> <input class="entry" name="moe"> </li> </ul>
  • 96. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements • Reduce iterations on DOM elements • Use more specific, semantically correct HTML tags
  • 97. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements • Reduce iterations on DOM elements • Use more specific, semantically correct HTML tags • Use local copies of global variables
  • 98. 5. Cheat the DOM • Attach events on a container rather than on each element • Delay event attachment • Cache DOM elements and work on invisible elements • Reduce iterations on DOM elements • Use more specific, semantically correct HTML tags • Use local copies of global variables • Profile your Javascript (use YUI Profiler)
  • 100. More tips • Preload expected content
  • 103. More tips • Preload expected content
  • 104. More tips • Preload expected content • Progressively enhance your pages
  • 107. More tips • Preload expected content • Progressively enhance your pages
  • 108. More tips • Preload expected content • Progressively enhance your pages • Use <link> instead of @import and avoid CSS expressions
  • 109. More tips • Preload expected content • Progressively enhance your pages • Use <link> instead of @import and avoid CSS expressions • Avoid 404s and reduce IFRAMEs
  • 114. More tips • Preload expected content • Progressively enhance your pages • Use <link> instead of @import and avoid CSS expressions • Avoid 404s and reduce IFRAMEs
  • 115. More tips • Preload expected content • Progressively enhance your pages • Use <link> instead of @import and avoid CSS expressions • Avoid 404s and reduce IFRAMEs • Turn off .htaccess
  • 116. YSlow
  • 117. YSlow • Firebug plugin to analyse pages for performance gotchas
  • 118. YSlow • Firebug plugin to analyse pages for performance gotchas • http://developer.yahoo.com/yslow/
  • 119. YSlow • Firebug plugin to analyse pages for performance gotchas • http://developer.yahoo.com/yslow/ • Follow YSlow's advice to improve page performance
  • 120. YSlow • Firebug plugin to analyse pages for performance gotchas • http://developer.yahoo.com/yslow/ • Follow YSlow's advice to improve page performance • Try Sergey Chernyshev's ShowSlow to automate YSlow usage
  • 123. Tools • YSlow: developer.yahoo.com/yslow/ • SmushIt: smushit.com • CSS Sprites: pt.spritegen.website-performance.org • YUI Profiler: developer.yahoo.com/yui/profiler/ • ShowSlow: showslow.com • Webpage Test: webpagetest.org • Page Speed: code.google.com/speed/page-speed
  • 124. Conclusion • Don't optimise prematurely. Profile first. • Go for the low hanging fruit. Configuration is cheaper than redevelopment. • Performance is not the same as scalability, you probably need both. • KISS
  • 125. Credits • The following people were directly or indirectly involved in research leading to this content: • Stoyan Stefanov, Nicole Sullivan, Tenni Theurer, Wayne Shea, • Julien Lecompte, Iain Lamb, Philip Tellis, Subramanyan Murali, • Nicholas Zakas, Jimmy Byrum, Steve Souders • http://developer.yahoo.net/performance
  • 126. Questions Tom Hughes-Croucher croucher@yahoo-inc.com @sh1mmer & @ydn on Twitter http://speakerrate.com/sh1mmer Rate me!