Faster & more flexible CDN integration

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

Notes on slide 1

A content delivery network (CDN) is a collection of webservers that are distributed across multiple locations, to deliver data more efficiently to the end user. Typically, the server with the shortest distance to the end user is selected.

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- geographical spread: more spread is better, but more expensive
- lock-in:
* push: supporting all transfer protocols is too hard
* pull: not every CDN supports pulling (and unlikely that the same features are supported)

- Best of +- 10 evaluated tools and commercial services

- Best of +- 10 evaluated tools and commercial services

- Best of +- 10 evaluated tools and commercial services

Result: no switching cost → no lock-in!

Result: no switching cost → no lock-in!

Result: no switching cost → no lock-in!

Result: faster web site, same setup cost, lower maintenance cost

Result: faster web site, same setup cost, lower maintenance cost

Result: faster web site, same setup cost, lower maintenance cost

- own web site
- > 100.000 visitors per month, >150 countries
- makes it a good test case to show the effect of CDN integration
- far less images than the average web site, thus less HTTP requests, thus harder to show the difference
- Europe + Russia: server in Belgium, rest of the world: CDN with servers in North America
- uses ip2country module to determine country of user

- information in the screenshots generated by the Episodes Server module
- > 2.7 million episodes measured over > 260k page views
- before June 21: large variability, especially globally
- starting June 21: CDN integration active
- starting June 22: also CSS & JS of delicious widget with CDN integration
- very clear downward trend starting June 21, even stronger starting June 22 (partially thanks to caching in the browser)

3 Favorites & 1 Group

Faster & more flexible CDN integration - Presentation Transcript

  1. Faster & more flexible CDN integration Wim Leers ~ http://wimleers.com/ Drupal.org, IRC, Twitter, LinkedIn: wimleers
  2. Bachelor thesis “Improving Drupal’s page loading performance” • Promotor: Prof. dr. Wim Lamotte • Co-promotor: dr. Peter Quax • Mentors: Stijn Agten & Maarten Wijnants
  3. Goal • Faster web sites • Speed = satisfaction = more & happier visitors = more revenue source: http://www.slideshare.net/stubbornella/designing-fast-websites-presentation, Nicole Sullivan, Yahoo!
  4. Goal • Faster web sites • Speed = satisfaction = more & happier visitors = more revenue • Google: +0.5s → -20% searches source: http://www.slideshare.net/stubbornella/designing-fast-websites-presentation, Nicole Sullivan, Yahoo!
  5. Terminology: page loading performance 90% 10% CSS, JS, images … HTML
  6. Drupal’s page loading performance • One of the most effective measures: “Use a CDN”
  7. Drupal’s page loading performance • One of the most effective measures: “Use a CDN” • Drupal: not yet possible!
  8. Terminology: CDN
  9. Key properties of a CDN
  10. Key properties of a CDN • Geographical spread
  11. Key properties of a CDN • Geographical spread • Pull versus Push Pull F transfer automatically We protocol + virtually no setup – no flexibility
  12. Key properties of a CDN • Geographical spread • Pull versus Push Pull Push FTP, SFTP, rsync, transfer automatically WebDAV, Amazon S3 protocol … + virtually no setup flexibility – no flexibility setup
  13. Key properties of a CDN • Geographical spread • Pull versus Push • Lock-in Pull Push FTP, SFTP, rsync, transfer automatically WebDAV, Amazon S3 protocol … + virtually no setup flexibility – no flexibility setup
  14. Profiling: Episodes
  15. Profiling: Episodes • Measures “episodes” during page loading
  16. Profiling: Episodes • Measures “episodes” during page loading • Real measurements: JS in browser, for each visitor • No simulation!
  17. Episodes module
  18. Episodes module • Drupal module that offers Episodes integration
  19. Episodes module • Drupal module that offers Episodes integration
  20. Episodes Server module
  21. Episodes Server module • Drupal module that visualizes the collected measurements
  22. Daemon: File Conveyor
  23. Daemon: File Conveyor 1. Configuration: simple XML file
  24. Daemon: File Conveyor 1. Configuration: simple XML file 2. Detection: instantaneous
  25. Daemon: File Conveyor 1. Configuration: simple XML file 2. Detection: instantaneous 3. Processing: store image more efficiently … — extensible!
  26. Daemon: File Conveyor 1. Configuration: simple XML file 2. Detection: instantaneous 3. Processing: store image more efficiently … — extensible! 4. Syncing: supports many protocols (FTP, Amazon S3 …) — extensible!
  27. Daemon: File Conveyor 1. Configuration: simple XML file 2. Detection: instantaneous 3. Processing: store image more efficiently … — extensible! 4. Syncing: supports many protocols (FTP, Amazon S3 …) — extensible! 5. Result: SQLite DB with CDN URLs
  28. Demo
  29. Daemon’s capabilities: scenario 1 Company wants to switch from CDN provider X to Amazon S3. - CDN X: FTP - Amazon S3: custom protocol
  30. Daemon’s capabilities: scenario 1 Company wants to switch from CDN provider X to Amazon S3. - CDN X: FTP - Amazon S3: custom protocol • Setup: • CDN X → Amazon S3 • Daemon
  31. Daemon’s capabilities: scenario 1 Company wants to switch from CDN provider X to Amazon S3. - CDN X: FTP - Amazon S3: custom protocol • Setup: • CDN X → Amazon S3 • Daemon • Alternative: write a lot of code
  32. Daemon’s capabilities: scenario 2 U.S. company expands to South-Korea
  33. Daemon’s capabilities: scenario 2 U.S. company expands to South-Korea • Setup: • North-American CDN • Static file server in South-Korea • Daemon + language-/subdomain-based logic to pick CDN/server
  34. Daemon’s capabilities: scenario 2 U.S. company expands to South-Korea • Setup: • North-American CDN • Static file server in South-Korea • Daemon + language-/subdomain-based logic to pick CDN/server • Alternative: global CDN or slower web site in South-Korea
  35. CDN integration module
  36. CDN integration module • Drupal core patch for Drupal 6, committed to Drupal 7
  37. CDN integration module • Drupal core patch for Drupal 6, committed to Drupal 7 • Basic mode: Origin Pull CDN
  38. CDN integration module • Drupal core patch for Drupal 6, committed to Drupal 7 • Basic mode: Origin Pull CDN • Advanced mode: any CDN (daemon)
  39. Test case
  40. Test case
  41. Test case
  42. Conclusion
  43. Conclusion 1. Speed of web site very important
  44. Conclusion 1. Speed of web site very important 2. Episodes → monitor page loading performance
  45. Conclusion 1. Speed of web site very important 2. Episodes → monitor page loading performance 3. CDN integration module → best method to integrate Drupal with a CDN
  46. Conclusion 1. Speed of web site very important 2. Episodes → monitor page loading performance 3. CDN integration module → best method to integrate Drupal with a CDN 4. Daemon → flexible CDN integration
  47. Conclusion 1. Speed of web site very important 2. Episodes → monitor page loading performance 3. CDN integration module → best method to integrate Drupal with a CDN 4. Daemon → flexible CDN integration More info? See http://wimleers.com/talk/drupalcon-paris-2009

+ Wim LeersWim Leers, 3 months ago

custom

4222 views, 3 favs, 2 embeds more stats

90% of the page loading time is spent on retrieving more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 4222
    • 4167 on SlideShare
    • 55 from embeds
  • Comments 1
  • Favorites 3
  • Downloads 15
Most viewed embeds
  • 54 views on http://wimleers.com
  • 1 views on http://mayurapriyan.blogspot.com

more

All embeds
  • 54 views on http://wimleers.com
  • 1 views on http://mayurapriyan.blogspot.com

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories

Groups / Events