7. OTHER WEB PERF EVENTS AND
SOCIAL MEDIA
•
Other Web Perf meetups
•
Velocity conferences
•
#webperf and #perfmatters
•
W3C http://lists.w3.org/Archives/Public/publicweb-perf/
#towebperf
14. SOME FACTS
•
39% say speed is more important than
functionality for most websites
•
8 out of 10 people will not return to a
site after a disappointing experience
•
Web site performance is second only to
security in user expectations
#towebperf
26. AUTOMATICALLY
Synthetic Testing
Real User Monitoring
You run the test
User runs the test
Measures experience of exact one selected
configuration
Measures experience of “actual user”
(peace of mind). You get to know your user better
Establish baseline performance level
Get concrete information about user’s latency,
bandwidth, page load time
Tools
private/public WebPagetest (API), PageSpeed (API),
phantomJS, commercial products etc.
Tools
boomerang.js, Google Analytics, commercial
products etc.
#towebperf
28. GLOBAL SHELL
•
Shared by all
•
Visual representation
•
Non-visual representation
•
SSI variables in header to
serve ads and tracking
•
Global scripts, 3rd party
scripts and stylesheets
#towebperf
29. IMPROVEMENT
(IS SOMETIMES EASIER THAN YOU THINK?)
•
Re-factored code: Removed old/un-used
code
•
Moved some scripts to the bottom of page
•
Minified and concatenated scripts and CSS
files to
reduce file size and HTTP requests
#towebperf
31. EXAMPLES
Global Shell: Before and after
75
24
24
18
18
25%
Before
73.6
72.2
12
6
71.9
3%
70.8
69.4
68
0
HTTP Requests
1.3
1.3
0.9
0.975
0.65
0.325
0
30%
Visually complete (s)
After
69.8
Page Weight (kB)
0.942
1
0.691
0.75
0.5
0.25
0
26%
Start to render (s)
#towebperf
32. AUTOMATION
•
Why optimizing manually if you can
automate it?
•
Included performance optimization
into your deployment and release
process
#towebperf
33. AUTOMATED & BUILT-IN TOOLS
•
Maven, Ant Tools and Plugins
•
HTMLCompressor
•
Closure Compiler (Google)
•
Confess
•
Minify-maven-plugin
•
cssembed.jar or compass for
data:uri
#towebperf
34. AUTOMATED & BUILT-IN TOOLS
•
If you can’t / don’t want to use Maven / Ant
•
•
You should use taskrunners and scaffolding: Grunt, Yeoman
Continuous integration (e.g SPOFcheck, yslow)
#towebperf