SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Presented by:
         Bill Takacs – Director, Product Management


September 2009
Agenda

     •!Rise of the dynamic web!


     •!The web architecture!


     •!The evolution of a dynamic site and Memcached!


     •!Gear6 solution!




2 : Copyright 2009 Gear6 Inc.
The Web: What’s Changed?

     •!Population!

     •!Tra"c!

     •!Content and applications!




3 : Copyright 2009 Gear6 Inc.
Web Growth: Population

          Forrester: 2.2 billion people online globally by 2013




4 : Copyright 2009 Gear6 Inc.
Web Growth: Traffic

        Cisco: “Annual global IP traffic
     will exceed two-thirds of a zettabyte
         (667 exabytes) in four years”
                   [by 2013]
                     Source: Cisco Visual Networking Index,
                                  9 June 2009




5 : Copyright 2009 Gear6 Inc.
Web Growth: Application & Content



                                  Entertainment
                                              !
                                Social Networking!
                                      Media
                                          !
                                 Communication
                                             !
                           Community-generated content
                                                     !




6 : Copyright 2009 Gear6 Inc.
But growth can be
Growth can be painful
                painful
       (VERY)
Web Architecture

    !! Most sites (over 65%) based on LAMP or JAVA
    !! Industry standard servers replaced proprietary SMP
    !! Shift to Dynamic Content puts strain on origin sites

                                                           Web Stack                                                         Net
                                                                                                                          Interface
   Storage                                                                                                                                       Clients
                                                            PHP, Java, Rails, C,
                                               Database!




                                                                                                                                      Internet
                                                                                              Apache, Nginx,
                                                                                   Servers!



                                                                                                               Servers#
                                                              Perl, Python!
                                PostgreSQL !




                                                                                                Lighttpd!
                                  MySQL,




                                                                                                                Web
                                                                                     App

                                                                                                                           Proxy
                                                                                                                                       CDN!

                                                                                                                           Load
                                                                                                                          Balancer




8 : Copyright 2009 Gear6 Inc.
What to do?




9 : Copyright 2009 Gear6 Inc.
New Caching Architecture
     for Scaling Out

                                                            Web Stack                                                         Net
                                                                                                                           Interface
    Storage                                                                                                                                       Clients



                                                             PHP, Java, Rails, C,
                                                Database!
                                                                                                                                       Internet




                                                                                               Apache, Nginx,
                                                                                    Servers!



                                                                                                                Servers#
                                                               Perl, Python!
                                 PostgreSQL !




                                                                                                 Lighttpd!
                                   MySQL,




                                                                                                                 Web
                                                                                      App
                                                                                                                            Proxy
                                                                                                                                        CDN!

                                                                                                                            Load
                                                                                                                           Balancer

                                                                      Cache Servers
                                                                                     memcached




10 : Copyright 2009 Gear6 Inc.
Memcached: Pillar of Web 2.0 Architecture




                                 “Everything runs#
                                   from memory#
                                    in Web 2.0”
                                              !
                                  Evan Weaver, Twitter, March 2009!



11 : Copyright 2009 Gear6 Inc.
The Fix: Memcached

            “A high performance, distributed memory object
            caching system, generic in nature, but intended for
             use in speeding up dynamic web applications by
                        alleviating database load”!

     •! Big hash table!

     •! Created by Danga Interactive for LiveJournal!

     •! Significantly reduced database load!

     •! Perfect for web sites with high database load!

     •! In use by Facebook, Twitter, MyYearbook, others!

12 : Copyright 2009 Gear6 Inc.
Evolution of a Dynamic Site #1
     A day in the life of a growing web service


     •! Event: Site has growth in number of users/sessions/page
        views/apps causing excessive read load on DB!
     •! Action: Replicate Database (and/or add more app servers)!


                                                             App Server       App Server        App Server

     App Server           App Server   App Server   App Server       App Server    App Server




                          write!
                                                                 write!                write!
                                                                                  …
                                                            MySQL                     MySQL
                        MySQL




13 : Copyright 2009 Gear6 Inc.
Evolution of a Dynamic Site #2
     A day in the life of a growing web service

    •! Event: Individual caches on the app/db servers are
       overwhelmed from chaotic/non-deterministic content access!
    •! Action: Add memcached server on servers with underutilized
       memory resources… results in even fewer reads to database!



                                                                             memcached            memcached           memcached
           App Server            App Server       App Server                App Server           App Server          App Server
                                                                memcached            memcached           memcached
                                                               App Server         App Server          App Server
App Server         App Server         App Server




             write!                      write!                             write!                        write!
                                   …                                                               …
          MySQL                        MySQL                            MySQL                           MySQL




14 : Copyright 2009 Gear6 Inc.
Evolution of a Dynamic Site #3
     A day in the life of a growing web service

     •! Event: Memcached needs more memory resources than
        what is available on other (shared) servers!
     •! Action: Move memcached servers to dedicated servers!



              memcached            memcached           memcached
             App Server           App Server          App Server             App Server              App Server       App Server
 memcached            memcached           memcached
App Server         App Server          App Server                  App Server       App Server            App Server

                                                                      memcached          memcached         …          memcached




             write!                        write!                               write!                       write!
                                    …                                                                  …
          MySQL                          MySQL                              MySQL                          MySQL




15 : Copyright 2009 Gear6 Inc.
What Memcached is NOT:

                                 A persistent data store!


                                 A database!


                                 Application-specific!


                                 A large object cache!


                                 Fault-tolerant or highly available!

16 : Copyright 2009 Gear6 Inc.
Memcached: Best Practices

     •!Use with MySQL :-)!       •!Careful with
     •!Use on 64-bit               numbers of
       servers!                    connections!
     •!Cache “expensive            »! Peak!
       operations”!                »! Transitions!

     •!Cache bi-                 •!Evictions!
       directionally (R/W)!        »! Segment Memcached
                                      data into separate pools
                                                             !
     •!Design to withstand
                                 •!Optimize sizing:
       failures gracefully!
                                   Instances and pools!
     •!Use consistent
                                 •!Instrumentation!
       hashing!

17 : Copyright 2009 Gear6 Inc.
Memcache Use Cases

          Site Type                 Repeatable Use

          Social networking         Profile caching

          Content aggregation       HTML/page caching

          Ad targeting              Cookie/profile tracking

          Gaming and entertainment Session caching

          Location-based services   DB query scaling

          Relationship              Session caching

          E-commerce                Session and HTML caching

18 : Copyright 2009 Gear6 Inc.
Use Case Example:
     Session Management

                                 •! 4m+ daily visitors!
                                 •! 15k hits/sec!
                                 •! 6k updates/sec!
                                 •! Tens of thousands
                                    concurrent connections!
                                 •! Session tracked and ads
                                    are placed in accordance
                                    to session!




19 : Copyright 2009 Gear6 Inc.
Use Case Example:
     User Targeting Engine

    Recommendations on
      User webpages
                                                               User Targeting Service
                                                                 User Targeting Service
                                                                                                       Memcached
                                                                    User Targeting Service
                                                                Thin/fast memcache
                                                                                                         pool!
                                                                 Client layer memcache
                                                                   Thin/fast (reads)
                                                                    Client layer memcache
                                                                      Thin/fast (reads)
                                                                       Client layer (reads)
                                                                 Update processing
                                 Webserver / php                       (writes)
                                                                    Update processing                                    Bulk/batch
                                   Load Balancer                          (writes)                                       updates
                                                                       Update processing
       Load Balancer
                                      Load Balancer                           (writes)


                                                                                                         Hadoop!
                                                                                      “Lazy” Updates
                                                                                                         Map/Reduce Jobs
                                                                                                          Data processing


                                         User targeting data
                                        From logs and other                                             User profile updates
                                              systems


                                                                   Reports!                               Ad-Hoc Analysis



                                                                                                       Memcache repopulation
                                                                                                       (bulk updates, recovery)




20 : Copyright 2009 Gear6 Inc.
Useful Memcached Tools

                       advanced reporter!
                       Track hot keys and clients in Memcached!

                       wireshark!
                       Dissect and analyze Memcached network tra"c!

                       brutis!
                       Size and test changes to memcache clusters!

                       statsproxy!
                       View bu$ered Memcached stats in your browser!

                       cacti!
                       Graph and analyze Memcached statistics!


21 : Copyright 2009 Gear6 Inc.
Statsproxy + Cacti Templates




                                    To use the cacti
                                    templates for
                                    memcached with
                                    statsproxy, you
                                    either need to
                                    modify the
                                    templates to use
                                    port 8080 or
                                    change the
                                    statsproxy config to
                                    use port 11211




22 : Copyright 2009 Gear6 Inc.
•! First and leading provider#
     of Memcached solutions!

  •! Memcached solution including!

          •! High density!

          •! High Availability!

          •! Advanced memory#
             management!

          •! Enhanced reporting#
             capabilities !

          •! Support for multi-tenancy!

          •! Disruption free#
             software upgrades!

          •! 100% client compatible!


23 : Copyright 2009 Gear6 Inc.
Questions?

         Thank you for attending our webinar
                                           !
   “Memcached and the Rise of the New Dynamic Web”!




                                 and please visit our web site at:
                                                                 !
                                 www.gear6.com!
24 : Copyright 2009 Gear6 Inc.
References
     •!   Danga.com!
     •!   Highscalability.com!
     •!   Dev.gear6.com!
     •!   Groups.google.com/group/memcached!
     •!   Code.google.com/p/memcached!
     •!   Twitter.com/gearsix!
     •!   Cacti.net!
     •!   Wireshark.org!
     •!   http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached-
          using-deployment.html!
     •!   http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached-
          using-hashtypes.html!
     •!   http://jayant7k.blogspot.com/2009/04/memcached-replication.html!
     •!   http://www.lexemetech.com/2007/11/consistent-hashing.html!
     •!   http://www8.org/w8-papers/2a-webserver/caching/paper2.htmlhttp://
          www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_-
          _a_consistent_hashing_algo_for_memcache_clients!
     •!   http://bazaar.launchpad.net/~libmemcached-developers/libmemcached/
          trunk/revision/539!
25 : Copyright 2009 Gear6 Inc.

Weitere ähnliche Inhalte

Was ist angesagt?

Dena Loves Perl
Dena Loves PerlDena Loves Perl
Dena Loves Perlnotolab
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)baggioss
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsCloudera, Inc.
 
Rapid JCR applications development with Sling
Rapid JCR applications development with SlingRapid JCR applications development with Sling
Rapid JCR applications development with SlingBertrand Delacretaz
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedPromet Source
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clustersenissoz
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandMasakazu Matsushita
 
Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2billdigman
 
Gofer 200707
Gofer 200707Gofer 200707
Gofer 200707oscon2007
 
Lightweight Grids With Terracotta
Lightweight Grids With TerracottaLightweight Grids With Terracotta
Lightweight Grids With TerracottaPT.JUG
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Severalnines
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLRené Cannaò
 
How WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityHow WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityBruno Borges
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Dipti Borkar
 
Designing enterprise drupal
Designing enterprise drupalDesigning enterprise drupal
Designing enterprise drupalJason Burnett
 
Severalnines Self-Training: MySQL® Cluster - Part VI
Severalnines Self-Training: MySQL® Cluster - Part VISeveralnines Self-Training: MySQL® Cluster - Part VI
Severalnines Self-Training: MySQL® Cluster - Part VISeveralnines
 

Was ist angesagt? (20)

Dena Loves Perl
Dena Loves PerlDena Loves Perl
Dena Loves Perl
 
[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)[Hi c2011]building mission critical messaging system(guoqiang jerry)
[Hi c2011]building mission critical messaging system(guoqiang jerry)
 
MySQL高可用
MySQL高可用MySQL高可用
MySQL高可用
 
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance ImprovementsHadoop Summit 2012 | HBase Consistency and Performance Improvements
Hadoop Summit 2012 | HBase Consistency and Performance Improvements
 
Rapid JCR applications development with Sling
Rapid JCR applications development with SlingRapid JCR applications development with Sling
Rapid JCR applications development with Sling
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Operating and supporting HBase Clusters
Operating and supporting HBase ClustersOperating and supporting HBase Clusters
Operating and supporting HBase Clusters
 
The Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal LandThe Case for using MongoDB in Social Game - Animal Land
The Case for using MongoDB in Social Game - Animal Land
 
Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2Java EE Servlet/JSP Tutorial- Cookbook 2
Java EE Servlet/JSP Tutorial- Cookbook 2
 
cosbench-openstack.pdf
cosbench-openstack.pdfcosbench-openstack.pdf
cosbench-openstack.pdf
 
Gofer 200707
Gofer 200707Gofer 200707
Gofer 200707
 
Lightweight Grids With Terracotta
Lightweight Grids With TerracottaLightweight Grids With Terracotta
Lightweight Grids With Terracotta
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison
 
Cosbench apac
Cosbench apacCosbench apac
Cosbench apac
 
ProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQLProxySQL - High Performance and HA Proxy for MySQL
ProxySQL - High Performance and HA Proxy for MySQL
 
How WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your ProductivityHow WebLogic 12c Can Boost Your Productivity
How WebLogic 12c Can Boost Your Productivity
 
Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013Launch webinar-introducing couchbase server 2.0-01202013
Launch webinar-introducing couchbase server 2.0-01202013
 
Designing enterprise drupal
Designing enterprise drupalDesigning enterprise drupal
Designing enterprise drupal
 
Severalnines Self-Training: MySQL® Cluster - Part VI
Severalnines Self-Training: MySQL® Cluster - Part VISeveralnines Self-Training: MySQL® Cluster - Part VI
Severalnines Self-Training: MySQL® Cluster - Part VI
 

Ähnlich wie Memcached and the Rise of the Dynamic Web

Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Gear6
 
Memcached, presented to LCA2010
Memcached, presented to LCA2010Memcached, presented to LCA2010
Memcached, presented to LCA2010Mark Atwood
 
Cloud Scaling with Memcached
Cloud Scaling with MemcachedCloud Scaling with Memcached
Cloud Scaling with MemcachedGear6
 
Introduction to First Commercial Memcached Service for Cloud
Introduction to First Commercial Memcached Service for CloudIntroduction to First Commercial Memcached Service for Cloud
Introduction to First Commercial Memcached Service for CloudGear6
 
Web standards, why care?
Web standards, why care?Web standards, why care?
Web standards, why care?Thomas Roessler
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talkicebourg
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Alexandre Morgaut
 
Virtual Data Centers with OpenStack Quantum
Virtual Data Centers with OpenStack QuantumVirtual Data Centers with OpenStack Quantum
Virtual Data Centers with OpenStack Quantumlaurabeckcahoon
 
Virtual data centers with OpenStack Quantum
Virtual data centers with OpenStack QuantumVirtual data centers with OpenStack Quantum
Virtual data centers with OpenStack QuantumLew Tucker
 
RunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfRunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfOpenStack Foundation
 
OpenStack Quantum - Past, Present & Future
OpenStack Quantum - Past, Present & FutureOpenStack Quantum - Past, Present & Future
OpenStack Quantum - Past, Present & FutureSomik Behera
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009Abhishek Mishra
 
Internet Programming With Python Presentation
Internet Programming With Python PresentationInternet Programming With Python Presentation
Internet Programming With Python PresentationAkramWaseem
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Alexandre Morgaut
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 

Ähnlich wie Memcached and the Rise of the Dynamic Web (20)

Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13Evolution of a Memcached Deployment Webinar 2010 01 13
Evolution of a Memcached Deployment Webinar 2010 01 13
 
Memcached, presented to LCA2010
Memcached, presented to LCA2010Memcached, presented to LCA2010
Memcached, presented to LCA2010
 
Cloud Scaling with Memcached
Cloud Scaling with MemcachedCloud Scaling with Memcached
Cloud Scaling with Memcached
 
Introduction to First Commercial Memcached Service for Cloud
Introduction to First Commercial Memcached Service for CloudIntroduction to First Commercial Memcached Service for Cloud
Introduction to First Commercial Memcached Service for Cloud
 
Web standards, why care?
Web standards, why care?Web standards, why care?
Web standards, why care?
 
HAProxy tech talk
HAProxy tech talkHAProxy tech talk
HAProxy tech talk
 
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
Wakanda: NoSQL & SSJS for Model-driven Web Applications - SourceDevCon 2012
 
Project Zero JavaOne 2008
Project Zero JavaOne 2008Project Zero JavaOne 2008
Project Zero JavaOne 2008
 
Virtual Data Centers with OpenStack Quantum
Virtual Data Centers with OpenStack QuantumVirtual Data Centers with OpenStack Quantum
Virtual Data Centers with OpenStack Quantum
 
Virtual data centers with OpenStack Quantum
Virtual data centers with OpenStack QuantumVirtual data centers with OpenStack Quantum
Virtual data centers with OpenStack Quantum
 
20080528dublinpt1
20080528dublinpt120080528dublinpt1
20080528dublinpt1
 
RunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdfRunningQuantumOnQuantumAtNicira.pdf
RunningQuantumOnQuantumAtNicira.pdf
 
OpenStack Quantum - Past, Present & Future
OpenStack Quantum - Past, Present & FutureOpenStack Quantum - Past, Present & Future
OpenStack Quantum - Past, Present & Future
 
The Beginning - Jan 20 2009
The Beginning - Jan 20 2009The Beginning - Jan 20 2009
The Beginning - Jan 20 2009
 
Internet Programming With Python Presentation
Internet Programming With Python PresentationInternet Programming With Python Presentation
Internet Programming With Python Presentation
 
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
 
Qcon
QconQcon
Qcon
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
VO Course 04: VO architecture
VO Course 04: VO architectureVO Course 04: VO architecture
VO Course 04: VO architecture
 
Data streaming
Data streamingData streaming
Data streaming
 

Kürzlich hochgeladen

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Kürzlich hochgeladen (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

Memcached and the Rise of the Dynamic Web

  • 1. Presented by: Bill Takacs – Director, Product Management September 2009
  • 2. Agenda •!Rise of the dynamic web! •!The web architecture! •!The evolution of a dynamic site and Memcached! •!Gear6 solution! 2 : Copyright 2009 Gear6 Inc.
  • 3. The Web: What’s Changed? •!Population! •!Tra"c! •!Content and applications! 3 : Copyright 2009 Gear6 Inc.
  • 4. Web Growth: Population Forrester: 2.2 billion people online globally by 2013 4 : Copyright 2009 Gear6 Inc.
  • 5. Web Growth: Traffic Cisco: “Annual global IP traffic will exceed two-thirds of a zettabyte (667 exabytes) in four years” [by 2013] Source: Cisco Visual Networking Index, 9 June 2009 5 : Copyright 2009 Gear6 Inc.
  • 6. Web Growth: Application & Content Entertainment ! Social Networking! Media ! Communication ! Community-generated content ! 6 : Copyright 2009 Gear6 Inc.
  • 7. But growth can be Growth can be painful painful (VERY)
  • 8. Web Architecture !! Most sites (over 65%) based on LAMP or JAVA !! Industry standard servers replaced proprietary SMP !! Shift to Dynamic Content puts strain on origin sites Web Stack Net Interface Storage Clients PHP, Java, Rails, C, Database! Internet Apache, Nginx, Servers! Servers# Perl, Python! PostgreSQL ! Lighttpd! MySQL, Web App Proxy CDN! Load Balancer 8 : Copyright 2009 Gear6 Inc.
  • 9. What to do? 9 : Copyright 2009 Gear6 Inc.
  • 10. New Caching Architecture for Scaling Out Web Stack Net Interface Storage Clients PHP, Java, Rails, C, Database! Internet Apache, Nginx, Servers! Servers# Perl, Python! PostgreSQL ! Lighttpd! MySQL, Web App Proxy CDN! Load Balancer Cache Servers memcached 10 : Copyright 2009 Gear6 Inc.
  • 11. Memcached: Pillar of Web 2.0 Architecture “Everything runs# from memory# in Web 2.0” ! Evan Weaver, Twitter, March 2009! 11 : Copyright 2009 Gear6 Inc.
  • 12. The Fix: Memcached “A high performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load”! •! Big hash table! •! Created by Danga Interactive for LiveJournal! •! Significantly reduced database load! •! Perfect for web sites with high database load! •! In use by Facebook, Twitter, MyYearbook, others! 12 : Copyright 2009 Gear6 Inc.
  • 13. Evolution of a Dynamic Site #1 A day in the life of a growing web service •! Event: Site has growth in number of users/sessions/page views/apps causing excessive read load on DB! •! Action: Replicate Database (and/or add more app servers)! App Server App Server App Server App Server App Server App Server App Server App Server App Server write! write! write! … MySQL MySQL MySQL 13 : Copyright 2009 Gear6 Inc.
  • 14. Evolution of a Dynamic Site #2 A day in the life of a growing web service •! Event: Individual caches on the app/db servers are overwhelmed from chaotic/non-deterministic content access! •! Action: Add memcached server on servers with underutilized memory resources… results in even fewer reads to database! memcached memcached memcached App Server App Server App Server App Server App Server App Server memcached memcached memcached App Server App Server App Server App Server App Server App Server write! write! write! write! … … MySQL MySQL MySQL MySQL 14 : Copyright 2009 Gear6 Inc.
  • 15. Evolution of a Dynamic Site #3 A day in the life of a growing web service •! Event: Memcached needs more memory resources than what is available on other (shared) servers! •! Action: Move memcached servers to dedicated servers! memcached memcached memcached App Server App Server App Server App Server App Server App Server memcached memcached memcached App Server App Server App Server App Server App Server App Server memcached memcached … memcached write! write! write! write! … … MySQL MySQL MySQL MySQL 15 : Copyright 2009 Gear6 Inc.
  • 16. What Memcached is NOT: A persistent data store! A database! Application-specific! A large object cache! Fault-tolerant or highly available! 16 : Copyright 2009 Gear6 Inc.
  • 17. Memcached: Best Practices •!Use with MySQL :-)! •!Careful with •!Use on 64-bit numbers of servers! connections! •!Cache “expensive »! Peak! operations”! »! Transitions! •!Cache bi- •!Evictions! directionally (R/W)! »! Segment Memcached data into separate pools ! •!Design to withstand •!Optimize sizing: failures gracefully! Instances and pools! •!Use consistent •!Instrumentation! hashing! 17 : Copyright 2009 Gear6 Inc.
  • 18. Memcache Use Cases Site Type Repeatable Use Social networking Profile caching Content aggregation HTML/page caching Ad targeting Cookie/profile tracking Gaming and entertainment Session caching Location-based services DB query scaling Relationship Session caching E-commerce Session and HTML caching 18 : Copyright 2009 Gear6 Inc.
  • 19. Use Case Example: Session Management •! 4m+ daily visitors! •! 15k hits/sec! •! 6k updates/sec! •! Tens of thousands concurrent connections! •! Session tracked and ads are placed in accordance to session! 19 : Copyright 2009 Gear6 Inc.
  • 20. Use Case Example: User Targeting Engine Recommendations on User webpages User Targeting Service User Targeting Service Memcached User Targeting Service Thin/fast memcache pool! Client layer memcache Thin/fast (reads) Client layer memcache Thin/fast (reads) Client layer (reads) Update processing Webserver / php (writes) Update processing Bulk/batch Load Balancer (writes) updates Update processing Load Balancer Load Balancer (writes) Hadoop! “Lazy” Updates Map/Reduce Jobs Data processing User targeting data From logs and other User profile updates systems Reports! Ad-Hoc Analysis Memcache repopulation (bulk updates, recovery) 20 : Copyright 2009 Gear6 Inc.
  • 21. Useful Memcached Tools advanced reporter! Track hot keys and clients in Memcached! wireshark! Dissect and analyze Memcached network tra"c! brutis! Size and test changes to memcache clusters! statsproxy! View bu$ered Memcached stats in your browser! cacti! Graph and analyze Memcached statistics! 21 : Copyright 2009 Gear6 Inc.
  • 22. Statsproxy + Cacti Templates To use the cacti templates for memcached with statsproxy, you either need to modify the templates to use port 8080 or change the statsproxy config to use port 11211 22 : Copyright 2009 Gear6 Inc.
  • 23. •! First and leading provider# of Memcached solutions! •! Memcached solution including! •! High density! •! High Availability! •! Advanced memory# management! •! Enhanced reporting# capabilities ! •! Support for multi-tenancy! •! Disruption free# software upgrades! •! 100% client compatible! 23 : Copyright 2009 Gear6 Inc.
  • 24. Questions? Thank you for attending our webinar ! “Memcached and the Rise of the New Dynamic Web”! and please visit our web site at: ! www.gear6.com! 24 : Copyright 2009 Gear6 Inc.
  • 25. References •! Danga.com! •! Highscalability.com! •! Dev.gear6.com! •! Groups.google.com/group/memcached! •! Code.google.com/p/memcached! •! Twitter.com/gearsix! •! Cacti.net! •! Wireshark.org! •! http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached- using-deployment.html! •! http://dev.mysql.com/doc/mysql-ha-scalability/en/ha-memcached- using-hashtypes.html! •! http://jayant7k.blogspot.com/2009/04/memcached-replication.html! •! http://www.lexemetech.com/2007/11/consistent-hashing.html! •! http://www8.org/w8-papers/2a-webserver/caching/paper2.htmlhttp:// www.last.fm/user/RJ/journal/2007/04/10/rz_libketama_- _a_consistent_hashing_algo_for_memcache_clients! •! http://bazaar.launchpad.net/~libmemcached-developers/libmemcached/ trunk/revision/539! 25 : Copyright 2009 Gear6 Inc.