Você está na página 1de 35

SharePoint 2013 Performance and

Capacity Management
John Naguib
Senior Technical Consultant / Portfolio Architect
MCITP, MCPD, MCTS and MCT
1

Who am I
-

Senior Technical Consultant/ Portfolio Architect in HP

Active in writing wikis, blogs and forums

MCITP, MCPD, MCTS and MCT, TOGAF Foundation 9.1 Certified

Blog: http://johnnaguib.blogspot.com
Twitter: @johnnaguib
TechNet Profile: https://social.technet.microsoft.com/profile/john%20naguib/

Agenda

Introduction
Capacity Planning
Performance Monitoring
Capacity Management
Performance Optimization
Tools
My Sharings
Questions

SharePoint to a User

SharePoint to Consultants/Operations

SharePoint Traditional Topology

SharePoint Streamlined Topology

Capacity Planning
Web Front End and Requests per second
Number of WFEs needed (@100 RPS/server)
Calculate RPS: either with existing data or with assumptions
N: Total number of unique users ("20,000 of whom access the farm on any given
day")
C: Concurrent user rate ("30 percent of the users will use the portal at the same
time")
RPD: Requests per day per user ("Each user makes 400 requests in the course of a
business day")
Peak usage ratio = 3 ("peak usage can be as much as three times")
Average RPS = (N * C * RPD * Peak Usage)/seconds
8

Capacity Planning 2
Apps Server Capacity Planning:

*Start with two application servers dedicated to the query processing component
and index partitions and place all other service application components on a
separate application server. Based on utilization, consider either adding allpurpose application servers that are configured similarly, or adding application
servers to dedicate resources to specific service.
*Services that consumes resources like PerfromancePoint
*Search Separation 10 million, 40 million, 100 million
http://www.microsoft.com/en-us/download/details.aspx?id=30383
9

Capacity Planning-Links

for the WFE is the RPS Requests per second versus the users
to get the RPS
http://smallcitydesign.com/how-to-get-sharepoint-2010-requests-per-second-rps/
and this excel sheet to get the users versus RPS
http://pcfromdc.blogspot.com/2013/02/determine-max-users-from-requests-per.html
and here you are how to get the number of front ends
http://abhayajoshi.blogspot.com/2014/01/how-to-calculate-number-of-web-front_24.html
for Apps server, it is based on memory and cpu consumption, check those links
http://blogs.msdn.com/b/sanjaynarang/archive/2013/04/06/sizing-and-capacity-planning-forsharepoint-2013-resources.aspx
https://technet.microsoft.com/en-us/library/ff758645.aspx
https://technet.microsoft.com/en-us/library/cc262971.aspx
10

What to Monitor

11

What to Monitor (2)


#

Counter

1
2

% Processor Time
Disk-Average Disk Queue Length

Disk-% Idle Time

Disk-% Free Space

5
6
7
8
9
10
11
12
13
14
15
12
16

Memory- Available Mbytes


Memory- Cache Faults/Sec
Memory- Pages/Sec
Paging File % Used
Paging File %Used Peak
Network Interface Card- Total Bytes/Sec
Process(w3wp and owstimer.exe) -Working Set
Process(w3wp and owstimer.exe) -%Processor Time
Application Pool Recycles
ASP.net- Requests Queued
Request Wait Time
Request Rejected

How to Monitor
SCOM
3rd Party
Performance monitor Dataset Collectors
power shell script and export to CSV
Adding counter to usage DB (configure data collection)

13

How to Monitor 2

SQL Server Tools ( SQL Server Profiler)


IIS Logs
http://gallery.technet.microsoft.com/sharepoint/The-SharePointFlavored-5b03f323#content
Capacity planning limits
http://gallery.technet.microsoft.com/Maxer-for-SharePoint2013-52208636

14

Capacity Management
#

Counter

Potential Bottleneck
Condition

% Processor Time

Persistently greater than


75%

Upgrade processor, Add additional processors, Add additional servers

Disk-Average Disk Queue Length

Gradually increasing

Upgrade to faster disks, Increase number of disks, Implement data striping, Move some
data to alternative servers

Disk-% Idle Time

Persistently less than 90%

Increase number of disks, Move some data to alternative disks or servers

Disk-% Free Space

Persistently less than 30%

Increase number of disks, Move some data to alternative disks or servers

5
6

Memory- Available Mbytes


Memory- Cache Faults/Sec

Add memory, Remove unnecessary services,


Add Memory, Increase Cache size Move some data to alternative disks or servers

Memory- Pages/Sec

Less than 2 GB on WFE server


Persistently greater than 1
Persistently greater than 10

Add Memory

Add Memory

Add Memory
Upgrade NICs,
buffers)

Add Memory

Upgrade processor, Add additional processors, Add additional servers

Paging File % Used

Greater than 50%

Paging File %Used Peak

10

Network Interface Card- Total Bytes/Sec

11

Process(w3wp and owstimer.exe) -Working Set

12

Process(w3wp and owstimer.exe) -%Processor


Time

Greater than 75%


Persistently greater than
40% of capacity
greater than 80% of total
memory
Persistently Greater than
75%

13

Application Pool Recycles

14

ASP.net- Requests Queued

1515

16

Request Wait Time


Request Rejected

Several per day


Persistently Large numbers
(100s)
Persistent delays
Greater than 0

Action

Investigate further (outgoing traffic, incoming traffic, and memory

Verify application pool settings, Ensure application pools are not set to
automatically recycle unnecessarily
Add WFEs servers
Add WFE servers
Add WFE servers

Demo
Performance
Counters

Data Set
Collectors

IIS Log Files

Diagnostics
Studio

16

PowerShell to generate Counters


How to Analyze counters
How to Analyze Data Set Collectors blg
files

How to Analyze log files


Use Microsoft Diagnostic Studio

Performance Optimization
1 ms Latency between SQL and SP
20 ms latency to retrieve the first byte (Logical Disk: Avg. Disk
sec/Read)

stretched Farms !!

Minimal and optimal memory requirements for SharePoint and SQL


servers (minimal 12GB SharePoint Server; 16GB SQL server, but depends
on the deployment size

17

Performance Optimization 2
Create a SQL alias cliconfg.exe
Disable loopback check
http://blogs.technet.com/b/sharepoint_foxhole/archive/2010/06/21/disab
leloopbackcheck-lets-do-it-the-right-way.aspx
Latest OS updates

SP Service Packs
Use Hardware Load Balancers

18

Performance Optimization 3
Log Files on different than primary (system) disk
Use naming convention for service accounts, services and database names
Disable unused Windows services (eg.: Spooler, AudisoSrv, tabletInput, WerSvc)

WarmUp Scripts

Set Quotas on Web Applications

19

Performance Optimization 4

Compression
Caching
Avoid Long Backup Jobs
Code Check

20

Tools: Developer Dashboard


In SharePoint 2013 improved to provide more information in more accurate
way to track and debug issues with page rendering time.
Running in separate window to avoid affecting rendering of actual page
Detailed request information per page with chant view
Dedicated tab for ULS log entries for particular request
$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$dds = $svc.DeveloperDashboardSettings
$dds.DisplayLevel = "On"
$dds.Update()
New-SPUsageApplication -Name "Usage
Application" -DatabaseName
"SP2013A_Logging"

21

Tools: SQL Profiler


Microsoft SQL Server Profiler is a graphical user interface to SQL Trace for monitoring
an instance of the Database Engine or Analysis Services.

22

Tools: Health Analyzer

23

Tools: Fiddler
Web debugging and traffic trace
http://www.telerik.com/download/fiddler/fiddler4
http://blogs.msdn.com/b/fiddler/archive/2011/12/10/fiddler-windows-8-apps-enable-loopbacknetwork-isolation-exemption.aspx
My IIS response Header tool

24

Tools Log Parser and RPS

http://blogs.msdn.com/b/brian_farnhill/archive/2014/04/03/calculating-rps-statistics-fromiis-logs.aspx
http://blogs.msdn.com/b/mohamed_el_ashmawi/archive/2011/09/23/sharepoint-2010capacity-management-log-parser.aspx
http://smallcitydesign.com/how-to-get-sharepoint-2010-requests-per-second-rps/
To get the total number of users per log file
logparser -i:IISW3C "select top 20 count(*) as ct,cs-username as user from *.log group by user
25
order by ct desc"

Tools SETH SharePoint Engineer Troubleshooting


Helper (SETH)
This SharePoint Engineer Troubleshooting Helper diagnostic is designed to detect certain
problematic
conditions that may exist in the configuration of the server that is running
Microsoft SharePoint Server.
The problematic conditions are checked only on the server on which this manifest is executed.
To make sure that you have maximum coverage,
we recommend that you run SETH on each computer in the Microsoft SharePoint farm.
https://wc.ficp.support.microsoft.com/SelfHelp?knowledgebaseArticleFilter=
http://support.microsoft.com/en-us/kb/2522171
https://support.microsoft.com/en-us/kb/2793381?wa=wsignin1.0
26

Tools SETH SharePoint Engineer Troubleshooting


Helper (SETH)

27

Tools SPSFarm Report


Document your Farm
http://spsfarmreport.codeplex.com/
Run Powershell script
[Environment]::CurrentDirectory
Copy the generated file with the xslt

28

Tools SPDocKIT

29

Tools: Visual studio:


Performance Test

30

My TechNet Articles
SharePoint Tools and Codes
SharePoint Vanity URLs
SharePoint Sites are not deleted
Remove WFE Role from Farm
SharePoint 2013 HNSC
Configure OWA with Certificates
AAM and SharePoint 2013 SSL web applications
Create Self Signed Certificates
SharePoint 2013 and Kerberos
SharePoint 2013 Capacity Management
Workflow Manager Disaster Recovery

31

My TechNet Gallery Sharing's


SharePoint 2013 Performance
Add IIS Response Header
Get SharePoint Site Permissions
Workflow Manager Disaster Recovery

32

My HP Official Blogs

Are you Hot, Cold or Warm


SharePoint Capacity Management
Efficient and Effective Communication with SharePoint

33

My Contacts

Blog: http://johnnaguib.blogspot.com
Twitter: @johnnaguib
TechNet Profile: https://social.technet.microsoft.com/profile/john%20naguib/

34

Thanks

35

Você também pode gostar