Upcoming SlideShare
Loading in...5




ASP.NET WebStandards & Performance

ASP.NET WebStandards & Performance



Total Views
Views on SlideShare
Embed Views



3 Embeds 185

http://blogs.msdn.com 179
http://www.acomputerportal.com 4
http://www.newsblur.com 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Webstandards_TechEdIndia Webstandards_TechEdIndia Presentation Transcript

  • ASP.NET Web Standards andGO BIG! Performance Pranav Rastogi
  • Standards & PerformanceDevelop Debug Real Time Web Lightning FastOptimize 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 SharingTwitter 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 newInfoSockets }
  • 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
  • LightningFast 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 endDevelop Debug Optimize Lightning FastReal 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 ormay 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.