77
Gokan Ozcifci (MVP , MCT ) @ gokanozcifci July 25, 2015, New York 11 Times Square, New York, NY 10036 SPS New York #SPSNYC Introduction to performance o ptimization for and

Introduction to performance optimization for SharePoint 2013 and Office 365

Embed Size (px)

Citation preview

Gokan Ozcifci (MVP, MCT)

@gokanozcifci

July 25, 2015, New York

11 Times Square, New York, NY 10036

SPS New York

#SPSNYC

Introduction to performance

optimization for

and

Gokan OzcifciSharePoint Consultant | MVP

@gokanozcifci

Thank YouEVENT Sponsors

• We appreciated you supporting the New York SharePoint Community!

• Diamond, Platinum, Gold, & Silver have tables scattered throughout

• Please visit them and inquire about their products & services

• To be eligible for prizes make sure to get your bingo card stamped by ALL sponsor

My apologies for the strange accent but,English can be weird.

/!\ It can be understood through toughthorough thought, though. /!\

Sorry for the French accent!

Provide some insights and tips about SharePoint’s Performance.

Microsoft TechNet is not always not your answer

Infrastructure related

Not for SharePoint v.Next and level 200

Other platforms also matters and why?

90/10 (On-Premises | Cloud)

Opinions may differ but these are my own thoughts.

[TOC]

It covers a huge set of individual technologies under the Platform umbrella

It’s continuously changing

Know when to use OOTB vs CC

Know your users (aka Yammer haters )

Understand SharePoint

New Service Applications (Machine Translation)

Offloaded Services: Yammer, OneDrive for Business, Office Web Apps, Workflow Manager…

Improved Service Applications (Fast)

Not UI Bindended Services to be managed with PoSH (Subscription Management)

Re-architected Service Applications (Search & OWA)

Different release schedule

OWA can be used for other platforms like Lync, Exchange, …

Understand SharePoint

Not supported: Dynamic Memory

Discontinued : Web Analytics

Prerequisites: Hardware and software requirements for a single server with a built-in database:

24 GB, 64-bit, 4 cores, 80 GB for system drive

SQL Server 2014 requires the May 2014 CU to be installed

Windows Server 2012 R2 is only supported on a SharePoint Server 2013 Service Pack 1 environment

Understand SharePoint

Share services across farmsBusiness Connectivity Services, Managed Metadata Service, Search Service (Crawl, Index, Query), Secure Store Service, User Profile Service…

App Management Service = NOT!

New way of works: HNSC

Claims: big deal expect if you have custom code who is dealing with Classic code, and upgrades.. It’s a recommendation to set your authentication model in 2010 as Claims then to migrate.

Understand SharePoint

N-Tier, N-Layer

SharePoint

is down!

Azure & O365

Exchange &

Lync + VoiceCloud Ready

Windows

Server

Authentication

and

Authorization

System Center

2012 ITSM /

ITIL

Migrations

Integrations

OTB Workflows Dashboards

Home Made

ApplicationsPortals And

IntranetsReportsOffice Pack

Infrastructure Business Productivities.

The Microsoft Expertise. A real added value.

The difference in Vision

Infrastructure Business Productivities.

The Microsoft Expertise. A real added value.

The difference in Vision

First page hitSubsequent

page hits

Create a site,

list or library

File upload

(3 MB)

< 5 Seconds < 3 Seconds < 5 Seconds < 5 Seconds

Business Perspective

According to Gartner early last year (2013) and repeated by Microsoft at their Worldwide Partner Conference (WPC13) in Houston, in the next 6-8 years:

35% of existing SharePoint customers will never move to the cloud

15% will become “pure cloud” customers

50% will adopt a hybrid SharePoint platform

Statistics

One year later, at the Worldwide Partner Conference in Washington DC (WPC14), a senior Microsoft leader admitted hybrid was bigger than earlier estimated:

15-20% of existing SharePoint customers will never move to the

cloud

10% will become “pure cloud” customers

70-75% will adopt a hybrid SharePoint platform

Statistics

Through at least 2025, at least 25% of enterprises will choose to keep their core communications and collaboration systems on-premises due to security and privacy concerns.

Several new features from Microsoft such as Delve, Clutter and Office for iOS/Android are only available to cloud customers.

Statistics

StatisticsMicrosoft is clearly shifting to a "cloud-first" and

even a "cloud-only“ development process in some

cases.

On-premises users will generally pay more, get less

and wait longer for enhancements and new

functionality as a natural result of these cloud-

friendly policies.

Microsoft has shared limited statistics on how Office365 is being adopted, but did provide some detailinto the reasons why customers purchased Office365:

90% use the platform for

06% use the platform for

04% use the platform for

Statistics

No Maintenance.

No Updates.

No Upgrades.

No Scripting.

No Hardware costs.

No Backup.

No (Reduce) Costs.

Office 365 AdvantagesStorage (OneDrive and SharePoint).

Delve.

iOS Apps.

Remote working.

External Sharing.

Clutter / Groups.

SharePoint DrawbacksPerformance: Working on it.

Licenses: Windows, SQL, SharePoint, Office 2013, Office Web Apps Licenses and CAL’s

Maintenance: Consultant costs ( he costs a lot )

Upgrades/Downgrades:What does each hour of downtime cost your business?

SQL Server: Keeping Default SharePoint

Database Settings

IT Infrastructure related errors: DNS, WAF, F5, Hyper-V …

Scrimping on RAM

The magic Farm Configuration Wizard

According to Microsoft: there are a few methodsavailable to minimize the amount of downtime;however it’s just not possible to achieve a zerodowntime solution for your upgrade. A commonway to minimize downtime is via implementationof a parallel upgrade farm.

Zero Downtime

« should be possible

with #SP2016 »

SharePoint is a PLATFORM

ListLibrary

DNS Error

Server

Correlation ID

Site

Application Domain

Slow

For the business, if…

• Monitor the complete SharePoint Server environment

• Monitor database space usage

• Monitor the status and health of SharePoint services and Web applications, as well as the uptime of the SharePoint server

• Monitor the default Search service and crawl status

• Monitor Recycle Bin usage and ensure the Recycle Bin does not exceed the site quota.

• Monitor and report on how long the SharePoint server has been running since the last reboot

You should know it before business

• Avoid using the –Force option

• Retracting packages

• Scope your solutions

• Reduce the amount• DLL and Controls are going to the Application Domain.

Layouts, CSS, Resources NOT.

Full Trust Solutions

We all love Add-Ins,

Apps, we all use

WSPs ;-) (#SP2016)

PatchingYour simple SharePoint Farm Patching on server 1 Backward capability mode. Needs Config Needed.

Patching on server 2 Server 1; PS Config Server 2; PS Config Farm is up again

• Don't Install CUs Automatically

• The CUs will now show up in Windows Update as Important updates, meaning that they get installed automatically, without notice.

• 'Download only' or

• WSUS [Windows Server Update Services]

• If custom components are used, it can break some functionalities.

• Testers are needed.

• No real governance for Dev – Non-Prod and Prod environments.

Patching

cliconfg.exe

•Operational tasks

•maintenance is easier.

•Upgrades

•Downgrades

SQL Server Alias

SharePoint et Always On Availability Groups

SQL 1

SharePoint

Farm 1

SQL 2

High

Availability

Synchronous

Always On Availability& SharePoint

SQL 1

SharePoint

Farm 1

SQL 2

Synchronous

Always On Availability& SharePoint

High

Availability

Database Supported

Admin Content Yes

App Management Yes

BDC Yes

Config Yes

Content Yes

Managed Metadata Yes

PerformancePoint Yes

PowerPivot Not Tested

Project Yes

Search Analytic Reporting Yes

Search Admin Yes

Database Supported

Search Crawl Yes

Search Links Yes

Secure Store Yes

State Service Yes

Subscription Settings Yes

Translation Services Yes

UPA Profile Yes

UPA Social Yes

UPA Sync Yes

Usage(=loggingDB) Yes

Word Automation Yes

Database Support – Sync Commit

SQL 1 SQL 2 SQL 3

Asynchronous

Disaster

Recovery

Synchronous

DR avec Always On Availability Groups & SharePoint

SharePoint

Farm 1

SharePoint

Farm 2

Database Supported

Admin Content No

App Management Yes

BDC Yes

Config No

Content Yes

Managed Metadata Yes

PerformancePoint Yes

PowerPivot Not Tested*

Project Yes

Search Analytic Reporting No

Search Admin No

Database Supported

Search Crawl Yes

Search Links Yes

Secure Store Yes

State Service No

Subscription Settings Yes

Translation Services Yes

UPA Profile Yes

UPA Social Yes

UPA Sync No

Usage Yes

Word Automation Yes

Database Support – Async Commit

Small Farm

Deployment

(0-500GB of

Data)

Medium

Farm

Deployment

(501-1TB of

data)

Large Farm

Deployment

(1-2TB of

Data)

Very Large

Farm

Deployment

(2-5 TB of

Data)

Special

Cases

RAM 8 16 32 64 64+

CPU 4 4 8 8 8

SQL Server - RAM

Dedicated SQL Server

For optimal performance when operating server farms, we

recommend that you install SQL Server 2008 R2 with SP1 and SQL Server 2012 on a dedicated server that is not running other roles of farm and n 'not host databases for other

Collation: Latin1_General_CI_AS_KS_WS

Cannot be changed after wise

Fine Tuning SQL Server

•NFTS Allocation Unit Size: 64KSQL reads and writes 64K at a time, but your disk allows only 4K by default. This change alone may show you up to 30% improvement in speed.

“chkdsk c:”

Cannot be changed after wise. Format disk is necessary.

Fine Tuning SQL Server

Fine-tuning SQL ServerSet min. and max. Server

/!\ Total amount memory x 0,80 /!\ The default value of SQL Server for Maximum Memory is : 2147483647 MB

Maximum fill factor per index (80%)

Activate backup compressionIt’s faster and needs less disks space

Max Degree of Parallelism (MAXDOP) = 1Prerequisite for SharePoint 2013

Fine-tuning SQL ServerUse a dedicated search instance > 10’000’000 items

Antivirus: Exclude data files, transaction logs and backup files from real-time scan

Install only features and components you need. SharePoint only requires: Database Engine Services

Do not enable Statistics

Create your Databases with PoSH

Fine Tuning SQL Server

Fine-tuning SQL ServerData prioritization among faster disks (descending)

• Temp DB data files

• Temp DB logs

• Content DB logs

• Search DB data files

• Content DB data files

• Search DB logs

• SharePoint data files

• SharePoint logs

• Latency between SharePoint Server and SQL Server should be less than 1ms

• Host all the servers in the same datacenter.

• /!\ If the datacenter has a problem, your SharePoint farm can be down /!\

• Don’t use Network Load Balancing (NLB), but a real load balancer like

• In case of problem: Requests to one server

Remove the load (http requests)

/!\ 3 is the new 2 /!\

• Fully Redundant SharePoint Farm/!\ 7 is the new 5 /!\

Importance of a Load Balancer

• Use a Swap Serverd: is the production of your developers

q: is the production of your content owners

p: is the production of your Business

• Script as much as possibleCreate your own PowerShell (PoSH) Framework

• Use the object modelWeb.Config

Regroup operational tasks

•Content Databases shouldn’t be more than 200GBBackup / Restore

Operational tasks

•5000 Site collections per Content Database

• 10 Application Pools (can be extended depending hardware)

•20 web Applications per SharePoint Farm

•Don’t use the Product Configuration Wizard

SharePoint Fine Tuning

•Set Quotas on all Web Applications

•Disable Certificate Revocation List

•Authentication

Anonymous, Claims, Kerberos, NTLM, Forms, ADFS

•Wake-Up

•Only extend if you have a different authentication protocol.

SharePoint Fine Tuning

•Distribute the load on multiple crawl servers

•Throttle crawling, adjust crawling schedule

•Incremental vs continuous crawl

•Content sources• Group by

SharePoint Fine Tuning

SharePoint Fine Tuning

•Distributed Cache• 5% of RAM is used for Newsfeed, Microblogging etc..

•Object Cache ( SuperUser, SuperReader)

•Client Cache (Websites with CSS, Javascript)

•Output cache (caches SC, Publishing features)

SharePoint Fine Tuning

•Application Pool Recycle && IISReset

•Crawl Jobs (continuous crawl)

•Backup Jobs

•Large list operations

SharePoint Fine Tuning

Fine-tuning SharePoint Server (Resource-intensive Service Applications)

•Excel Service Application

•Search Service Application

•Usage and Health Data collection

•User Profile Service Application

Fine-tuning Client SideOperating System.

Install Latest updates. [/WSUS]

Antivirus. Exclude files from real-time scan for Enterprise computers:

Turn off scanning:Windows Update or Automatic UpdateWindows Security filesGroup Policy related filesSYSVOL files DFS and DHCP files

Fine-tuning Client SideMicrosoft Office.

Use the newest Office Version for best compatibility

Internet Explorer.

Supported:

Internet Explorer 11,

Internet Explorer 10,

Internet, Explorer 9,

Internet Explorer 8

Fine-tuning Windows ServerWindows Server performance options

Computer > Properties > Advanced system settings > Performance > Settings > Visual Effects

Fine-tuning Windows ServerDetermine page file size

Factor 1,5 of the server RAM. Ex:

8192 MB RAM x 1,5 = 12288 MB pagefile

Computer > Properties > Advanced system settings > Performance > Settings > Advanced > Virtual Memory > Settings

Fine-tuning Windows ServerUse the proper power plan | High Performance

Start > Control Panel > Power Options

Fine-tuning Windows ServerStop / disable unused services

• Spooler

• AudioSrv

• TabletInputService

• WerSvc services

Fine-tuning Windows ServerWindows Firewall

Manually define the SQL rules on the Windows Firewall

• 1433 (TCP)

• 1434 (UDP)

Fine-tuning Windows ServerAntivirusExclude files from real-time scan Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions

Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\Logs

Drive:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\Data\Applications

Fine-tuning Windows ServerReduce I/O

System, Log and Index files:

•C: System

•G: Index

•H: Logs

Fine-tuning Office 365

1,000ms

5,000ms

The slowest 1% of pages in SharePoint online take more than 5,000ms to load

75% of SharePoint Online pages load in less than 1,000ms

Fine-tuning Office 365

Internet

peering and

routing

Customer

Internet

connection

Microsoft

network

Microsoft

edge nodes

Content

delivery

network

Server

workloads

Your Client

Why SharePoint pages get slow…

Server

Browser

Network

Complex pages

Too many web partsLarge payload

Too many files

Large distance to server

Complex pages

Busy computer

Small cache

Server

Expensive server interactions

Front end cache misses

Network

MicrosoftNetwork

Internet

ISP

CDN

Not Nice To Do’s• Unstructured Data Takeover

• The biggest culprit in this respect are complex pages with multiple web parts.

•Many of the issues that affect performance with SharePoint on-premises also apply to SharePoint Online.

• An avalanche of large media

• SharePoint Images• Keep them small

•Minify all JavaScript and CSS assets

Plan, Plan and Plan again!

Things to factor into your designCloud Parity Devices Connectivity

Troubleshooting performance process

•Network Capture tool • Netmon

• WireShark

• TCPDump

• Microsoft Message Analyzer

•Application Level tools• HTTPWatch

• Fiddler

Summary

If budget is no problem

If you can’t promise 99,99% uptime

If you don’t have the knowledge

If you have an existing SharePoint that fits the business requirements

If the cloud is “nogo” for you.

Custom Codes, layouts, settings, …

Use SharePoint Server, if…

If the cloud is not a problem for your organisation

If you can’t handle SharePoint and his friends

If you don’t have the budget of a Fully Redundant Farm or consultants

If you have to begin from scratch

If you want to have all new features/solutions and pay less.

Can’t promise 99,9% of SLA

Use SharePoint Online, if…

SummaryPerformance -, it depends

Other platforms also matters

SharePoint is fast, but depends many about others

You can improve, improve and improve

• https://technet.microsoft.com/en-us/library/cc748824.aspx

• https://technet.microsoft.com/en-us/library/jj715263.aspx

• http://blogs.msdn.com/b/sambetts/archive/2013/08/22/sharepoint-farm-patching-explained.aspx

References