Your SlideShare is downloading. ×
0
confidential scaling the synchronous web October 10 th , 2008
scaling the synchronous web October 10 th , 2008 confidential Elaine Wherry Co-Founder, VP Products Paul Sowden Lead  Soft...
 
www +
2  3  4  5  6  7
 
traditional versus  nontraditional... traditional versus  nontraditional...
asynchronous  versus  synchronous ...
 
asynchronous  versus  synchronous ... page views  versus  persistence ...  content  versus  application ... database  vers...
<ul><li>simpler is better </li></ul><ul><li>know your bottlenecks  </li></ul><ul><li>quick fix or homerun </li></ul><ul><l...
#1: simpler is better
protocol plugins msn jabber yahoo oscar (aim) gaim 1.5.0 ui  & core & services
yahoo gaim 1.5.0 core & services protocol plugins msn jabber yahoo oscar (aim) meebo network layer
 
 
confidential
 
#1: simpler is better <ul><li>Don’t try to solve a scaling problem you don’t have (yet) </li></ul><ul><li>Build it as quic...
#2 know your bottlenecks confidential
 
 
tools <ul><li>strace </li></ul><ul><li>gdb </li></ul><ul><li>oprofile </li></ul><ul><li>httpanalyzer </li></ul><ul><li>mon...
 
#2: know your bottlenecks <ul><li>your type of app determines the type of scaling </li></ul><ul><li>don’t prematurely opti...
#3: quick fix or homerun! confidential
kill –9 <pid>
 
 
 
 
confidential
confidential
 
cgi fastcgi mod_meebo
#3: quick fix or homerun <ul><li>users just want it to work (now) </li></ul><ul><li>use the time the quick fix affords you...
#4: useful abstractions
 
 
meebo util.js ajax ui dlg menu button element IMDlg BuddyListDlg EventMgr NetworkMgr
meeboApp meeboApp meeboApp meebo ui util ajax PubSub Buddy BuddyList Account EventMgr NetworkMgr dlg menu button element i...
#4: useful abstractions <ul><li>keep it simple, flexible, so you can adapt quickly to changes and scale with needs </li></...
<ul><li>simpler is better </li></ul><ul><li>know your bottlenecks </li></ul><ul><li>quick fix or homerun </li></ul><ul><li...
today <ul><li>3 years old </li></ul><ul><li>45 people (2 dogs) </li></ul><ul><li>35 million uniques per month </li></ul><u...
thank you confidential
Upcoming SlideShare
Loading in...5
×

Scaling the synchronous web - Elaine Wherry

1,838

Published on

Presentation from the Future of Web Apps Expo 2008 by Elaine Wherry.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,838
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
37
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • Welcome to scaling the synchronous web.
  • Transcript of "Scaling the synchronous web - Elaine Wherry"

    1. 1. confidential scaling the synchronous web October 10 th , 2008
    2. 2. scaling the synchronous web October 10 th , 2008 confidential Elaine Wherry Co-Founder, VP Products Paul Sowden Lead Software Engineer
    3. 4. www +
    4. 5. 2 3 4 5 6 7
    5. 7. traditional versus nontraditional... traditional versus nontraditional...
    6. 8. asynchronous versus synchronous ...
    7. 10. asynchronous versus synchronous ... page views versus persistence ... content versus application ... database versus memory ...
    8. 11. <ul><li>simpler is better </li></ul><ul><li>know your bottlenecks </li></ul><ul><li>quick fix or homerun </li></ul><ul><li>useful abstractions </li></ul>
    9. 12. #1: simpler is better
    10. 13. protocol plugins msn jabber yahoo oscar (aim) gaim 1.5.0 ui & core & services
    11. 14. yahoo gaim 1.5.0 core & services protocol plugins msn jabber yahoo oscar (aim) meebo network layer
    12. 17. confidential
    13. 19. #1: simpler is better <ul><li>Don’t try to solve a scaling problem you don’t have (yet) </li></ul><ul><li>Build it as quickly and as inexpensively as possible </li></ul><ul><li>You want to save time to iterate upon other ideas in case this one doesn’t work </li></ul><ul><li>Setting yourself up for success – easier to optimize something you understand </li></ul>
    14. 20. #2 know your bottlenecks confidential
    15. 23. tools <ul><li>strace </li></ul><ul><li>gdb </li></ul><ul><li>oprofile </li></ul><ul><li>httpanalyzer </li></ul><ul><li>monitoring </li></ul>
    16. 25. #2: know your bottlenecks <ul><li>your type of app determines the type of scaling </li></ul><ul><li>don’t prematurely optimize </li></ul><ul><li>know system at different levels: oprofile, valgrind, gdb </li></ul><ul><li>know your bottlenecks: memory, cpu, bandwidth, storage, disk i/o </li></ul>confidential
    17. 26. #3: quick fix or homerun! confidential
    18. 27. kill –9 <pid>
    19. 32. confidential
    20. 33. confidential
    21. 35. cgi fastcgi mod_meebo
    22. 36. #3: quick fix or homerun <ul><li>users just want it to work (now) </li></ul><ul><li>use the time the quick fix affords you wisely </li></ul><ul><li>aim for small or big, avoid the middle </li></ul><ul><li>fix the root issue </li></ul>
    23. 37. #4: useful abstractions
    24. 40. meebo util.js ajax ui dlg menu button element IMDlg BuddyListDlg EventMgr NetworkMgr
    25. 41. meeboApp meeboApp meeboApp meebo ui util ajax PubSub Buddy BuddyList Account EventMgr NetworkMgr dlg menu button element iPhone iPhone Firefox
    26. 42. #4: useful abstractions <ul><li>keep it simple, flexible, so you can adapt quickly to changes and scale with needs </li></ul><ul><li>abstractions allow you to reuse existing components to scale to new challenges </li></ul><ul><li>it’s hard to know where the useful abstractions are when you start a project </li></ul>
    27. 43. <ul><li>simpler is better </li></ul><ul><li>know your bottlenecks </li></ul><ul><li>quick fix or homerun </li></ul><ul><li>useful abstractions </li></ul>
    28. 44. today <ul><li>3 years old </li></ul><ul><li>45 people (2 dogs) </li></ul><ul><li>35 million uniques per month </li></ul><ul><li>350 years worth of usage per day </li></ul><ul><li>200 million messages per day </li></ul><ul><li>54,000 kiss emoticons each day :-* </li></ul><ul><li>2.5 hour session length </li></ul>
    29. 45. thank you confidential
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×