Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Building Web APIs in Windows Azure Name Title Microsoft Corporation.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Payroll and HR Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
 Stephen Walther ASP.NET MVC Ninja Microsoft Corporation PV31.
Co- location Mass Market Managed Hosting ISV Hosting.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Connect with life Connect with life
NEXT: Overview – Sharing skills & code.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Microsoft Dynamics NAV 2009 Building Web Services.
Building Social Games for Windows 8 with Windows Azure Name Title Microsoft Corporation.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
SQL Server SQL Azure Visual Studio“Quadrant” SQL Server Modeling Services Entity Framework ADO.NET“M”/EDM Data Services …
Ian Ellison-Taylor General Manager Microsoft Corporation PC27.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Ramesh Meyyappan SQL Server Performance Tuning Consultant & Trainer SQLWorkshops.comSQLWorkshops.com / SQLIO.comSQLIO.com.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Sr. Dir. – Systems Architecture Inlet Technologies.
04 | Business Analyzer Brian Meier| Senior Lead Program Manager.
public class Foo { Bar _bar; public Foo() { this._bar = new Bar(); } public class Foo { IBar _bar; public Foo(IBar barDependency) {
Web Application Experience in 1993 Brendan Eich’s Home Page (the inventor of JavaScript)

IoCompleteRequest (Irp);... p = NULL; …f(p);
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
ASP.NET Roadmap Mike Ormond Developer & Platform Group Microsoft Ltd
Title of Presentation 12/2/2018 3:48 PM
ASP.NET 4 Core Runtime for Web Developers
Create rich, data-driven Web apps with ASP.NET 4.5 Web Forms
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

Aniruddha Deswandikar & Govind Kanshi Microsoft Technology Center, Bangalore SESSION CODE: ##### Building performant Web applications

3 Agenda Performance Scale Up Scale Out Monitoring How to Monitor When to monitor Tools

4 Scale

5 Scale Up App

6 A better approach… App Optimize App Scale Up App

7 Optimizations Response time and Throughput Optimization Memory Optimization Reducing Work Postponing Work

8 XML. Use vs. Abuse XML reading and generation is a resource hungry activity Understand why XML was developed.

9 Ideal use-cases for XML Configuration Data Data that is not manipulated in the Database Large data structures used for display-only

10 Pre-generation Front-end UI generation Tools: CodeDom, Text Templates Data Values pre-generated Tools: DB Tables, Cache, Data.JS Files

11 Cache Static Data Lookup Data Data which changes once in while Rules Will help Scale-out scenarios Tools: Velocity, ASP.Net Caching

12 Intelligent update Delete and insert works for small pieces Identify changes at UI layer and send changes only Keep Transaction closer to DB, do no start from application-tier

13 Navigation Post-Backs for just getting one value are not good. Avoid ViewState – If cannot, manage the size Break down large form into multiple forms/sections Avoid dynamic form generation Tools: Viewstate Size tool, AJAX, Templates

14 Iterative Data Processing Avoid Large Dataset iteration in App/Business tier. Use set-operations in Database. Avoid loops.

15 Keep it simple Reflection, where interface would do! Why? WF for Status Update! Why? Pass SP parameters as XML! Why? HTTP Web Service call between Web Tier and Business Tier!! Why?

16 Can I Async it?

17 If not…can I Batch it?

18 Use the power of the Client Client-side Javascript Use a framework – jquery, ExtJs, Dojo Size, UI, Licensing, Community support, performance, html compliance

19 Now Scale Out… AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp

20 Stateless Web Tier In-Proc Sessions vs. Out-of-proc Sessions Use Velocity for Shared-Cache

21 Web Sharding Divide your application based on functions Host each function on separate Farms Use URL-Based routing to distribute load News Trades Portfolio Management

22 Decouple Well

23 Where is you load? AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp AppApp

24 Database Scale-out

25 Database Sharding Divide your application based on functions Create separate schemas for each Use Databased routing to distribute load Company News Employee Self Service HR processes

26 Database Performance Index but do not over Index Don’t ignore Logging Put the Log on a separate physical disk Use OpenXML Judiciously For static content applications, consider making DB Read-only Use maintenance plans to Defrag and Update Stats Periodically.

27 Monitoring Real-world test scenarios Load test for Vital Stats (CPU, Memory, IO) Find your slowest workloads Load test only the slowest workloads Dig deeper into ASP.Net, SQL and App-Specific counters Always Stress Test after Load testing Early and Often Part of Development Process Use appropriate Tools

28 Monitoring Visual Studio Team Suite for Testers Performance Monitor (PerfMon.exe) Custom Test Rigs CLR Profile (Part of VS Now) SQL Profiler Dynamic Management Views MS Round-trip analyzer, YSlow, Firebug IIS7 dynamic/static compression, minify Browser caching- expiry

29 Visit the MTC… Architecture Review Performance Monitoring Identifying Bottlenecks Solutions to remove/reduce bottlenecks Run Applications on State-of-art hardware, including the Latest Intel Nehalem-EX

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. 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.