Performance Managment
Upcoming SlideShare
Loading in...5
×
 

Performance Managment

on

  • 351 views

We will explore lessons learned in optimizing LOB Silverlight 4 application. This will be hands on session with focus on VS 2010 Performance Wizard, VMMap, SoS, HeapMonitor, etc.

We will explore lessons learned in optimizing LOB Silverlight 4 application. This will be hands on session with focus on VS 2010 Performance Wizard, VMMap, SoS, HeapMonitor, etc.

Statistics

Views

Total Views
351
Views on SlideShare
344
Embed Views
7

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 7

http://www.linkedin.com 4
http://paper.li 2
https://www.linkedin.com 1

Accessibility

Categories

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.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • This will point you right at the point where bottleneck is – it could be very complex business logic or calculations that needs immediate attention

Performance Managment Performance Managment Presentation Transcript

  • Performance Management
    while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Abhijit.Gadkari@Gmail.COM
  • observations
    while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    1. System.Console.WriteLine(int.MaxValue);
    //0 to 2147483647
    2. Expensive Arithmetic Operations
    3. A lot of work with no output / burning many Cpu
    Cycles for no reason
    4. Look for stored procedure which will return
    True/false value
    5. Same output irrespective of inputs
    6. Code duplication
    Abhijit.Gadkari@Gmail.COM
  • Line of business applications
    while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    1.lob does not focus on video games, compilers, scientific calculations, etc.
    2. Mostly liner logic – do a , if b do c else do d 10 times and return results
    3. 60-70% of the code will be if-else, for/foreach, switch, try/catch.
    Focused on projections ,transformations, filtering, crud, reporting, etc.
    4. Focused on solving well defined problem with tight scope . For example, % of discount calculations based on zip code
    5. A lot of immutable lookup / static data used as input in decision making logic. For example, zip code, cpt/icd codes, state list, ssn, etc.
    6. Mutable data stored mostly in rdbms and shared via web services
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    visual Studio 2010 Profiling Tools
    If you don’t have VS 2010 premium - Download
    VS 2011 Developer preview Ultimate Edition
    • Its FREE
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Execution Bottlenecks
    demo...
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Execution Bottlenecks
    Keep your vsp file[s] under tight security
    No additional code and solution is clean
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Execution Bottlenecks
    Microsoft Visual Studio Premium Profiling Tools provide five methods that
    you can use to collect performance data. This topic describes the different methods
    and suggests some scenarios in which collecting data with a particular method can be
    appropriate.
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Execution Bottlenecks
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    memory Bottlenecks
    XPerf
    Native Memory
    Task Manager
    SoS
    VM Map
    Managed Memory
    WinDbg
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Memory Bottlenecks
    Heap: Native heap – objects your app is allocating
    Managed heap : .NET heap – objects your app is allocating
    Image : Modules you have loaded
    Private data is virtual memory allocations
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    memory Bottlenecks
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Execution Bottlenecks
    demo...
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Database Bottlenecks
    msec
    SELECT
    [Extent1].[DocumentID] AS [DocumentID],
    [Extent1].[DocumentTitle] AS [DocumentTitle],
    [Extent1].[DocumentDescription] AS [DocumentDescription],
    [Extent1].[DocumentTypeID] AS [DocumentTypeID],
    [Extent1].[IsEnabled] AS [IsEnabled],
    [Extent1].[Author] AS [Author],
    [Extent1].[Category] AS [Category],
    [Extent1].[IsDeleted] AS [IsDeleted],
    [Extent1].[IsTemporary] AS [IsTemporary],
    [Extent1].[Gender] AS [Gender],
    [Extent1].[LowerAgeLimit] AS [LowerAgeLimit],
    [Extent1].[UpperAgeLimit] AS [UpperAgeLimit]
    FROM [dbo].[Document] AS [Extent1]
    Abhijit.Gadkari@Gmail.COM
  • while(i < int.MaxValue)
                    {
                        i = i * 10;
                    }
    Reference
    Reference:
    http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx
    Silverlight Performance Blog : http://blogs.msdn.com/b/slperf/
    I am @
    Twitter: @Objectmapper
    blog: http://soaas.blogspot.com
    http://www.linkedin.com/pub/abhijit-gadkari/10/618/583
    If you have LOB application[s] that needs tuning – contact me. Deal is : I will use anonymous performance data with your permission in my research and you will get free service
    Abhijit.Gadkari@Gmail.COM