Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.

Slides:



Advertisements
Similar presentations
Enhancing Application Performance Root Causes and Quick Solutions.
Advertisements

CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
PHP syntax basics. Personal Home Page This is a Hypertext processor It works on the server side It demands a Web-server to be installed.
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
Keeping our websites running - troubleshooting with Appdynamics Benoit Villaumie Lead Architect Guillaume Postaire Infrastructure Manager.
© 2006 ITT Educational Services Inc. Course Name: IT390 Business Database Administration Unit 10 Slide 1 IT390 Business Database Administration Unit 10:
Maxim Zhvirblya EPAM Systems © 2013 Or make MSSQL breathe easily RBS and Blob Cache in SharePoint 2013.
Toolbox Mirror -Overview Effective Distributed Learning.
CSE 190: Internet E-Commerce Lecture 16: Performance.
Multiple Tiers in Action
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
SharePoint Saturday Sponsors Gold Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
Microsoft SharePoint 2013 SharePoint 2013 as a Developer Platform
©Company confidential 1 Performance Testing for TM & D – An Overview.
Capacity planning for web sites. Promoting a web site Thoughts on increasing web site traffic but… Two possible scenarios…
Computer Science 101 Web Access to Databases Overview of Web Access to Databases.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Sitefinity Performance and Architecture
Russ Houberg Senior Technical Architect, MCM KnowledgeLake, Inc.
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
Distributed Systems Early Examples. Projects NOW – a Network Of Workstations University of California, Berkely Terminated about 1997 after demonstrating.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Connect Learn Share Performance Optimization for Microsoft Dynamics CRM Presented by: Walter Grow Austin Jones.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
SOFTWARE PERFORMANCE TESTING Or: Have We Got Bad Blood?
Web/App Performance How to keep you out of the News
Computer Measurement Group, India Optimal Design Principles for better Performance of Next generation Systems Balachandar Gurusamy,
Part 04 – Preparing to Deploy to the Cloud Entity Framework and MVC Series Tom Perkins NTPCUG.
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
SQL Server User Group Meeting Reporting Services Tips & Tricks Presented by Jason Buck of Custom Business Solutions.
Caching Chapter 12. Caching For high-performance apps Caching: storing frequently-used items in memory –Accessed more quickly Cached Web Form bypasses:
Module 10 Administering and Configuring SharePoint Search.
Dudok de Wit David.  Documents management in a deskless company  SharePoint Online as a solution  Redesigning the documentary organization  Interoperability.
A Brief Documentation.  Provides basic information about connection, server, and client.
Sponsors Gold Silver Bronze Custom REST services and jQuery AJAX Building your own custom REST services and consuming them with jQuery AJAX.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
Don’t Disconnect Me! The challenges of building offline-enabled web apps Matthias Oßwald,
Virtual Application Profiler (VAPP) Problem – Increasing hardware complexity – Programmers need to understand interactions between architecture and their.
Product Presentation. SysKit By Acceleratio Acceleratio Ltd. is a software development company based in Zagreb, Croatia, Europe founded in Technology.
| Basel Building real Business Apps with Office365/Azure Gilbert Nicolet – BPA Solutions SA.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Accelerating PHP Applications Ilia Alshanetsky O’Reilly Open Source Convention August 3rd, 2005.
MapReduce: Simplified Data Processing on Large Clusters By Dinesh Dharme.
Web Cache. What is Cache? Cache is the storing of data temporarily to improve performance. Cache exist in a variety of areas such as your CPU, Hard Disk.
Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
Nick Swan Lightning Tools MVP SharePoint Server SharePoint 2007 Capacity and Performance Planning.
Converting SharePoint on- premise Apps to Office 365 Jos Auker-Woor M377.
Developing annotation based monitoring framework Fedor Romanov, TomTom.
GENERAL SCALABILITY CONSIDERATIONS
WEB TESTING
Platform as a Service (PaaS)
SharePoint 2010 Performance and Capacity Planning Best Practices
Understanding the New PTC System Monitor (PSM/Dynatrace) Application’s Capabilities and Advanced Usage Stephen Vaillancourt PTC Technical Support –Technical.
Platform as a Service (PaaS)
Developing GIS WebParts in SharePoint
Chrome Developer Tools
Software Architecture in Practice
Test Upgrade Name Title Company 9/18/2018 Microsoft SharePoint
Get to know SysKit Monitor
Database Driven Websites
IIS.
Chapter 12: Automated data collection methods
IS 4506 Server Configuration (HTTP Server)
ColdFusion Performance Troubleshooting and Tuning
Fundamentals of Databases
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
CS5123 Software Validation and Quality Assurance
Yale Digital Conference 2019
Presentation transcript:

Ideas to Improve SharePoint Usage 4

What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint Usage 4. Which Pages are Slow and Why? Bonus: Real Life Troubleshooting Example

7 Step SharePoint Health Check #1: End User Health #3: System Health #2: Site Health #4: IIS Health #5: AppPool Health #6: SQL & Service Health #7: Web Parts

Check #1: End User Health #1: Geo Location #2: User Environment #3: Errors

Check #2: Site Health #1: Load #2: Failures #3: Performance #4: Infrastructure #5: End User Index

Check #3: System Host Health #1: CPU & Memory #3: Process Check: Need to RE-DEPLOY? #2: I/O: Static & Logs

Check #4: IIS Health #1: Threads #2: Throughput #3: Page Size

Check #5: AppPool Health #1: Memory #2: Garbage Collection #3: Worker Threads

Check #6: SQL & Service Health #2: Connectivity Issues #1: Excessive SQL Roundtrips

Check #7: Web Parts #2: Deployment #3: Bad Coding : 211 SQL! #1: Performance

Avoid common Deployment Mistakes CONNECTIVITY, MISSING FILES, PERMISSION, …

Who’s talking with whom? How many Web Sites are actually running? How many requests make it to SharePoint’s AppPool? Do we call any external services Is our SQL Server overloaded?

Any Deployment Mistakes? HTTP 5xx, 4xx? Which errors are thrown by which page ? Which Errors impact how many users?

Any Bad WebPart? WebParts that can’t be loaded! Here is the page that uses this WebPart

Connectivity Issues between Services? Watch out for Connection Exceptions! This is the page that tries to connect to that backend service! Root Cause : Configuration Issue This is the page that tries to connect to that backend service! Root Cause : Configuration Issue

Authentication Issues? How many users have authentication issues? Which pages are users trying to access?

User Permission Problems? #1: Permission Issue Detected! #2: Related to SocialNavigationControl #3: Here is the problematic page

Missing Lists? List not found Exception! Here is the page that references this list!

Missing Columns? Somebody deleted a column? Here is the page that shows that column!

Bad Filter Settings? Bad filter settings result in Exceptions Here is the page that uses that bad filter!

Analyze SharePoint usage WHO IS USING WHAT, HOW FROM WHERE?

How are people navigating through SharePoint? Which browsers do people use? Where are they from? Which Office? How do they navigate through the site? How fast/slow are these pages for them? Maybe impacted by bad network connectivity? How fast/slow are these pages for them? Maybe impacted by bad network connectivity?

Which Lists/Views are Used? How often used? How fast/slow? Time spent in SQL Server? Same information shown per List High Failure Rate?

Which pages are slow HOW TO IDENTIFY THEM?

What are the top slowest end user pages? How Fast/Slow for the end user? How much of that is Server Time?

What makes them slow? How do these pages load? Lots of JavaScript that loads slow? Maybe cache on a Proxy/CDN?

Reasons for slow pages CLIENT AND SERVER SIDE

Many reasons for bad performance  Frontend  Overloaded and complex Pages  Too much JavaScript slows down older browsers  Bad content caching  Backend  Bad/Too Much Database Access  Bad Coding of custom code  Overhead due to configuration issues and resulting logs/exceptions  High Memory Consumption  Wrong Deployment Configurations (e.g: worker threads, …)

Overloaded Pages 2.6MB for Home Page ! Don’t overload with too much information!

Database Impact: too many requests 211! SQLs per Page Request

Database Impact: Same SQL Same SQL called many times per page!

Database Impact: Whom to blame?  Overloaded Pages with too many Web Parts  Badly implemented custom web parts  3 rd party WebParts or Controls

Bad Coding of Custom Web Parts - #1 ALL List Items are retrieved from the Database DO NOT int noOfItems = SPContext.Current.List.Items.Count; Item Count is kept redundant in the AllUserData table and also kept in memory DO int noOfItems = SPContext.Current.List.ItemCount;

Bad Coding of Custom Web Parts - #2 DO NOT for (int itemIx=0;itemIx< SPContext.Current.List.Items.Count ;itemIx++) { SPListItem listItem = SPContext.Current.List.Items[itemIx]; // do something... } Every access to Count and Items Property queries the whole SharePoint list We end up with 202 SQL Executions with a total exec time of > 1s

Good Coding of Custom Web Parts - #2 DO SPListItemCollection items = SPContext.Current.List.Items; foreach (SPListItem listItem in items) { // do something... } Only first access to the collection queries the data

Telerik Grid Control Going Wild #1: Data Driven Problem Depending on the user input on that request we see up to 493! SQL Calls per request Root Cause: Every Grid Cell executed a new SQL #1: Data Driven Problem Depending on the user input on that request we see up to 493! SQL Calls per request Root Cause: Every Grid Cell executed a new SQL #2: Statements not prepared None of these executions has been prepared #2: Statements not prepared None of these executions has been prepared

High Garbage Collection Memory Heavy Apps result in High GC that impacts Performance

High GC Result of High Memory Usage! Long Running GCs! Analyze Memory Patterns

High GC: Performance Heap Analysis Which classes stay on the heap? Which have the biggest impact? Who is keeping them in memory?

Real life Troubleshooting THE JOURNEY OF A FRUSTRATED SHAREPOINT USER

Frustrated User report bad Response Times Frustrated User Slow Page Load caused by Browser JS Time Slow Page Load caused by Server-Side Processing

Really slow page 6.8s to deliver Default.aspx page Involved Web Parts Most of the Time spent in waiting

WebPart uses multiple parallel Threads Async Threads are busy with I/O

First Remote Call is Very Slow Web Service call by ContentEditorWebPart HttpWebRequests uses ServicePoint internally First Web Service Requests takes 5.8s to return

Thread Limit lets all other Threads wait! We have 10 parallel calls in our background threads The other background threads spend their time “waiting” in the ServicePoint

Solution: Change Defaults -and-sharepoint-performance-dont-let-default- settings-ruin-your-end-user-experience/

Key Points to Take Home #1: End User Health : Happy or Frustrated? Desktop or Mobile? #3: System Health : CPU, Memory, Process Distribution, … #2: Site Health : Any Errors? Any Performance Issues? #4: IIS Health : Bandwidth? Threads? HTTP 4xx, 5xx? #5: AppPool Health : Memory, CPU, GC, Exceptions, Logs … #6: SQL & Service Health : # Roundtrips, Data Amount, CPU, Memory, I/O #7: Web Parts : 3 rd Party & Custom. Bad Coding and Bad Deployments lead to crashes

More Links for You  Tools:  More Stories:  YouTube Tutorials:

Thank You!