This document discusses the importance of web performance optimization. It notes that web performance is about driving more traffic to a site by making sites faster. Optimization requires both front-end optimizations like minimizing page size and back-end optimizations like improving server response times. The document provides examples of tools that can help with optimization and shows how web performance has improved over time but that some sites still have room for improvement.
A presentation from SEO Campixx Barcamp 2011 in Berlin. Web Performance Optimization is about making websites faster. Here i discussed different measures and show the impact on competitive advantage and possibly rankings on Google. Undeniably you can say that better performance leads to more sales and better usability in terms of bouncing rates. View image slides here: http://b0i.de/wpopresentation
The network is crucial to deliver a great user experience for your application. As web pages bulk up with ads, scripts and media from remote networks it becomes harder to measure and optimize performance. ThousandEyes helps you quickly determine whether your app, your network or another network is at fault.
In these slides, we share how to:
* Measure page load time by object and network.
* Detect performance issues by third parties, such as CDNs or ad networks.
* Set up and script robust web transactions.
See the webinar at https://www.thousandeyes.com/resources/web-performance-webinar
Today, a web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our web sites look good across that spectrum of devices we may forget that we need to make sure that our web sites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet.
In this session we’ll look at the tools that can help you understand, measure and improve the web performance of your web sites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply.
This presentation builds upon Dave’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”
This talk was given at the Responsive Web Design Summit hosted by Environments for Humans.
A presentation from SEO Campixx Barcamp 2011 in Berlin. Web Performance Optimization is about making websites faster. Here i discussed different measures and show the impact on competitive advantage and possibly rankings on Google. Undeniably you can say that better performance leads to more sales and better usability in terms of bouncing rates. View image slides here: http://b0i.de/wpopresentation
The network is crucial to deliver a great user experience for your application. As web pages bulk up with ads, scripts and media from remote networks it becomes harder to measure and optimize performance. ThousandEyes helps you quickly determine whether your app, your network or another network is at fault.
In these slides, we share how to:
* Measure page load time by object and network.
* Detect performance issues by third parties, such as CDNs or ad networks.
* Set up and script robust web transactions.
See the webinar at https://www.thousandeyes.com/resources/web-performance-webinar
Today, a web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our web sites look good across that spectrum of devices we may forget that we need to make sure that our web sites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet.
In this session we’ll look at the tools that can help you understand, measure and improve the web performance of your web sites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply.
This presentation builds upon Dave’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.”
This talk was given at the Responsive Web Design Summit hosted by Environments for Humans.
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
This presentation will help attendees re-design their applications to take advantage of fast client-side templating of views. We will survey the landscape of templating solutions in JavaScript, and discuss architecture choices when using various back-end languages. Technologies discussed will include Backbone.js, underscore.js, JSON, REST, mustache, as well as others.
A presentation I delivered to the Richmond JUG on the evolution of HTML through XHTML to HTML5 and some of the technologies that support implementation now, before a specification is reached by the WHATWG/W3C
Ready to Play: JavaScript / HTML5 Game DevelopmentZachary Johnson
Plug-in free (read: without Flash) web browser video game development with HTML5 and JavaScript has matured, and is here to stay. In this quick overview of the current landscape, I will cover the technology available today and what is on the horizon. I will also demo some games, discuss engines and libraries, and serve a big dose of reality about desktop browser vs mobile browser performance.
Presentation about front end performance improvements with specific hints if you're running Ruby on Rails. Original presentation at the Boston-rb group in April 12, 2011
Speed Dating: How Speeding up your Blog Improves your SEOVigLink
SEO is top of mind for every blog owner, but how can bloggers maximize their SEO? In this presentation, Michelle Zatlyn, co-founder of CloudFlare shares tips to speed up your blog and improve your SEO.
Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...Amazon Web Services
Architecting for the Cloud: Demo and best practices.
Follow Simone Brunozzi on Twitter: @simon
Presentation recorded on July 14th, 2011, in Sydney during the 2011 AWS Tour Australia.
For the video (including audio), go here: http://www.slideshare.net/AmazonWebServices/video-architecting-for-the-cloud-demo-and-best-practices
Javascript Views, Client-side or Server-side with NodeJSSylvain Zimmer
A talk I gave at the Paris Node Meetup on June 8th 2011, in front of all the best JS developers in Paris and NodeJS creator Ryan Dahl.
I hope it will make some devs avoid some of the horrible hashbang practices we see on websites like the new twitter !
Part 2 of the Hack your learning guide.
We look at the brain and how it affects how you learn and think about different tips that can improve your learning.
Summer of Tech
Have you ever wondered how you can hack your brain to accelerate your learning?
This talk will explain how the brain works and two techniques that you can use to accelerate and focus your learning.
Rendering Views in JavaScript - "The New Web Architecture"Jonathan Julian
This presentation will help attendees re-design their applications to take advantage of fast client-side templating of views. We will survey the landscape of templating solutions in JavaScript, and discuss architecture choices when using various back-end languages. Technologies discussed will include Backbone.js, underscore.js, JSON, REST, mustache, as well as others.
A presentation I delivered to the Richmond JUG on the evolution of HTML through XHTML to HTML5 and some of the technologies that support implementation now, before a specification is reached by the WHATWG/W3C
Ready to Play: JavaScript / HTML5 Game DevelopmentZachary Johnson
Plug-in free (read: without Flash) web browser video game development with HTML5 and JavaScript has matured, and is here to stay. In this quick overview of the current landscape, I will cover the technology available today and what is on the horizon. I will also demo some games, discuss engines and libraries, and serve a big dose of reality about desktop browser vs mobile browser performance.
Presentation about front end performance improvements with specific hints if you're running Ruby on Rails. Original presentation at the Boston-rb group in April 12, 2011
Speed Dating: How Speeding up your Blog Improves your SEOVigLink
SEO is top of mind for every blog owner, but how can bloggers maximize their SEO? In this presentation, Michelle Zatlyn, co-founder of CloudFlare shares tips to speed up your blog and improve your SEO.
Architecting for the Cloud: demo and best practices, by Simone Brunozzi (2011...Amazon Web Services
Architecting for the Cloud: Demo and best practices.
Follow Simone Brunozzi on Twitter: @simon
Presentation recorded on July 14th, 2011, in Sydney during the 2011 AWS Tour Australia.
For the video (including audio), go here: http://www.slideshare.net/AmazonWebServices/video-architecting-for-the-cloud-demo-and-best-practices
Javascript Views, Client-side or Server-side with NodeJSSylvain Zimmer
A talk I gave at the Paris Node Meetup on June 8th 2011, in front of all the best JS developers in Paris and NodeJS creator Ryan Dahl.
I hope it will make some devs avoid some of the horrible hashbang practices we see on websites like the new twitter !
Part 2 of the Hack your learning guide.
We look at the brain and how it affects how you learn and think about different tips that can improve your learning.
Summer of Tech
Have you ever wondered how you can hack your brain to accelerate your learning?
This talk will explain how the brain works and two techniques that you can use to accelerate and focus your learning.
Ever wondered how you can accelerate your learning. Here is a deck that shows some of the latest research on neuroscience and cognitive science on learning.
The slides will cover two key techniques: Deliberate Learning and Perceptual Knowledge to help you learn skills faster and become an expert at anything.
This is the 2019 edition of the "How to get a job" aka Career advice. This deck talks about the key things employers are interested in and things you as a student can do to make yourself more employable.
NOTE: These slides are meant as an accompaniment to the talk which provided more context and examples.
ICT School - How to write a better resume John Clegg
This is the Slides to the "How to write a better resume" talk that was delivered to the ICT Graduate school in Wellington.
This shows the fundamentals around good CV structure and how to write content for your CV
Here are the slides on how to "Reverse Engineer" how to get an awesome IT job. We asked our top 40 students for tips on how to get hired. We're summarised their wisdom into this slide deck.
Summer of Tech 2014 Resume Workshop slide.
Learn why a resume is important and how to chunk your work to learn what behaviours and core skills you have.
Also lots of tips on how to structure a resume for an IT job
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Elevating Tactical DDD Patterns Through Object Calisthenics
Web performance at WDCNZ
1. The
Forgotten Art
of Web Performance
http://www.flickr.com/photos/mhzmaster/9659478
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
2. I’m here to talk about making websites faster
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
3. I’m here to talk about making websites faster
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
4. Web performance is about driving more traffic to your site
http://www.flickr.com/photos/darrentunnicliff/37179763
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
5. Web performance is about “DevOps"
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
6. FRONT END BACK END
HTML Network
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware
Web Performance Optimisation Basics
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
7. FRONT END BACK END
HTML Network
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware
Web performance comes from combination of
“back-end” and “front-end” optimisations
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
8. FRONT END BACK END
HTML Network
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware
95% of download time comes from “Front-end”
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
9. FRONT END BACK END
HTML Network
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware
You want to deliver content as fast as possible...
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
10. FRONT END BACK END
HTML Network Requests
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware
You can maximise the requests you can
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
11. FRONT END BACK END
HTML Network
CSS Web server
Javascript Application
Images Database
Third party O/S
Hardware Minimise
by minimising request times of your stack
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
12. If Average request takes 50ms to serve and
200 “agents” => 4000 requests per second
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
13. How do I fix?
http://www.flickr.com/photos/lenore-m/251580065
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
14. Lots of tools to help you fix your site
http://www.flickr.com/photos/lenore-m/251580065
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
15. YSlow - 35 rules of Web performance
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
16. Pagespeed - 6 principles for speeding up
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
17. Aptimize.com
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
18. The difference web performance can make is huge
http://www.flickr.com/photos/thebusybrain/2492945
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
19. It seems that some sites haven’t evolved
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
20. For web performance, some sites are stuck in the 90’s
http://www.dailystab.com/blog/wp-content/uploads/2007/12/spice-girls-vancouver-lg.jpg
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
21. Here’s a normal website
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
22. I see things a little differently
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
23. No HTTP Compression
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
24. Poor expiry settings
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
25. No CSS / JS bundling
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
26. No Spriting
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
27. Would you be proud of this ?
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
28. 1.2Mb, 133 requests, 21 JS files, 3 CSS files
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
29. Why is WPO
important?
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
30. Why is WPO important
“Slow websites are boring”
Slow websites are boring!
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
31. Customers are complaining about your site
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
32. Fast websites make more money
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
33. “We see a direct correlation between the speed
of our services and our bottom line.
Our customers seem inclined to spend a set time
on our site per session – the more pages they
can view in that time, the more they see and
buy, and the more we earn.”
John MacDonald - CTO Trade Me 2006
Time is Money
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
34. WPO State of Nation
http://www.flickr.com/photos/nznationalparty/4436793708/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
35. Homepage hall of shame
2011
160 sites
Home broadband
vs
Office broadband
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
36. Key findings
Office BBand Home BBand
Ave page Ave page Ave home
load time load time page size
6.01s 12.5s 665K
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
37. Whoʼs the fastest
1.17s Telecom 1.62s Zenbu
1.23s DOL 1.72s Geonet
1.49s Snipesoft 1.73s School.nz
1.58s Auckland Uni 1.78s Maxx
1.59 Massey Uni 1.59 Westpac
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
38. Whoʼs the S L O W E S T
26.8s Skykiwi 16.3s interest.co.nz
20.9s The Standard 15.1s 3 News
20.1s iStars 15.1s The Big Idea
17.2s WhaleOil 14.7s Readers Digest
16.4s NZ Yahoo 14.3s Stuff
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
39. Data on Google docs
http://tinyurl.com/homepageHOS2011
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
40. Forgotten art of Web performance
http://www.flickr.com/photos/23927132@N05/2500055549/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
41. Once upon a time...
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
42. Internet speeds were crap
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
43. Had to learn to scale the hard way
http://www.flickr.com/photos/kitby/5414374130/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
44. 4 principles
to help you
scale your
site
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
45. Rule 1) Dynamic vs Static
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
46. What is dynamic content?
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
47. 1 hour ?
5 minutes ? 1 minute ?
Text
30 minutes ?
Almost everything is static for a time
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
48. We used to pre-generate content
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
49. 2000+ req / sec
vs
30 req / sec
Web servers love static content
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
50. 1) Pre-generate content
http://www.flickr.com/photos/aquariawintersoul/4162431443/
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
51. 2) Cache everything
http://www.flickr.com/photos/markusnl/5563657463/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
52. Database views
Memcache
http://memcached.org
Varnish / Squid
http://www.varnish-cache.org/
2) Cache everything
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
53. 2) Cache everything
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
54. Google likes Varnish
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
55. 3) Watch out for 3rd party widgets
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
57. Pages are static - server generates page
on earthquake event
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
58. Built own CDN + plus lots of other stuff
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
59. Handles 12,000 req/sec at peak
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
60. Rule 2) User perception
http://www.flickr.com/photos/jasongillyon/243909248/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
61. We used to divide 50 row table into tables of 10 rows
http://www.flickr.com/photos/silkroadcollection/4886903818/
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
62. 1) Front end techniques
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
63. Delay JS loading
http://www.flickr.com/photos/sbisson/3852086117/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
64. Load only what users can see
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
65. Asynchronous JS loads content
Who’s doing it right
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
66. Google image search
Who’s doing it right
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
67. Twitter web client
Who’s doing it right
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
69. Uses Aptimize WAX
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
70. Asychronous JS loading of ads, no revenue loss
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
71. Lots of performance optimisations
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
72. Site loads in just over 2 sec with lots of 3rd party stuff
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
73. Rule 3) Reduce requests
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
74. Browser round trip will kill you...
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
75. Looking at a site at DSL speed
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
76. Looking at a site at office speed
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
77. 80+ images to serve
30ms local
270ms overseas
Up to 10 times more effort to
serve content
When the earthquake strikes...
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
78. Javascript and CSS Bundling
http://www.flickr.com/photos/ferguson666/3605271302/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
79. YUI Compressor
http://developer.yahoo.com/yui/compressor/
Google Closure
http://code.google.com/closure/
Every framework has tools
Bundling tools
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
80. Make bundling part of your build process
http://www.flickr.com/photos/hifumiyo/4021034029/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
81. Image Spriting
http://www.flickr.com/photos/roadsidepictures/1435060357/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
82. Sprite me
http://spriteme.org
Smart sprites
http://csssprites.org/
spriteme + smartsprites
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
83. Guide for number of page requests
< 20 Elite
20-30 Excellent
30-60 Average
60-80 Below average
80-100 Poor
>100 My eyes are bleeding
How many requests ???
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
84. Static image expiry
http://www.flickr.com/photos/newtown_grafitti/5131604440/
The Forgotten art of Web Performance
forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
85. Who’s doing it right
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
86. Westpac - 20 requests - 1 request reload
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
87. Rule 4) Change defaults
http://www.flickr.com/photos/deadhorse/367716072/
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
88. ##
## Server-Pool Size Regulation (MPM specific)
##
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
Webserver settings
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
89. Apache has 150
clients as default
You can change it!
Webserver settings
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
90. • Turn on compression
• Increase of number of web
clients
• Set expiry for images
Switch to better webserver ;)
Tweak settings
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
91. Server browning out
8Gb ram
Apache 250 clients
running PHP
4Gb Ram free
What to do ??
Vendor says add
more servers
True story - http server
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
92. my-small.cnf
# This is for a system with little memory (<= 64M) where MySQL is only used
my-medium.cnf
# This is for a system with little memory (32M - 64M) where MySQL plays
my-large.cnf
# This is for a large system with memory = 512M where the system runs mainly
my-huge.cnf
# This is for a large system with memory of 1G-2G where the system runs mainly
Database settings
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
94. Summary
1) Use more static content
- Pre-generate
- Cache everything
- Minimise 3rd party widgets
2) Improve browser
- Defer JS loading
- Asychronous JS
- Delay beyond the fold
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
95. Summary
3) Minimise requests
- Bundle JS + CSS files
- Spriting
- Set 2 year expiry for assets
4) Change defaults
- Change defaults for Webserver and DB
- Tweet to fit your server memory
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
96. Video
Final thought - Sites are around 550K
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
97. Video
Final thought - Sites are around 550K
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
98. Questions
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
99. Web testing
Global Performance testing + Videos
www.webpagetest.org
Load testing software - (Linux) Siege + Bombard
Been using for transaction testing of e-commerce buying
http://www.joedog.org/index/siege-home
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011
100. Thank you
The Forgotten Art of Web Performance
14th July 2011
Friday, 15 July 2011