SlideShare uma empresa Scribd logo
1 de 26
The Scaling Habits of ASP.NET
         Applications
        Richard Campbell
Richard Campbell
• Background
  – After thirty years, done every job in the computer
    industry you’ve ever heard of
• Currently
  – Co-Founder of Strangeloop Networks
  – Co-Host of .NET Rocks!
  – Host of RunAs Radio
50 000 foot view
                                                         Business Success

                                           Business
                                           Traction
                            Make it Work
                            Right
Page Views




             Make it Work




              Version 1      Version 2       Version 3     Version N
                                         Time
What are we measuring?
• Capacity
   – Total number of known users
   – Number of active users (aka active sessions)
   – Number of concurrent users (aka concurrent requests)
• Throughput
   – Page Views per Month
   – Requests per Second
   – Transactions per Second
• Performance
   – Load time in milliseconds
   – Time to first byte (TTFB), Time to last byte (TTLB)
The Anatomy of a Web Request
Performance Equation


       Legend:

        R:                                    Response time

        RTT:                                  Round Trip Time

        App Turns:                            Http Requests

        Concurrent Requests:                  # server sockets open by browser

        Cs:                                   Server Side Compute time

        Cc:                                   Client Compute time
Source: Field Guide to Application Delivery Systems, by Peter Sevcik and Rebecca Wetzel, NetForecast
Where do the numbers come from?



                                                                                                                 Server Code Timing: 0.8 secs



                          4.5 sec


                                                                                                                    Client Code Timing: 1.2 secs


                                       http://www.speedtest.net/




                                                                   Ping statistics for 209.162.190.188:
                                                                       Packets: Sent = 4, Received = 4, Lost = 0 (0%
                                                                   loss),
                                                                   Approximate round trip times in milli-seconds:
                                                                       Minimum = 80ms, Maximum = 92ms, Average = 85ms

http://www.websiteoptimization.com/services/analyze/
Performance Spreadsheet



                               Factor 1       Factor 2              Factor 3               Time
P1 = Payload/Bandwidth          208 KB Payload 717 KB/Sec Bandwidth                          0.29 seconds
P2 = AppTurns * Roundtrip Time   51 Appturns     85 ms Roundtrip     2 Concurrent Requests 2.168 seconds
P3 = Compute Time at Server     0.8 Seconds                                                   0.8 seconds
P4 = Compute Time at Client     1.2 Seconds                                                   1.2 seconds
                                                                                           4.458 seconds
Version 1: Make it work
• Get Version 1 out the door
• Define the initial hardware platform
• Meet the launch date




          The only one who likes your app is you
Scaling Habits
•   10 to 50 requests/second
•   5 to 15 users
•   15 active sessions at peak
•   Problems with performance on areas of the
    site
    – Multi-User Issues
    – Complex input screens
    – Reports
Solutions for Version 1
• Fix logical scaling problems
  – Multi-user data access
• Get user feedback
  – Humiliating but useful
  – Fix the actual user pains
  – Watch your app in use
Version 2: Make it work right

• Focus on features
  – What is missing
• Bug Fixing
• Rethink the App or UI
  – Some new directions
• Larger and more diverse users
  base
               Now your boss likes your app too
Scaling Habits
•   50 to 100 requests/second
•   15 to 50 users (5-10 are remote!)
•   30 active sessions at peak
•   Problems
    – Fights with IT over remote access
    – Reach the single server limit
       • What does this look like?
What does it really look like?
•   Memory consumption above 80%
•   Processor consumption at 100% all the time
•   Request queues start to grow out of hand
•   Page timeouts (server not available)
•   Sessions get lost
•   People can’t finish their work!
Solutions for Version 2
• More Hardware
  – Dedicated web server
  – Separate database server (probably shared)
• Find the low hanging fruit
  – Fix querying
  – Get your page size under control
Version 3: Business Traction

• Weighing business priorities
  – Formal IT transition point
  – There is budget
• Scaling versus Reliability
  – Which one is more important
• 99% verses 100% up time
  – Cost of Reliability
                    People you don’t know like your app
Scaling Habits
•   300 to 1000 requests/second
•   100 to 500 users
•   300 active sessions at peak
•   Problems
    – Performance is now front and center
    – Consequences of downtime are now significant
Network vs. Development IQ

• Network IQ Test               • Development IQ Test
   – Explain each of the           – Explain the network
     Web.config file                 diagram of your
   – Explain the load-               application
     balancing scheme              – Explain how to access the
     required by the app             production log files
   – Explain the bottlenecks       – Explain the redundancy
     of the production system        model of the production
                                     system
Solutions for Version 3
• Move to multiple web servers: You need a load balancer
• More bandwidth: Move to a hosting facility
• Get methodical, use profiling
   – Red Gate Ants, SQL Profiler, Web Site Optimizer
• Get the facts on the problem areas
   – Work methodically and for the business on addressing
     slowest lines of code
   – Focus on understanding what the right architecture is
     rather than ad-hoc architecting
• Let the caching begin!
Version N: Business Success

• IT costs now out weigh the software development
• Getting new features to production takes months
   – Or Cowboy it! (which always happens)
• IT and Dev process is a focus – Tech Politics




                     It’s no longer your app
Scaling Habits
•   500+ requests/second
•   5000+ users
•   3000 active sessions at peak
•   Problems
    – Running out of memory with inproc sessions
    – Worker process recycling
    – Cache Coherency
    – Session Management
A Word About Load-balancing

                                           Sticky vs. Round
                      Load Balancer         Robin vs. WMI
                        Virtual IP



Web Server 1   Web Server 2     Web Server 3    Web Server 4




                      Persistent Data
                        Session?
Performance and Scale
• Now the problem is that scale and
  performance are intertwined
  – A new class of ‘timing’ problem shows up under
    load (and are almost impossible to reproduce
    outside of production)
  – Caches are flushed more than expected
     • And performance plummets
Solutions for Version N
• Your architecture is now hardware and software
   – Use third party accelerators
   – Create a performance team and focus on best practices
   – Use content routing
      • Separate and pre-generate all static resources
• Cache, cache, and more cache
   – Output Cache – All static pages are cached
   – Response.Cache – Look for database gets with few updates
Summary
• Focus on actual user performance problems
  – What is reality?
• Start with low hanging fruit
• Use methodical, empirical performance
  improvement
• At large scale, the network is the computer

Mais conteúdo relacionado

Mais procurados

Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Keith Brooks
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like thatSharon James
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowTodd Palino
 
Patterns of enterprise application architecture
Patterns of enterprise application architecturePatterns of enterprise application architecture
Patterns of enterprise application architecturethlias
 
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 20161049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016panagenda
 
Netdruid Presentation
Netdruid PresentationNetdruid Presentation
Netdruid Presentationdineshmisal
 
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...Benedek Menesi
 
02 2017 emea_roadshow_milan_ha
02 2017 emea_roadshow_milan_ha02 2017 emea_roadshow_milan_ha
02 2017 emea_roadshow_milan_hamlraviol
 
Resilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes BackResilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes BackC4Media
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the ServerXBOSoft
 
Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.jhugg
 
GWAVACon 2013: Novell Service Desk Design, Deployment
GWAVACon 2013: Novell Service Desk Design, DeploymentGWAVACon 2013: Novell Service Desk Design, Deployment
GWAVACon 2013: Novell Service Desk Design, DeploymentGWAVA
 
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleHow LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleLinkedIn
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016David Hablewitz
 
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, OracleIssues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oraclemfrancis
 
WAMP as a platform for composite SOA applications and its implementation on Lua
WAMP as a platform for composite SOA applications and its implementation on LuaWAMP as a platform for composite SOA applications and its implementation on Lua
WAMP as a platform for composite SOA applications and its implementation on LuaKonstantin Burkalev
 
Managing Remote Teams
Managing Remote TeamsManaging Remote Teams
Managing Remote TeamsDell World
 
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017Introducing Zeebe.io at Camunda Meetup Vienna 10/2017
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017Daniel Meyer
 

Mais procurados (20)

Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
Domino Domain Monitoring, Letting Admins Sleep Later and Stay at Pubs Longer ...
 
You don't want to do it like that
You don't want to do it like thatYou don't want to do it like that
You don't want to do it like that
 
URP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to KnowURP? Excuse You! The Three Kafka Metrics You Need to Know
URP? Excuse You! The Three Kafka Metrics You Need to Know
 
Ap61
Ap61Ap61
Ap61
 
Patterns of enterprise application architecture
Patterns of enterprise application architecturePatterns of enterprise application architecture
Patterns of enterprise application architecture
 
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 20161049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
1049: Best and Worst Practices for Deploying IBM Connections - IBM Connect 2016
 
Netdruid Presentation
Netdruid PresentationNetdruid Presentation
Netdruid Presentation
 
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...
 
02 2017 emea_roadshow_milan_ha
02 2017 emea_roadshow_milan_ha02 2017 emea_roadshow_milan_ha
02 2017 emea_roadshow_milan_ha
 
Resilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes BackResilience Planning & How the Empire Strikes Back
Resilience Planning & How the Empire Strikes Back
 
Mobile Performance Testing - Testing the Server
Mobile Performance Testing  - Testing the ServerMobile Performance Testing  - Testing the Server
Mobile Performance Testing - Testing the Server
 
Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.Transactional Streaming: If you can compute it, you can probably stream it.
Transactional Streaming: If you can compute it, you can probably stream it.
 
GWAVACon 2013: Novell Service Desk Design, Deployment
GWAVACon 2013: Novell Service Desk Design, DeploymentGWAVACon 2013: Novell Service Desk Design, Deployment
GWAVACon 2013: Novell Service Desk Design, Deployment
 
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scaleHow LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
How LinkedIn uses memcached, a spoonful of SOA, and a sprinkle of SQL to scale
 
SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016SmartCloud Administration Best Practices MWLUG 2016
SmartCloud Administration Best Practices MWLUG 2016
 
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, OracleIssues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle
Issues in Designing Push Based Mobile Application Platform - Rafiul Ahad, Oracle
 
WAMP as a platform for composite SOA applications and its implementation on Lua
WAMP as a platform for composite SOA applications and its implementation on LuaWAMP as a platform for composite SOA applications and its implementation on Lua
WAMP as a platform for composite SOA applications and its implementation on Lua
 
Five steps perform_2013
Five steps perform_2013Five steps perform_2013
Five steps perform_2013
 
Managing Remote Teams
Managing Remote TeamsManaging Remote Teams
Managing Remote Teams
 
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017Introducing Zeebe.io at Camunda Meetup Vienna 10/2017
Introducing Zeebe.io at Camunda Meetup Vienna 10/2017
 

Destaque

Healthstory Enabling The Emr Dictation To Clinical Data
Healthstory Enabling The Emr   Dictation To Clinical DataHealthstory Enabling The Emr   Dictation To Clinical Data
Healthstory Enabling The Emr Dictation To Clinical DataNick van Terheyden
 
Daniel's Journal
Daniel's JournalDaniel's Journal
Daniel's Journalzzzdbsgh
 
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"Eugenio Agnello
 
Analisi Sismica Secondo Le N.T.C.2008
Analisi Sismica Secondo Le N.T.C.2008Analisi Sismica Secondo Le N.T.C.2008
Analisi Sismica Secondo Le N.T.C.2008Eugenio Agnello
 
A C H P E R
A C H P E RA C H P E R
A C H P E Rmrrobbo
 
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian Link
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian LinkAdvice for Entrepreneurs from an Internet Startup Enthusiast, Brian Link
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian LinkBrian Link
 
Closing the talent gap teachers
Closing the talent gap teachersClosing the talent gap teachers
Closing the talent gap teachersRaimundo Rubio
 
A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...Emilio L. Cano
 
Ontological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge BasesOntological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge BasesUniversity of New South Wales
 
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008jackthur
 
Gray Routes Company Profile
Gray Routes Company ProfileGray Routes Company Profile
Gray Routes Company ProfileSoubhagya Sahoo
 
Jackthurston re publica
Jackthurston re publicaJackthurston re publica
Jackthurston re publicajackthur
 
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il Vino
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il VinoVota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il Vino
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il VinoEugenio Agnello
 

Destaque (20)

Healthstory Enabling The Emr Dictation To Clinical Data
Healthstory Enabling The Emr   Dictation To Clinical DataHealthstory Enabling The Emr   Dictation To Clinical Data
Healthstory Enabling The Emr Dictation To Clinical Data
 
Agamenón y Clitemnestra
Agamenón y ClitemnestraAgamenón y Clitemnestra
Agamenón y Clitemnestra
 
Daniel's Journal
Daniel's JournalDaniel's Journal
Daniel's Journal
 
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"
CORSO TECNICO: “IL SOLARE TERMICO: TEORIA E ASPETTI APPLICATIVI"
 
Health Story RSNA 2011 Update
Health Story RSNA 2011 UpdateHealth Story RSNA 2011 Update
Health Story RSNA 2011 Update
 
Declarative analysis of noisy information networks
Declarative analysis of noisy information networksDeclarative analysis of noisy information networks
Declarative analysis of noisy information networks
 
Gremlin
Gremlin Gremlin
Gremlin
 
Analisi Sismica Secondo Le N.T.C.2008
Analisi Sismica Secondo Le N.T.C.2008Analisi Sismica Secondo Le N.T.C.2008
Analisi Sismica Secondo Le N.T.C.2008
 
Software evaluation
Software evaluationSoftware evaluation
Software evaluation
 
Real grade survey
Real grade surveyReal grade survey
Real grade survey
 
A C H P E R
A C H P E RA C H P E R
A C H P E R
 
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian Link
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian LinkAdvice for Entrepreneurs from an Internet Startup Enthusiast, Brian Link
Advice for Entrepreneurs from an Internet Startup Enthusiast, Brian Link
 
Norme Tecniche 2008
Norme Tecniche 2008Norme Tecniche 2008
Norme Tecniche 2008
 
Closing the talent gap teachers
Closing the talent gap teachersClosing the talent gap teachers
Closing the talent gap teachers
 
A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...
 
Ontological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge BasesOntological Conjunctive Query Answering over Large Knowledge Bases
Ontological Conjunctive Query Answering over Large Knowledge Bases
 
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008
Jack Thurston talk at EU budget and CAP conference: Prague, 11 December 2008
 
Gray Routes Company Profile
Gray Routes Company ProfileGray Routes Company Profile
Gray Routes Company Profile
 
Jackthurston re publica
Jackthurston re publicaJackthurston re publica
Jackthurston re publica
 
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il Vino
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il VinoVota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il Vino
Vota l’Etichetta del Vino della Valle dei Templi di Agrigento e Vinci il Vino
 

Semelhante a Scaling habits of ASP.NET

Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented DesignRodrigo Campos
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudyJohn Adams
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsRonny López
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler
 
Cloud Security Monitoring and Spark Analytics
Cloud Security Monitoring and Spark AnalyticsCloud Security Monitoring and Spark Analytics
Cloud Security Monitoring and Spark Analyticsamesar0
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestRodolfo Kohn
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterJohn Adams
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitterRoger Xia
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...smallerror
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...xlight
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDogRedis Labs
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics HeroTechWell
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabitsYves Goeleven
 
Web Performance BootCamp 2013
Web Performance BootCamp 2013Web Performance BootCamp 2013
Web Performance BootCamp 2013Daniel Austin
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology confluent
 
Experience with Kafka & Storm
Experience with Kafka & StormExperience with Kafka & Storm
Experience with Kafka & StormOtto Mok
 

Semelhante a Scaling habits of ASP.NET (20)

Performance Oriented Design
Performance Oriented DesignPerformance Oriented Design
Performance Oriented Design
 
Play With Streams
Play With StreamsPlay With Streams
Play With Streams
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Adding Real-time Features to PHP Applications
Adding Real-time Features to PHP ApplicationsAdding Real-time Features to PHP Applications
Adding Real-time Features to PHP Applications
 
Eric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New ContextsEric Proegler Oredev Performance Testing in New Contexts
Eric Proegler Oredev Performance Testing in New Contexts
 
Cloud Security Monitoring and Spark Analytics
Cloud Security Monitoring and Spark AnalyticsCloud Security Monitoring and Spark Analytics
Cloud Security Monitoring and Spark Analytics
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitter
 
Fixing_Twitter
Fixing_TwitterFixing_Twitter
Fixing_Twitter
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
Monitoring and Scaling Redis at DataDog - Ilan Rabinovitch, DataDog
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
 
Web Performance BootCamp 2013
Web Performance BootCamp 2013Web Performance BootCamp 2013
Web Performance BootCamp 2013
 
A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology A Practical Guide to Selecting a Stream Processing Technology
A Practical Guide to Selecting a Stream Processing Technology
 
Experience with Kafka & Storm
Experience with Kafka & StormExperience with Kafka & Storm
Experience with Kafka & Storm
 
Internals of Presto Service
Internals of Presto ServiceInternals of Presto Service
Internals of Presto Service
 

Mais de David Giard

Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022David Giard
 
Azure data factory
Azure data factoryAzure data factory
Azure data factoryDavid Giard
 
University of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureUniversity of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureDavid Giard
 
University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018David Giard
 
Intro to cloud and azure
Intro to cloud and azureIntro to cloud and azure
Intro to cloud and azureDavid Giard
 
Azure and deep learning
Azure and deep learningAzure and deep learning
Azure and deep learningDavid Giard
 
Azure and Deep Learning
Azure and Deep LearningAzure and Deep Learning
Azure and Deep LearningDavid Giard
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and rollDavid Giard
 
Own your own career advice from a veteran consultant
Own your own career   advice from a veteran consultantOwn your own career   advice from a veteran consultant
Own your own career advice from a veteran consultantDavid Giard
 
You and Your Tech Community
You and Your Tech CommunityYou and Your Tech Community
You and Your Tech CommunityDavid Giard
 
Microsoft Azure IoT overview
Microsoft Azure IoT overviewMicrosoft Azure IoT overview
Microsoft Azure IoT overviewDavid Giard
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and rollDavid Giard
 
Big Data on azure
Big Data on azureBig Data on azure
Big Data on azureDavid Giard
 
Microsoft azure without microsoft
Microsoft azure without microsoftMicrosoft azure without microsoft
Microsoft azure without microsoftDavid Giard
 
Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile appsDavid Giard
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesDavid Giard
 
Effective Data Visualization
Effective Data VisualizationEffective Data Visualization
Effective Data VisualizationDavid Giard
 
Angular2 and TypeScript
Angular2 and TypeScriptAngular2 and TypeScript
Angular2 and TypeScriptDavid Giard
 

Mais de David Giard (20)

Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
 
Azure functions
Azure functionsAzure functions
Azure functions
 
University of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureUniversity of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft Azure
 
University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018
 
Intro to cloud and azure
Intro to cloud and azureIntro to cloud and azure
Intro to cloud and azure
 
Azure and deep learning
Azure and deep learningAzure and deep learning
Azure and deep learning
 
Azure and Deep Learning
Azure and Deep LearningAzure and Deep Learning
Azure and Deep Learning
 
Custom vision
Custom visionCustom vision
Custom vision
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and roll
 
Own your own career advice from a veteran consultant
Own your own career   advice from a veteran consultantOwn your own career   advice from a veteran consultant
Own your own career advice from a veteran consultant
 
You and Your Tech Community
You and Your Tech CommunityYou and Your Tech Community
You and Your Tech Community
 
Microsoft Azure IoT overview
Microsoft Azure IoT overviewMicrosoft Azure IoT overview
Microsoft Azure IoT overview
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and roll
 
Big Data on azure
Big Data on azureBig Data on azure
Big Data on azure
 
Microsoft azure without microsoft
Microsoft azure without microsoftMicrosoft azure without microsoft
Microsoft azure without microsoft
 
Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile apps
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
 
Effective Data Visualization
Effective Data VisualizationEffective Data Visualization
Effective Data Visualization
 
Angular2 and TypeScript
Angular2 and TypeScriptAngular2 and TypeScript
Angular2 and TypeScript
 

Último

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Último (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

Scaling habits of ASP.NET

  • 1. The Scaling Habits of ASP.NET Applications Richard Campbell
  • 2. Richard Campbell • Background – After thirty years, done every job in the computer industry you’ve ever heard of • Currently – Co-Founder of Strangeloop Networks – Co-Host of .NET Rocks! – Host of RunAs Radio
  • 3. 50 000 foot view Business Success Business Traction Make it Work Right Page Views Make it Work Version 1 Version 2 Version 3 Version N Time
  • 4. What are we measuring? • Capacity – Total number of known users – Number of active users (aka active sessions) – Number of concurrent users (aka concurrent requests) • Throughput – Page Views per Month – Requests per Second – Transactions per Second • Performance – Load time in milliseconds – Time to first byte (TTFB), Time to last byte (TTLB)
  • 5. The Anatomy of a Web Request
  • 6. Performance Equation Legend: R: Response time RTT: Round Trip Time App Turns: Http Requests Concurrent Requests: # server sockets open by browser Cs: Server Side Compute time Cc: Client Compute time Source: Field Guide to Application Delivery Systems, by Peter Sevcik and Rebecca Wetzel, NetForecast
  • 7. Where do the numbers come from? Server Code Timing: 0.8 secs 4.5 sec Client Code Timing: 1.2 secs http://www.speedtest.net/ Ping statistics for 209.162.190.188: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 80ms, Maximum = 92ms, Average = 85ms http://www.websiteoptimization.com/services/analyze/
  • 8. Performance Spreadsheet Factor 1 Factor 2 Factor 3 Time P1 = Payload/Bandwidth 208 KB Payload 717 KB/Sec Bandwidth 0.29 seconds P2 = AppTurns * Roundtrip Time 51 Appturns 85 ms Roundtrip 2 Concurrent Requests 2.168 seconds P3 = Compute Time at Server 0.8 Seconds 0.8 seconds P4 = Compute Time at Client 1.2 Seconds 1.2 seconds 4.458 seconds
  • 9. Version 1: Make it work • Get Version 1 out the door • Define the initial hardware platform • Meet the launch date The only one who likes your app is you
  • 10. Scaling Habits • 10 to 50 requests/second • 5 to 15 users • 15 active sessions at peak • Problems with performance on areas of the site – Multi-User Issues – Complex input screens – Reports
  • 11. Solutions for Version 1 • Fix logical scaling problems – Multi-user data access • Get user feedback – Humiliating but useful – Fix the actual user pains – Watch your app in use
  • 12. Version 2: Make it work right • Focus on features – What is missing • Bug Fixing • Rethink the App or UI – Some new directions • Larger and more diverse users base Now your boss likes your app too
  • 13. Scaling Habits • 50 to 100 requests/second • 15 to 50 users (5-10 are remote!) • 30 active sessions at peak • Problems – Fights with IT over remote access – Reach the single server limit • What does this look like?
  • 14.
  • 15. What does it really look like? • Memory consumption above 80% • Processor consumption at 100% all the time • Request queues start to grow out of hand • Page timeouts (server not available) • Sessions get lost • People can’t finish their work!
  • 16. Solutions for Version 2 • More Hardware – Dedicated web server – Separate database server (probably shared) • Find the low hanging fruit – Fix querying – Get your page size under control
  • 17. Version 3: Business Traction • Weighing business priorities – Formal IT transition point – There is budget • Scaling versus Reliability – Which one is more important • 99% verses 100% up time – Cost of Reliability People you don’t know like your app
  • 18. Scaling Habits • 300 to 1000 requests/second • 100 to 500 users • 300 active sessions at peak • Problems – Performance is now front and center – Consequences of downtime are now significant
  • 19. Network vs. Development IQ • Network IQ Test • Development IQ Test – Explain each of the – Explain the network Web.config file diagram of your – Explain the load- application balancing scheme – Explain how to access the required by the app production log files – Explain the bottlenecks – Explain the redundancy of the production system model of the production system
  • 20. Solutions for Version 3 • Move to multiple web servers: You need a load balancer • More bandwidth: Move to a hosting facility • Get methodical, use profiling – Red Gate Ants, SQL Profiler, Web Site Optimizer • Get the facts on the problem areas – Work methodically and for the business on addressing slowest lines of code – Focus on understanding what the right architecture is rather than ad-hoc architecting • Let the caching begin!
  • 21. Version N: Business Success • IT costs now out weigh the software development • Getting new features to production takes months – Or Cowboy it! (which always happens) • IT and Dev process is a focus – Tech Politics It’s no longer your app
  • 22. Scaling Habits • 500+ requests/second • 5000+ users • 3000 active sessions at peak • Problems – Running out of memory with inproc sessions – Worker process recycling – Cache Coherency – Session Management
  • 23. A Word About Load-balancing Sticky vs. Round Load Balancer Robin vs. WMI Virtual IP Web Server 1 Web Server 2 Web Server 3 Web Server 4 Persistent Data Session?
  • 24. Performance and Scale • Now the problem is that scale and performance are intertwined – A new class of ‘timing’ problem shows up under load (and are almost impossible to reproduce outside of production) – Caches are flushed more than expected • And performance plummets
  • 25. Solutions for Version N • Your architecture is now hardware and software – Use third party accelerators – Create a performance team and focus on best practices – Use content routing • Separate and pre-generate all static resources • Cache, cache, and more cache – Output Cache – All static pages are cached – Response.Cache – Look for database gets with few updates
  • 26. Summary • Focus on actual user performance problems – What is reality? • Start with low hanging fruit • Use methodical, empirical performance improvement • At large scale, the network is the computer