using node js to improve the performance of mobile apps
play

Using Node.js to improve the performance of Mobile apps and Mobile - PowerPoint PPT Presentation

Using Node.js to improve the performance of Mobile apps and Mobile web Tom Hughes-Croucher @sh 1 mmer Scalable Server-Side Code with JavaScript Who is Tom? Wrote W3C Standards 10+ years in the web industry Node Worked on projects


  1. Using Node.js to improve the performance of Mobile apps and Mobile web Tom Hughes-Croucher @sh 1 mmer

  2. Scalable Server-Side Code with JavaScript Who is Tom? • Wrote W3C Standards • 10+ years in the web industry Node • Worked on projects for: Tesco, NASA, Walmart, MySpace, etc Up and Running • ~5 years at Yahoo! including .com • Node team at Joyent Tom Hughes-Croucher @sh 1 mmer

  3. This is a talk about why cell phones suck. @sh 1 mmer

  4. @sh 1 mmer

  5. Radio waves suck (at least compared to fibre or copper) @sh 1 mmer

  6. http://developer.yahoo.com/blogs/ydn/posts/2009/10/a_engineers_gui/ @sh 1 mmer

  7. Radio vs. buildings @sh 1 mmer

  8. @sh 1 mmer

  9. @sh 1 mmer

  10. @sh 1 mmer

  11. @sh 1 mmer

  12. @sh 1 mmer

  13. Desktop Mobile http://www.webperformancetoday.com/2012/04/02/mobile-versus-desktop-latency/ @sh 1 mmer

  14. Ookla/speedtest.net via http://www.slideshare.net/patrickmeenan/velocity-2012-taming-the-mobile-beast/22 @sh 1 mmer

  15. Effect of latency on servers @sh 1 mmer

  16. Shielding Frontends @sh 1 mmer

  17. nginx haproxy web services frontends ATS / data varnish @sh 1 mmer

  18. var client = net.connect(80, domain, function() { client.write("GET / HTTP/1.1\r\n"); t1 = (new Date()).getTime(); }); client.on('end', function() { t2 = (new Date()).getTime(); output.write(domain + ' ' + ((t2-t1)/1000) + 's\n'); }); @sh 1 mmer

  19. Sample of Alexa 5000 macupdate.com 442.3 uzai.com 403.658 wired.jp 238.848 facilisimo.com 205.159 mycokerewards.com 202.757 rbc.cn 192.354 moviesmobile.net 183.157 stop55.com 145.927 dir.bg 137.982 carrefour.fr 112.789 sifyitest.com 111.171 @sh 1 mmer

  20. Event-driven Frontends @sh 1 mmer

  21. Client → Server Server → DB Computation Computation @sh 1 mmer

  22. Not an event frontend @sh 1 mmer

  23. @sh 1 mmer

  24. Server @sh 1 mmer

  25. Request @sh 1 mmer

  26. @sh 1 mmer

  27. Event-driven frontend @sh 1 mmer

  28. Place-holder @sh 1 mmer

  29. @sh 1 mmer

  30. Shared Work Resources @sh 1 mmer

  31. Memory operations @sh 1 mmer

  32. var x = "I am a string" ~1ns Running 1 instruction 2ns Data from l1 cpu cache 5ns Data from l2 cpu cache 80ns Data from ram @sh 1 mmer

  33. @sh 1 mmer

  34. Mobile latency @sh 1 mmer

  35. @sh 1 mmer

  36. 100 Blue Whales Cat @sh 1 mmer

  37. "They went from running 15 servers with 15 instances (virtual servers) on each physical machine, to just four instances that can handle double the traffic." http://venturebeat.com/2011/08/16/linkedin-node/ @sh 1 mmer

  38. Not just simple applications @sh 1 mmer

  39. @sh 1 mmer

  40. @sh 1 mmer

  41. First page load vs. Client MVC @sh 1 mmer

  42. @sh 1 mmer

  43. http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/ @sh 1 mmer

  44. Bandwidth Latency Device capability @sh 1 mmer

  45. Barfing data at 3G @sh 1 mmer

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend