SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
803: INTO THE WILD
    THE CHALLENGES OF CUSTOMIZED
    SHAREPOINT APPS IN RELEASE



    SPTechCon
    2009-06-24, dynaTrace software Inc
    Andreas Grabner, andreas.grabner@dynatrace.com
    Technology Strategist



dynaTrace
About me

   • Andreas Grabner
   • Technology Strategist
   • dynaTrace Software (http://www.dynaTrace.com)
   • Blog: http://blog.dynaTrace.com
   • Why Performance is such a big topic for me?




dynaTrace                                            2
Agenda

   • This class will examine the real-world challenges of customized
     SharePoint applications when they are released “into the wild.” We
     will consider why such applications almost always work on the
     developer's machine—and why they often fail in production. Web
     parts and lists are the main focus in this advanced class
   • LOTS OF DEMOS!!




dynaTrace                                                                 3
Why do we end up with performance problems?

   • TOO MUCH data is requested
   • Data is REQUESTED in an INEFFICIENT way
   • INEFFICIENT use of RESOURCES
   • INEFFICIENT data RENDERING
   • NEVER TESTED with REAL WORLD data
   • NEVER TESTED UNDER LOAD




dynaTrace                                          4
TOO MUCH data is requested

 • SharePoint Lists
     • Only display the data that the user really needs to see
            • Limit the number of rows that are displayed in the ListWebPart
            • Use Views to limit the number of columns that are displayed
     • Use alternative WebParts
            • Sometimes the ListWebView is not the right way to go
     • Check the size of returned html page
            • Consider the overhead on the network/browser rendering time
 • SharePoint Indices
     • Speed up access to large lists
     • Require additional resources on database
     • Only first index column is used in a View‘s Filter setting




dynaTrace                                                                      5
TOO MUCH data is requested

    • Optimize Lists based on Usage
          • Analyze Usage of Lists & Views and optimize on slowest performing




  Analyze usage and performance of all lists in SharePoint   Analyze usage and performance of all views in SharePoint




dynaTrace                                                                                                               6
TOO MUCH data is requested

   • Custom Web Parts
          • Accessing Data via SharePoint Object Model
                • Understand what is going on when accessing Data via API
                • Use SPQuery‘s to access only the data you need to display
          • Cache Data
                • Think about caching data that doesn‘t change frequently



  Analyze where WebParts spend their time and how they access the data   Analyze where most of the time is spent




dynaTrace                                                                                                     7
TOO MUCH data is requested
   • Recommendations from SharePoint Product Team
       • Monitoring
            • Processor: % Processor Time: _Total. On the computer running SQL Server, this counter should be
              kept between 50%-75%.
            • System: Processor Queue Length: (N/A). Monitor this counter to ensure that it remains below two times
              the number of Core CPUs.
            • Memory: Available Mbytes: (N/A). Monitor this counter to ensure that you maintain a level of at least
              20% of the total physical RAM free.
            • Memory: Pages/sec: (N/A). Monitor this counter to ensure that it remains below 100
            • ...
       • SQL Server practices
            • Proactively check the integrity of your databases by running DBCC CHECKDB (‘<DB Name>’) on a
              routine basis
            • Monitor SQL Server index fragmentation
            • Do not perform unsupported operations on the server running SQL Server
   • Reference
       • Search for „Planning and Monitoring SQL Server Storage for Microsoft SharePoint
         Products and Technologies: Performance Recommendations and Best Practices“




dynaTrace                                                                                                             8
TOO MUCH data is requested



                            DEMO
 • How to analyze current list usage behavior?
 • How to analyze WebPart data access?
 • Comparing Performance Impact when changing Views
 • How indexed columns really work




dynaTrace                                             9
Data is REQUESTED in an INEFFICIENT way

     • SharePoint Object Model
            • DO NOT iterate through all items in the list
            • DO NOT access the Items property multiple times
            • AVOID using the Count property
            • Use CAML Queries and SPQuery‘s to select certain data
            • Use the RowLimit and ListItemCollectionPosition Feature of SPQuery



       Example: Query the Product Name of a certain Product identified by the Product ID
       DO NOT
       String productName = productList.Items.GetItemById(“1234“)[“ProductName“].ToString();
       DO
       String productName = productList. GetItemById(“1234“)[“ProductName“].ToString();

       or DO
       SPQuery query = new SPQuery();
       query.Query = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>1234</Value></Eq></Where>";
       String productName = productList.GetItems(query)[0][“ProductName“].ToString();
       DO BEST
     query.ViewFields = “<FieldRef Name=‘ProductName‘/>“;
dynaTrace                                                                                              10
Data is REQUESTED in an INEFFICIENT way



                           DEMO
 • Whats going on „under the hood“ when using the SharePoint Object
   Model?
 • How to improve SharePoint Data Access?




dynaTrace                                                             11
INEFFICIENT use of RESOURCES

   • SharePoint Object Model
       • SPSite and SPWeb hold references to native COM objects
       • Release SPSite & SPWeb in order to free native resources
       • Querying too much data results in high memory usage
   • Reference
       • SPDisposeCheck tool
         http://blogs.msdn.com/sharepoint/archive/2008/11/12/announcing-
         spdisposecheck-tool-for-sharepoint-developers.aspx
       • http://msdn.microsoft.com/en-us/library/bb687949.aspx
       • http://msdn2.microsoft.com/en-
         us/library/aa973248.aspx#sharepointobjmodel_otherobjectsthatrequire-
         disposal




dynaTrace                                                                       12
INEFFICIENT use of RESOURCES

   • Monitor resources
         • Monitor Memory
         • Monitor Database connections
         • Monitor „critical“ SharePoint objects (SPSite, SPWeb)
         • Identify leaking responsible WebParts


                                                      Identify „leaking“ object instances
Monitor SharePoint Memory -> Growing Heap?




                                                      Identify who allocates those objects




dynaTrace                                                                                    13
Data is REQUESTED in an INEFFICIENT way



                            DEMO
 • How to identify a SPSite/SPWeb Resource Leak?
 • How to identify resource intensive WebParts?
 • How to monitor SharePoint Memory Issues down to the Object Model‘s
   Data Access classes?




dynaTrace                                                               14
INEFFICIENT data RENDERING

   • How to render data
       • StringBuilder vs. String concatenations
       • Use HtmlTextWriter for custom WebParts
   • How to access data
       • Follow the rules discussed earlier
   • ViewState
       • Monitor ViewState Usage
       • http://www.sitepoint.com/article/aspnet-performance-tips/2/
   • Size matters
       • Minimize generated HTML
       • Use style sheets instead of inline style definitions
       • Enable content compression in IIS
            • http://planetmoss.blogspot.com/2007/06/dont-forget-iis-compression-colleague.html
            • http://www.sitepoint.com/article/aspnet-performance-tips/3/




dynaTrace                                                                                         15
INEFFICIENT data RENDERING

   • Steps to do
         • Analyze slow pages with tools like YSlow
         • Analyze network infrastructure. Compare server side times vs. Client
           side times



     Analyze Page Size Statistics     Analyze individual page objects




dynaTrace                                                                         16
NEVER TESTED with REAL WORLD data
   • Importance of Test Data
       •    10 records in a table are not enough
       •    Invest time to generate Test Data
       •    „Random“ data is good -> „Realistic“ data is best
       •    Test Data must be used by developers
       •    Many data access problems can be identified on the developers machine with
            appropriate test data
   • Problems that can be identified
       •    Performance problems for data retrieval
       •    Index problems
       •    Memory issues
       •    Resource bottlenecks
   • Resources
       • http://www.sharepointblogs.com/ethan/archive/2007/09/27/generating-test-
         data.aspx
       • http://www.idevfactory.com/
       • http://www.codeplex.com/sptdatapop



dynaTrace                                                                                17
NEVER TESTED UNDER LOAD

   • Importance of Load Testing
       • Small load tests already on developers machine
       • Test as early as possible
       • Test main use case scenarios
   • Visual Studio Team System for Tester
       • Pre-configured Web&Load Tests from the SharePoint Team
       • dynaTrace Integration with VSTS to analyze performance and scalability
         issues
   • Resources
       • http://www.codeplex.com/sptdatapop




dynaTrace                                                                     18
NEVER TESTED UNDER LOAD



                           DEMO
 • Load Testing SharePoint with Visual Studio Team System




dynaTrace                                                   19
Contact me for follow up

   • Andreas Grabner
   • Mail: andreas.grabner@dynatrace.com
   • Blog: http://blog.dynatrace.com
   • Web: http://www.dynatrace.com




       Participate in Performance Survey
            and win a price at the dynaTrace Booth

dynaTrace                                            20

Mais conteúdo relacionado

Mais procurados

Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont'sNeven Rakonić
 
DotNetNuke Urls - Best practice for administrators, editors and developers
DotNetNuke Urls - Best practice for administrators, editors and developersDotNetNuke Urls - Best practice for administrators, editors and developers
DotNetNuke Urls - Best practice for administrators, editors and developersbrchapman
 
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Lucidworks
 
SharePoint Databases: What you need to know (201609)
SharePoint Databases: What you need to know (201609)SharePoint Databases: What you need to know (201609)
SharePoint Databases: What you need to know (201609)Alan Eardley
 
Apache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaApache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaDropsolid
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery GuideMark Rackley
 
Avoiding 10 common SharePoint Administration mistakes
Avoiding 10 common SharePoint Administration mistakesAvoiding 10 common SharePoint Administration mistakes
Avoiding 10 common SharePoint Administration mistakesBenjamin Athawes
 
Clockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewClockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewWilco Sinnema
 
SPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search ScopesSPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search ScopesNCCOMMS
 
ECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern WorldECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern WorldMarc D Anderson
 
SPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 SearchSPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 SearchAgnes Molnar
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsBrian Caauwe
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesScott Hoag
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSguest7c2e070
 
SharePoint 2013 Search Topology and Optimization
SharePoint 2013 Search Topology and OptimizationSharePoint 2013 Search Topology and Optimization
SharePoint 2013 Search Topology and OptimizationMike Maadarani
 
Alfresco Day Stockholm 2015 - Alfresco One
Alfresco Day Stockholm 2015 - Alfresco OneAlfresco Day Stockholm 2015 - Alfresco One
Alfresco Day Stockholm 2015 - Alfresco OneNicole Szigeti
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013J.D. Wade
 
Pragmatic REST APIs
Pragmatic REST APIsPragmatic REST APIs
Pragmatic REST APIsamesar0
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)Brian Culver
 
Search all the things
Search all the thingsSearch all the things
Search all the thingscyberswat
 

Mais procurados (20)

Json api dos and dont's
Json api dos and dont'sJson api dos and dont's
Json api dos and dont's
 
DotNetNuke Urls - Best practice for administrators, editors and developers
DotNetNuke Urls - Best practice for administrators, editors and developersDotNetNuke Urls - Best practice for administrators, editors and developers
DotNetNuke Urls - Best practice for administrators, editors and developers
 
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
Who Moved my State? A Blob Storage Solr Story - Ilan Ginzburg, Salesforce
 
SharePoint Databases: What you need to know (201609)
SharePoint Databases: What you need to know (201609)SharePoint Databases: What you need to know (201609)
SharePoint Databases: What you need to know (201609)
 
Apache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 AcquiaApache Solr Search Course Drupal 7 Acquia
Apache Solr Search Course Drupal 7 Acquia
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
Avoiding 10 common SharePoint Administration mistakes
Avoiding 10 common SharePoint Administration mistakesAvoiding 10 common SharePoint Administration mistakes
Avoiding 10 common SharePoint Administration mistakes
 
Clockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overviewClockwork 2013 - SharePoint overview
Clockwork 2013 - SharePoint overview
 
SPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search ScopesSPCA2013 - Dude, Where’s my Search Scopes
SPCA2013 - Dude, Where’s my Search Scopes
 
ECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern WorldECS2019 - Managing Content Types in the Modern World
ECS2019 - Managing Content Types in the Modern World
 
SPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 SearchSPConnections - What's new in SharePoint 2013 Search
SPConnections - What's new in SharePoint 2013 Search
 
WISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint MigrationsWISPUG - Fun with SharePoint Migrations
WISPUG - Fun with SharePoint Migrations
 
Building a SharePoint Platform That Scales
Building a SharePoint Platform That ScalesBuilding a SharePoint Platform That Scales
Building a SharePoint Platform That Scales
 
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUSBest Practices to SharePoint Architecture Fundamentals NZ & AUS
Best Practices to SharePoint Architecture Fundamentals NZ & AUS
 
SharePoint 2013 Search Topology and Optimization
SharePoint 2013 Search Topology and OptimizationSharePoint 2013 Search Topology and Optimization
SharePoint 2013 Search Topology and Optimization
 
Alfresco Day Stockholm 2015 - Alfresco One
Alfresco Day Stockholm 2015 - Alfresco OneAlfresco Day Stockholm 2015 - Alfresco One
Alfresco Day Stockholm 2015 - Alfresco One
 
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
What SQL DBAs need to know about SharePoint-Kansas City, Sept 2013
 
Pragmatic REST APIs
Pragmatic REST APIsPragmatic REST APIs
Pragmatic REST APIs
 
SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)SPSUtah 2014 SharePoint 2013 Performance (Admin)
SPSUtah 2014 SharePoint 2013 Performance (Admin)
 
Search all the things
Search all the thingsSearch all the things
Search all the things
 

Destaque

Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseJeremy Rosenberg
 
Proposal for creation of mhadei tiger reserve by rajendra kerkar
Proposal for creation of mhadei tiger reserve by rajendra kerkarProposal for creation of mhadei tiger reserve by rajendra kerkar
Proposal for creation of mhadei tiger reserve by rajendra kerkartallulahdsilva
 
2007 Spring Newsletter
2007 Spring Newsletter2007 Spring Newsletter
2007 Spring NewsletterDirect Relief
 
eHotelExperts Cerveses montseny - Toni Farres
eHotelExperts Cerveses montseny - Toni FarreseHotelExperts Cerveses montseny - Toni Farres
eHotelExperts Cerveses montseny - Toni FarresHotel Curious
 
Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014Andreas Grabner
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...JAX London
 
Hum2220 fa2014 syllabus
Hum2220 fa2014 syllabusHum2220 fa2014 syllabus
Hum2220 fa2014 syllabusProfWillAdams
 
6 evaluation product scs environmental services chia
6 evaluation product scs environmental services chia6 evaluation product scs environmental services chia
6 evaluation product scs environmental services chiamvvillanueva720
 
Indonesian internationaltrade
Indonesian  internationaltradeIndonesian  internationaltrade
Indonesian internationaltradeRohit Jadhav
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse OpenOpenFest team
 
Nascent Financial Services
Nascent Financial ServicesNascent Financial Services
Nascent Financial Servicesnascentfs
 
3 Major Trends in Healthcare: Social, Mobile and Games
3 Major Trends in Healthcare: Social, Mobile and Games3 Major Trends in Healthcare: Social, Mobile and Games
3 Major Trends in Healthcare: Social, Mobile and GamesQubop Inc.
 

Destaque (20)

Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional Use
 
Dataflow140711-a@Kernel/VM北陸1
Dataflow140711-a@Kernel/VM北陸1Dataflow140711-a@Kernel/VM北陸1
Dataflow140711-a@Kernel/VM北陸1
 
Fiesta de Disfraces
Fiesta de DisfracesFiesta de Disfraces
Fiesta de Disfraces
 
Proposal for creation of mhadei tiger reserve by rajendra kerkar
Proposal for creation of mhadei tiger reserve by rajendra kerkarProposal for creation of mhadei tiger reserve by rajendra kerkar
Proposal for creation of mhadei tiger reserve by rajendra kerkar
 
2007 Spring Newsletter
2007 Spring Newsletter2007 Spring Newsletter
2007 Spring Newsletter
 
eHotelExperts Cerveses montseny - Toni Farres
eHotelExperts Cerveses montseny - Toni FarreseHotelExperts Cerveses montseny - Toni Farres
eHotelExperts Cerveses montseny - Toni Farres
 
Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014Sydney Continuous Delivery Meetup May 2014
Sydney Continuous Delivery Meetup May 2014
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
 
Hum2220 fa2014 syllabus
Hum2220 fa2014 syllabusHum2220 fa2014 syllabus
Hum2220 fa2014 syllabus
 
6 evaluation product scs environmental services chia
6 evaluation product scs environmental services chia6 evaluation product scs environmental services chia
6 evaluation product scs environmental services chia
 
Bones
BonesBones
Bones
 
Kemungkinan
KemungkinanKemungkinan
Kemungkinan
 
Indonesian internationaltrade
Indonesian  internationaltradeIndonesian  internationaltrade
Indonesian internationaltrade
 
Microinvest Warehouse Open
Microinvest Warehouse OpenMicroinvest Warehouse Open
Microinvest Warehouse Open
 
SchaalX
SchaalXSchaalX
SchaalX
 
1015026
10150261015026
1015026
 
Progetto mamma si (1)
Progetto mamma si (1)Progetto mamma si (1)
Progetto mamma si (1)
 
Nascent Financial Services
Nascent Financial ServicesNascent Financial Services
Nascent Financial Services
 
MorenoMassip_Avi
MorenoMassip_AviMorenoMassip_Avi
MorenoMassip_Avi
 
3 Major Trends in Healthcare: Social, Mobile and Games
3 Major Trends in Healthcare: Social, Mobile and Games3 Major Trends in Healthcare: Social, Mobile and Games
3 Major Trends in Healthcare: Social, Mobile and Games
 

Semelhante a SharePoint TechCon 2009 - 803

SharePoint TechCon 2009 - 602
SharePoint TechCon 2009 - 602SharePoint TechCon 2009 - 602
SharePoint TechCon 2009 - 602Andreas Grabner
 
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineeringThang Bui (Bob)
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmNigel Price
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...SPC Adriatics
 
Introduction to SharePoint for SQLserver DBAs
Introduction to SharePoint for SQLserver DBAsIntroduction to SharePoint for SQLserver DBAs
Introduction to SharePoint for SQLserver DBAsSteve Knutson
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applicationsTalbott Crowell
 
SharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceSharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceBrian Culver
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSPC Adriatics
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!Ben Steinhauser
 
Share point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practicesShare point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practicesEric Shupps
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceBrian Culver
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your WebsiteAcquia
 
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...Joel Oleson
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSPC Adriatics
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environmentvmaximiuk
 
Data Ingestion Engine
Data Ingestion EngineData Ingestion Engine
Data Ingestion EngineAdam Doyle
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 

Semelhante a SharePoint TechCon 2009 - 803 (20)

SharePoint TechCon 2009 - 602
SharePoint TechCon 2009 - 602SharePoint TechCon 2009 - 602
SharePoint TechCon 2009 - 602
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
Demystifying data engineering
Demystifying data engineeringDemystifying data engineering
Demystifying data engineering
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 
SPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint BeastSPSDenver - Wrapping Your Head Around the SharePoint Beast
SPSDenver - Wrapping Your Head Around the SharePoint Beast
 
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast2/15/2012 - Wrapping Your Head Around the SharePoint Beast
2/15/2012 - Wrapping Your Head Around the SharePoint Beast
 
Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...Best practices with development of enterprise-scale SharePoint solutions - Pa...
Best practices with development of enterprise-scale SharePoint solutions - Pa...
 
Introduction to SharePoint for SQLserver DBAs
Introduction to SharePoint for SQLserver DBAsIntroduction to SharePoint for SQLserver DBAs
Introduction to SharePoint for SQLserver DBAs
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
 
SharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceSharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 Performance
 
SharePoint 2013 Search Operations
SharePoint 2013 Search OperationsSharePoint 2013 Search Operations
SharePoint 2013 Search Operations
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
 
Share point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practicesShare point 2010 performance and capacity planning best practices
Share point 2010 performance and capacity planning best practices
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
 
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
SharePoint Performance: Physical to Virtual to Microsoft Azure Cloud and Offi...
 
SharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi VončinaSharePoint 2013 Performance Analysis - Robi Vončina
SharePoint 2013 Performance Analysis - Robi Vončina
 
Tuning Your SharePoint Environment
Tuning Your SharePoint EnvironmentTuning Your SharePoint Environment
Tuning Your SharePoint Environment
 
Data Ingestion Engine
Data Ingestion EngineData Ingestion Engine
Data Ingestion Engine
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 

Mais de Andreas Grabner

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityAndreas Grabner
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionAndreas Grabner
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareAndreas Grabner
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAndreas Grabner
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsAndreas Grabner
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnAndreas Grabner
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnAndreas Grabner
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sAndreas Grabner
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sAndreas Grabner
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesAndreas Grabner
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingAndreas Grabner
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysAndreas Grabner
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAndreas Grabner
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceAndreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowAndreas Grabner
 

Mais de Andreas Grabner (20)

KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an OpportunityKCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
KCD Munich - Cloud Native Platform Dilemma - Turning it into an Opportunity
 
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to ProductionOpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
OpenTelemetry For GitOps: Tracing Deployments from Git Commit to Production
 
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsDon't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps Deployments
 
Observability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with KeptnObservability and Orchestration of your GitOps Deployments with Keptn
Observability and Orchestration of your GitOps Deployments with Keptn
 
Release Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking SoftwareRelease Readiness Validation with Keptn for Austrian Online Banking Software
Release Readiness Validation with Keptn for Austrian Online Banking Software
 
Adding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with KeptnAdding Security to your SLO-based Release Validation with Keptn
Adding Security to your SLO-based Release Validation with Keptn
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with KeptnJenkins Online Meetup - Automated SLI based Build Validation with Keptn
Jenkins Online Meetup - Automated SLI based Build Validation with Keptn
 
Continuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptnContinuous Delivery and Automated Operations on k8s with keptn
Continuous Delivery and Automated Operations on k8s with keptn
 
Keptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8sKeptn - Automated Operations & Continuous Delivery for k8s
Keptn - Automated Operations & Continuous Delivery for k8s
 
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8sShipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
Shipping Code like a keptn: Continuous Delivery & Automated Operations on k8s
 
Top Performance Problems in Distributed Architectures
Top Performance Problems in Distributed ArchitecturesTop Performance Problems in Distributed Architectures
Top Performance Problems in Distributed Architectures
 
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-HealingApplying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
Applying AI to Performance Engineering: Shift-Left, Shift-Right, Self-Healing
 
Monitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps ToolchainMonitoring as a Self-Service in Atlassian DevOps Toolchain
Monitoring as a Self-Service in Atlassian DevOps Toolchain
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code DeploysDevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
DevOps Days Toronto: From 6 Months Waterfall to 1 hour Code Deploys
 
AWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environmentsAWS Summit - Trends in Advanced Monitoring for AWS environments
AWS Summit - Trends in Advanced Monitoring for AWS environments
 
DevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with DynatraceDevOps Transformation at Dynatrace and with Dynatrace
DevOps Transformation at Dynatrace and with Dynatrace
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and HowBoston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
Boston DevOps Days 2016: Implementing Metrics Driven DevOps - Why and How
 

Último

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
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
 

Último (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
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)
 

SharePoint TechCon 2009 - 803

  • 1. 803: INTO THE WILD THE CHALLENGES OF CUSTOMIZED SHAREPOINT APPS IN RELEASE SPTechCon 2009-06-24, dynaTrace software Inc Andreas Grabner, andreas.grabner@dynatrace.com Technology Strategist dynaTrace
  • 2. About me • Andreas Grabner • Technology Strategist • dynaTrace Software (http://www.dynaTrace.com) • Blog: http://blog.dynaTrace.com • Why Performance is such a big topic for me? dynaTrace 2
  • 3. Agenda • This class will examine the real-world challenges of customized SharePoint applications when they are released “into the wild.” We will consider why such applications almost always work on the developer's machine—and why they often fail in production. Web parts and lists are the main focus in this advanced class • LOTS OF DEMOS!! dynaTrace 3
  • 4. Why do we end up with performance problems? • TOO MUCH data is requested • Data is REQUESTED in an INEFFICIENT way • INEFFICIENT use of RESOURCES • INEFFICIENT data RENDERING • NEVER TESTED with REAL WORLD data • NEVER TESTED UNDER LOAD dynaTrace 4
  • 5. TOO MUCH data is requested • SharePoint Lists • Only display the data that the user really needs to see • Limit the number of rows that are displayed in the ListWebPart • Use Views to limit the number of columns that are displayed • Use alternative WebParts • Sometimes the ListWebView is not the right way to go • Check the size of returned html page • Consider the overhead on the network/browser rendering time • SharePoint Indices • Speed up access to large lists • Require additional resources on database • Only first index column is used in a View‘s Filter setting dynaTrace 5
  • 6. TOO MUCH data is requested • Optimize Lists based on Usage • Analyze Usage of Lists & Views and optimize on slowest performing Analyze usage and performance of all lists in SharePoint Analyze usage and performance of all views in SharePoint dynaTrace 6
  • 7. TOO MUCH data is requested • Custom Web Parts • Accessing Data via SharePoint Object Model • Understand what is going on when accessing Data via API • Use SPQuery‘s to access only the data you need to display • Cache Data • Think about caching data that doesn‘t change frequently Analyze where WebParts spend their time and how they access the data Analyze where most of the time is spent dynaTrace 7
  • 8. TOO MUCH data is requested • Recommendations from SharePoint Product Team • Monitoring • Processor: % Processor Time: _Total. On the computer running SQL Server, this counter should be kept between 50%-75%. • System: Processor Queue Length: (N/A). Monitor this counter to ensure that it remains below two times the number of Core CPUs. • Memory: Available Mbytes: (N/A). Monitor this counter to ensure that you maintain a level of at least 20% of the total physical RAM free. • Memory: Pages/sec: (N/A). Monitor this counter to ensure that it remains below 100 • ... • SQL Server practices • Proactively check the integrity of your databases by running DBCC CHECKDB (‘<DB Name>’) on a routine basis • Monitor SQL Server index fragmentation • Do not perform unsupported operations on the server running SQL Server • Reference • Search for „Planning and Monitoring SQL Server Storage for Microsoft SharePoint Products and Technologies: Performance Recommendations and Best Practices“ dynaTrace 8
  • 9. TOO MUCH data is requested DEMO • How to analyze current list usage behavior? • How to analyze WebPart data access? • Comparing Performance Impact when changing Views • How indexed columns really work dynaTrace 9
  • 10. Data is REQUESTED in an INEFFICIENT way • SharePoint Object Model • DO NOT iterate through all items in the list • DO NOT access the Items property multiple times • AVOID using the Count property • Use CAML Queries and SPQuery‘s to select certain data • Use the RowLimit and ListItemCollectionPosition Feature of SPQuery Example: Query the Product Name of a certain Product identified by the Product ID DO NOT String productName = productList.Items.GetItemById(“1234“)[“ProductName“].ToString(); DO String productName = productList. GetItemById(“1234“)[“ProductName“].ToString(); or DO SPQuery query = new SPQuery(); query.Query = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>1234</Value></Eq></Where>"; String productName = productList.GetItems(query)[0][“ProductName“].ToString(); DO BEST query.ViewFields = “<FieldRef Name=‘ProductName‘/>“; dynaTrace 10
  • 11. Data is REQUESTED in an INEFFICIENT way DEMO • Whats going on „under the hood“ when using the SharePoint Object Model? • How to improve SharePoint Data Access? dynaTrace 11
  • 12. INEFFICIENT use of RESOURCES • SharePoint Object Model • SPSite and SPWeb hold references to native COM objects • Release SPSite & SPWeb in order to free native resources • Querying too much data results in high memory usage • Reference • SPDisposeCheck tool http://blogs.msdn.com/sharepoint/archive/2008/11/12/announcing- spdisposecheck-tool-for-sharepoint-developers.aspx • http://msdn.microsoft.com/en-us/library/bb687949.aspx • http://msdn2.microsoft.com/en- us/library/aa973248.aspx#sharepointobjmodel_otherobjectsthatrequire- disposal dynaTrace 12
  • 13. INEFFICIENT use of RESOURCES • Monitor resources • Monitor Memory • Monitor Database connections • Monitor „critical“ SharePoint objects (SPSite, SPWeb) • Identify leaking responsible WebParts Identify „leaking“ object instances Monitor SharePoint Memory -> Growing Heap? Identify who allocates those objects dynaTrace 13
  • 14. Data is REQUESTED in an INEFFICIENT way DEMO • How to identify a SPSite/SPWeb Resource Leak? • How to identify resource intensive WebParts? • How to monitor SharePoint Memory Issues down to the Object Model‘s Data Access classes? dynaTrace 14
  • 15. INEFFICIENT data RENDERING • How to render data • StringBuilder vs. String concatenations • Use HtmlTextWriter for custom WebParts • How to access data • Follow the rules discussed earlier • ViewState • Monitor ViewState Usage • http://www.sitepoint.com/article/aspnet-performance-tips/2/ • Size matters • Minimize generated HTML • Use style sheets instead of inline style definitions • Enable content compression in IIS • http://planetmoss.blogspot.com/2007/06/dont-forget-iis-compression-colleague.html • http://www.sitepoint.com/article/aspnet-performance-tips/3/ dynaTrace 15
  • 16. INEFFICIENT data RENDERING • Steps to do • Analyze slow pages with tools like YSlow • Analyze network infrastructure. Compare server side times vs. Client side times Analyze Page Size Statistics Analyze individual page objects dynaTrace 16
  • 17. NEVER TESTED with REAL WORLD data • Importance of Test Data • 10 records in a table are not enough • Invest time to generate Test Data • „Random“ data is good -> „Realistic“ data is best • Test Data must be used by developers • Many data access problems can be identified on the developers machine with appropriate test data • Problems that can be identified • Performance problems for data retrieval • Index problems • Memory issues • Resource bottlenecks • Resources • http://www.sharepointblogs.com/ethan/archive/2007/09/27/generating-test- data.aspx • http://www.idevfactory.com/ • http://www.codeplex.com/sptdatapop dynaTrace 17
  • 18. NEVER TESTED UNDER LOAD • Importance of Load Testing • Small load tests already on developers machine • Test as early as possible • Test main use case scenarios • Visual Studio Team System for Tester • Pre-configured Web&Load Tests from the SharePoint Team • dynaTrace Integration with VSTS to analyze performance and scalability issues • Resources • http://www.codeplex.com/sptdatapop dynaTrace 18
  • 19. NEVER TESTED UNDER LOAD DEMO • Load Testing SharePoint with Visual Studio Team System dynaTrace 19
  • 20. Contact me for follow up • Andreas Grabner • Mail: andreas.grabner@dynatrace.com • Blog: http://blog.dynatrace.com • Web: http://www.dynatrace.com Participate in Performance Survey and win a price at the dynaTrace Booth dynaTrace 20