SlideShare a Scribd company logo
1 of 38
ASP.NET Web
          Standards and
GO BIG!   Performance
          Pranav Rastogi
Standards & Performance

Develop    Debug   Real Time Web




                   Lightning Fast
Optimize           Web Server
Develop & Debug
Develop & Debug
•   Why Standards?
•   VS enhancements
•   Editors++
•   Page Inspector
Develop & Debug
Develop & Debug
• Enable cross platforms scenarios
• Ease of development
• Page Inspector
Optimization
Amazon


  100 ms slower = 1% drop in sales
         $932,000 per day
Application Tiers
Application Tiers
Request Tree
Processing Time
Optimization
Optimized for the world
•   Why should you care
•   CSS/JS minification & bundling
•   Image Optimization
•   Compression
•   Caching
Real Time Web
What is this?

Chat      CricInfo   Sharing




Twitter              Online Booking
Real Time Web
 Polling

  Long
 Polling

 Sockets
Real Time Web
           10 Client requests update from server.
              Server responds immediately,
 Polling       whether or not there is new data.
           20 Client waits X seconds.
           30 GOTO 10 getNewInfo() {
              function
  Long             $.ajax("url", function(newInfo) {
                       if (newInfo != null) {
 Polling               }
                           // Do something with newInfo

                   }); // Poll again after 30 seconds
                   setTimeout(getNewInfo, 30000);
 Sockets        }
                // Begin the polling loop
                getNewInfo();
Real Time Web
           10 Client requests update from server
           20 Server leaves request hanging open
 Polling      until there is new data, then responds
           30 GOTO 10
                function getNewInfo() {
  Long              $.ajax("url", function(newInfo) {
                        // Do something with newInfo
 Polling                 // Poll again immediately
                         getNewInfo();
                   });
 Sockets        }
                // Begin the polling loop
                getNewInfo();
Real Time Web
           10 Client opens HTTP connection with
              "Upgrade: WebSockets" header;
 Polling      Server leaves connection open.
           20 Server sends new data when available
              Connection remains open
           30 GOTO 20
  Long          // Open a socket connection
                var socket = new WebSocket("url");
 Polling
                socket.onmessage = function(msg) {
                    var newInfo = msg.data;
                    // Do something with newInfo
Sockets         }
Obligatory warning

   Q: Can I use WebSockets in production today?

   A: No – still waiting for:
      Widespread browser support
      Widespread network support
      Platform support
SignalR
Real Time Web
•   What is this?
•   Polling
•   WebSockets
•   SignalR
Lightning
Fast Server
Key performance factors
• Startup time
• Memory Consumption
• Talk to your web hoster
ASP.NET 4.5 Improvements
• Sharing Common Assemblies
   • aspnet_intern -mode exec -sourcedir
     "C:inetpubwwwrootCricketBlog" -
     interndir
     C:ASPNETCommonAssemblies
ASP.NET 4.5 Improvements
• Sharing Common Assemblies
  Site1
  MVC.dll
ASP.NET 4.5 Improvements
• Sharing Common Assemblies
  Site1
  MVC.dll


  Site2
  MVC.dll
ASP.NET 4.5 Improvements
• Sharing Common Assemblies
  Site1
                 Interned
                  MVC.dll

  Site2
ASP.NET 4.5 Improvements
• Prefetching for web applications
• JIT compilation for fast startup
• Garbage collection
IIS8
•   Site density
•   Scalability
•   Memory Consumption
•   Disk I/O
http://blogs.msdn.com/b/josere/archive/2011/09/13/performance-
improvements-for-asp-net-shared-hosting-scenarios.aspx
IIS 8
Lightning Fast Server
• ASP.NET
• IIS8
• Talk to your web hoster
In the end

Develop         Debug   Optimize




                        Lightning Fast
Real Time Web           Server
What to do next?
Download       Learn
               • ASP.NET    Get Involved
               • Stack      •   Share an idea
• VS 11 Beta     Overflow   •   Open Bugs
• SignalR      • ASP.NET    •   My Blog
• Image          Forums     •   @rustd
  Optimizer    • IIS8
Slides/Demo
• http://blogs.msdn.com/b/pranav_rastog
  i/
• Twitter : @rustd
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or
may be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes
                   only and represents the current view of Microsoft Corporation as of the date of this presentation.
   Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of
       Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
      MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS
                                                          PRESENTATION.

More Related Content

What's hot

What's hot (16)

Node
NodeNode
Node
 
WebSockets Jump Start
WebSockets Jump StartWebSockets Jump Start
WebSockets Jump Start
 
Mux loves Clickhouse. By Adam Brown, Mux founder
Mux loves Clickhouse. By Adam Brown, Mux founderMux loves Clickhouse. By Adam Brown, Mux founder
Mux loves Clickhouse. By Adam Brown, Mux founder
 
Fetch Company's statististics from Yahoo Finance and save it info a Google Sh...
Fetch Company's statististics from Yahoo Finance and save it info a Google Sh...Fetch Company's statististics from Yahoo Finance and save it info a Google Sh...
Fetch Company's statististics from Yahoo Finance and save it info a Google Sh...
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 
Demystifying HTML5
Demystifying HTML5Demystifying HTML5
Demystifying HTML5
 
AtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-onsAtlasCamp 2014: Static Connect Add-ons
AtlasCamp 2014: Static Connect Add-ons
 
Inside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYCInside election night at The New York Times | Altitude NYC
Inside election night at The New York Times | Altitude NYC
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
 
Building Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using WebsocketsBuilding Next Generation Real-Time Web Applications using Websockets
Building Next Generation Real-Time Web Applications using Websockets
 
Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"Webinar slides "Building Real-Time Collaborative Web Applications"
Webinar slides "Building Real-Time Collaborative Web Applications"
 
The HTML5 WebSocket API
The HTML5 WebSocket APIThe HTML5 WebSocket API
The HTML5 WebSocket API
 
Amazon resource for bioinformatics
Amazon resource for bioinformaticsAmazon resource for bioinformatics
Amazon resource for bioinformatics
 
Drupal 8 and NGINX
Drupal 8 and NGINX Drupal 8 and NGINX
Drupal 8 and NGINX
 
Architecting Windows Azure
Architecting Windows AzureArchitecting Windows Azure
Architecting Windows Azure
 
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
NodeJS & Socket IO on Microsoft Azure Cloud Web Sites - DWX 2014
 

Viewers also liked (7)

Webforms
WebformsWebforms
Webforms
 
Web forms
Web formsWeb forms
Web forms
 
Road Show Asp Net
Road Show Asp NetRoad Show Asp Net
Road Show Asp Net
 
Asp.net identity dot netconf
Asp.net identity dot netconfAsp.net identity dot netconf
Asp.net identity dot netconf
 
Microsoft asp.net identity security
Microsoft asp.net identity  securityMicrosoft asp.net identity  security
Microsoft asp.net identity security
 
Microsoft signal r
Microsoft signal rMicrosoft signal r
Microsoft signal r
 
Web forms- DevIntersection
Web forms- DevIntersectionWeb forms- DevIntersection
Web forms- DevIntersection
 

Similar to Webstandards_TechEdIndia

WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
Viktor Gamov
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
Eugene Zharkov
 

Similar to Webstandards_TechEdIndia (20)

WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java DevelopersWebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
WebSockets: The Current State of the Most Valuable HTML5 API for Java Developers
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
 
06 web api
06 web api06 web api
06 web api
 
Android Performance #4: Network
Android Performance #4: NetworkAndroid Performance #4: Network
Android Performance #4: Network
 
Integration and Automation @ mobile.de (eBay Tech Talk)
Integration and Automation @ mobile.de (eBay Tech Talk)Integration and Automation @ mobile.de (eBay Tech Talk)
Integration and Automation @ mobile.de (eBay Tech Talk)
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
03 integrate webapisignalr
03 integrate webapisignalr03 integrate webapisignalr
03 integrate webapisignalr
 
Monitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windowsMonitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windows
 
Tips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC ApplicationsTips and Tricks For Faster Asp.NET and MVC Applications
Tips and Tricks For Faster Asp.NET and MVC Applications
 
Intro to WebSockets (in Java)
Intro to WebSockets (in Java)Intro to WebSockets (in Java)
Intro to WebSockets (in Java)
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approach
 
3 Mobile App Dev Problems - Monospace
3 Mobile App Dev Problems - Monospace3 Mobile App Dev Problems - Monospace
3 Mobile App Dev Problems - Monospace
 
Philly Tech Fest Iis
Philly Tech Fest IisPhilly Tech Fest Iis
Philly Tech Fest Iis
 
Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Web Leaps Forward
Web Leaps ForwardWeb Leaps Forward
Web Leaps Forward
 
Web servers for the Internet of Things
Web servers for the Internet of ThingsWeb servers for the Internet of Things
Web servers for the Internet of Things
 
SignalR: Add real-time to your applications
SignalR: Add real-time to your applicationsSignalR: Add real-time to your applications
SignalR: Add real-time to your applications
 
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud PlatformBackend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
 
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud PlatformBackend, app e internet das coisas com NodeJS no Google Cloud Platform
Backend, app e internet das coisas com NodeJS no Google Cloud Platform
 
Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?Why is this ASP.NET web app running slowly?
Why is this ASP.NET web app running slowly?
 

Recently uploaded

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
negromaestrong
 

Recently uploaded (20)

How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Seal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptxSeal of Good Local Governance (SGLG) 2024Final.pptx
Seal of Good Local Governance (SGLG) 2024Final.pptx
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 

Webstandards_TechEdIndia

  • 1. ASP.NET Web Standards and GO BIG! Performance Pranav Rastogi
  • 2. Standards & Performance Develop Debug Real Time Web Lightning Fast Optimize Web Server
  • 4. Develop & Debug • Why Standards? • VS enhancements • Editors++ • Page Inspector
  • 6. Develop & Debug • Enable cross platforms scenarios • Ease of development • Page Inspector
  • 8. Amazon 100 ms slower = 1% drop in sales $932,000 per day
  • 14. Optimized for the world • Why should you care • CSS/JS minification & bundling • Image Optimization • Compression • Caching
  • 16. What is this? Chat CricInfo Sharing Twitter Online Booking
  • 17. Real Time Web Polling Long Polling Sockets
  • 18. Real Time Web 10 Client requests update from server. Server responds immediately, Polling whether or not there is new data. 20 Client waits X seconds. 30 GOTO 10 getNewInfo() { function Long $.ajax("url", function(newInfo) { if (newInfo != null) { Polling } // Do something with newInfo }); // Poll again after 30 seconds setTimeout(getNewInfo, 30000); Sockets } // Begin the polling loop getNewInfo();
  • 19. Real Time Web 10 Client requests update from server 20 Server leaves request hanging open Polling until there is new data, then responds 30 GOTO 10 function getNewInfo() { Long $.ajax("url", function(newInfo) { // Do something with newInfo Polling // Poll again immediately getNewInfo(); }); Sockets } // Begin the polling loop getNewInfo();
  • 20. Real Time Web 10 Client opens HTTP connection with "Upgrade: WebSockets" header; Polling Server leaves connection open. 20 Server sends new data when available Connection remains open 30 GOTO 20 Long // Open a socket connection var socket = new WebSocket("url"); Polling socket.onmessage = function(msg) { var newInfo = msg.data; // Do something with newInfo Sockets }
  • 21. Obligatory warning Q: Can I use WebSockets in production today? A: No – still waiting for: Widespread browser support Widespread network support Platform support
  • 23. Real Time Web • What is this? • Polling • WebSockets • SignalR
  • 25. Key performance factors • Startup time • Memory Consumption • Talk to your web hoster
  • 26. ASP.NET 4.5 Improvements • Sharing Common Assemblies • aspnet_intern -mode exec -sourcedir "C:inetpubwwwrootCricketBlog" - interndir C:ASPNETCommonAssemblies
  • 27. ASP.NET 4.5 Improvements • Sharing Common Assemblies Site1 MVC.dll
  • 28. ASP.NET 4.5 Improvements • Sharing Common Assemblies Site1 MVC.dll Site2 MVC.dll
  • 29. ASP.NET 4.5 Improvements • Sharing Common Assemblies Site1 Interned MVC.dll Site2
  • 30. ASP.NET 4.5 Improvements • Prefetching for web applications • JIT compilation for fast startup • Garbage collection
  • 31. IIS8 • Site density • Scalability • Memory Consumption • Disk I/O
  • 33. IIS 8
  • 34. Lightning Fast Server • ASP.NET • IIS8 • Talk to your web hoster
  • 35. In the end Develop Debug Optimize Lightning Fast Real Time Web Server
  • 36. What to do next? Download Learn • ASP.NET Get Involved • Stack • Share an idea • VS 11 Beta Overflow • Open Bugs • SignalR • ASP.NET • My Blog • Image Forums • @rustd Optimizer • IIS8
  • 38. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the US and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.