Contenu connexe Similaire à SharePoint Performance - Tales from the Field (20) Plus de Chris McNulty (9) SharePoint Performance - Tales from the Field1. SharePoint Performance – Best
Practices from the Field
Boston Tech Meetup
Chris McNulty
SharePoint Strategic Product Manager
February 2012
©2011 Quest Software, Inc. All rights reserved..
2. Quest Market Presence
Americas
60 Offices, 3 HQs EMEA
APJa
Sales/Mrkg
3600+ Employees R&D
Support
178 Countries
100,000+ Customers All Verticals
Global 200
SMB
Multiple Business Lines Database, Monitoring, Data
Protection, User
Workspace/Virtualization,
Windows (SharePoint, AD,
Messaging), Identity Mgmt
2
2
©2011 Quest Software, Inc. All rights reserved..
©2011 Quest Software, Inc. All rights reserved. Confidential.
3. 3
3
©2011 Quest Software, Inc. All rights reserved..
©2011 Quest Software, Inc. All rights reserved. Confidential.
4. Chris McNulty
• SharePoint Strategic Product
Manager at Quest Software
• 10+ years with SharePoint
• 20 years consulting (led KMA
SharePoint practice) and financial
services technology (Santander,
John Hancock/Manulife, GMO,
State Street)
• MBA in Inv Mgmt from Boston
College
• Write and speak often on
Microsoft IW technologies (blogs
& books)
• MCSE MCTS MSA MVTSP MCC
• Hiking, cooking, playing guitar,
colonial history, photography
• My family: Hayley, three kids (17, 8,
5) and my dog Stan 4
©2011 Quest Software, Inc. All rights reserved..
6. Agenda
• The dilemma
• Architecture, Design & Planning
• Installation and Upgrade
• Post Installation Best Practices
• Service/Feature Placement
• Support
• Monitoring and Optimization
• Backup
• PowerShell
• Development Functions
• Optimization
• Patching
• SQL Maintenance
• Best Practices
@cmcnulty2000 6
©2011 Quest Software, Inc. All rights reserved..
7. Presentation Governance
• Out Of Scope
• Deep Dives (e.g. PowerShell, BI, Upgrade, SQL DBA)
• Development
• Customization
• Design & Architecture
• Power User (e.g. Library Customization, Designer Workflows, etc.)
• Rules
• Move fast, PowerPoint is shared – http://slidesha.re/xTcZYq
• Questions – time permitting during session
• Any time after session – email etc. - @cmcnulty2000
@cmcnulty2000 7
©2011 Quest Software, Inc. All rights reserved..
10. Server Farm – Web Front End
• Typical Roles:
• http services
• Search query
• Scaling
• Add servers to load balanced
cluster
• Performance Optimization
• RAM
• Easily virtualized
11 11
©2011 Quest Software, Inc. All rights reserved..
11. Server Farm - Application Server
• Typical Roles:
• Search index/crawl
• Excel calculation
• User profiles
• Managed Metadata
• Scaling
• Add search servers and
partitions
• Move shared services to
dedicated servers
• Performance Optimization
• CPU
12 12
©2011 Quest Software, Inc. All rights reserved..
12. Server Farm - Database
• Typical Roles:
• Data storage
• SQL Reporting
• Scaling
• Add storage capacity
• Performance Optimization
• Disk I/O
13 13
©2011 Quest Software, Inc. All rights reserved..
13. Sizing - Single Server
• Typical Roles:
• Small teams
• Small pools of documents
• Considerations
• Performance & fault tolerance
less of a concern
• SQL & Web on same system
• Search not a core function
14
©2011 Quest Software, Inc. All rights reserved..
14. Sizing - Medium Farm
• Typical Roles:
• 100-10,000 users
• 10,000 – 1MM documents
• Scenarios
• Enterprise portal
• Large scale collaboration
• Broader applications platform
• Larger external search pool
• Mix and match internal external
front end servers on common
content databases
15
©2011 Quest Software, Inc. All rights reserved..
15. Sizing - Large Farm
• Typical Roles:
• Large distributed
enterprise users
(10000+)
• Large pools of
documents
(>1MM)
16
©2011 Quest Software, Inc. All rights reserved..
16. Sizing – No Servers – Office 365
Office 365 E1 E2 E3 E4
• Constraints/Unavailable
Enterprise Plans
SharePoint √ √ √ √ • Custom, non sandbox solutions
Online • Power Pivot
Office Web Apps √ √ √
• SQL Server Reporting Service
Local Copy of √ √
Integration
Office • Business Connectivity Services
Professional
(OK for web services- based
2010 Plus
remote data in O365 BCS.)
Forms Services, √ √
Vision Services, • FAST Search Server Integration
Access Services • Web Analytics
• Site collections greater than
Monthly cost per $10 $16 $24 $27
100GB
user
17
©2011 Quest Software, Inc. All rights reserved..
17. Logical Components
• High capacity!
• Maximums
• 250,000 sites per site
collection
• 5,000 site collections per
content DB
• 200GB max content DB
(single site collection)
• >200GB post SP1
• 300 Content DBs per web
application
• 30MM documents/library
• 2GB document size
• 2011 News
• 14TB Demo
18
©2011 Quest Software, Inc. All rights reserved..
18. Disk Sizing
Content Search
Initial Content Size XXX GB External Crawl Size YYY GB
Initial User Pool U
User Collab Size .25GB
n YR Growth Rate – G%
Archive Rate
End Content Size XXX (1+G)n = ECS End Search Size YYY (1+G)n = ESS
End User Collab Size .25 * U * (1+G)n = EUCS
Content DBs ECS + EUCS
Search DBs .05 * (ECS + EUCS + ESS)
Search Index Files .05 * (ECS + EUCS + ESS)
• Inputs: Size of SharePoint content and non-SharePoint content included in search
• For DBs, don’t forget transaction logs, disk dumps (if used for backup) which can
add 1-3X.
• In SAN or virtual environments, not all disk need be provisioned early
@cmcnulty2000 19
©2011 Quest Software, Inc. All rights reserved..
19. Memory Sizing
• Web Front End (WFE)
• 8GB minimum
• 12GB larger
• 16GB max
• Application
• 8-12GB
• SQL
• 8-24GB
• HP Sizing Tool
• http://h71019.www7.hp.com/activeanswers/Secure/548230-0-0-0-121.html
• Don’t forget about the swap files (1-2X size of RAM)
@cmcnulty2000 20
©2011 Quest Software, Inc. All rights reserved..
20. Psst…about SQL…
• Sidebar on SQL Disk optimization
• RAID 1: Mirroring (Wastes disk)
• RAID 5: Parity Bit (write performance hit)
• RAID 10 Stripes across mirrors (costly)
• Physical location of data, log, temp and/or backup files. If virtualization or
SAN technology doesn’t isolate the disks, not much performance gain,
• Performance optimization/fault tolerance by:
• RAID1 on boot disks
• RAID5 on data disks
• RAID10 on log disks
• No RAID, or RAID 5 on backup disks
• RBS reduces size (and count) of content databases but doesn’t reduce
size of total storage
• IOPS, IOPS, IOPS!
@cmcnulty2000 21
©2011 Quest Software, Inc. All rights reserved..
21. Database sizing
• Automatic database growth:
• 50-100MB clumps – not by percentage.
• Using a small size leads to more frequent, but smoother, steady state
growth.
• Presize tempdb to about 20% the size of the single
largest content database.
@cmcnulty2000 22
©2011 Quest Software, Inc. All rights reserved..
23. Proactive Issue Resolution
• Developer Dashboard
• Empower developers and users
• Integrated Health
Analyzer
• Runs when necessary
• Alerts anomalies
• Fixes when it can
• Web Analytics
• User usage
• Resource usage
24
©2011 Quest Software, Inc. All rights reserved..
24. Logging, Monitoring, and Alerts
• Unified Logging
ULS Logs
• Out-of-the-box reports
• Richer Web Analytics Windows
Events
• Open Schema
Logging
• SCOM Integration
Page
requests
DB
• PLUS
Feature
Logging
• Developer Dashboard
• Health Analyzer
Health
data
25
©2011 Quest Software, Inc. All rights reserved..
26. Monitoring – WSS_Logging
• Query Database Views Directly
• Requires Timer Jobs Enabled
• Diagnostic Data Provider: Trace Log
• Diagnostic Data Provider: Event Log
• ULS Configuration Matters
• Database will GROW!
• Aggregates from ALL Servers
• Sample:
• SELECT * FROM
[WSS_Logging].[dbo].[ULSTraceLog]
WHERE CorrelationID = '04377DAE-
C2FD-4DBE-A57E-101B3005059E'
28
©2011 Quest Software, Inc. All rights reserved..
27. Development Support –Sandbox
• CA | Application Management
• Manage Quotas and Locks
• (Also where you can set a site collection read-only)
• Daily quota is 300 points
• includes AbnormalProcessTerminationCount,
CPUExecutionTime, CriticalExceptionCount,
InvocationCount, PercentProcessorTime,
ProcessCPUCycles, ProcessHandleCount,
ProcessIOBytes, ProcessThreadCount,
ProcessVirtualBytes, SharePointDatabaseQueryCount,
SharePointDatabaseQueryTime,
UnhandledExceptionCount,
UnresponsiveprocessCount
• Reconfigure values via PowerShell
(unlikely)
• Examine them using:
• [Microsoft.SharePoint.Administration.SPUser
CodeService]::Local.ResourceMeasures
30
©2011 Quest Software, Inc. All rights reserved..
28. Development Support – Three Regions
Development Staging/Test Production
• often internal to developers • no Visual Studio, no MS • optimized hardware
• problem reproduction that Office configurations
require advanced inspection • match/mirror production as • highly secure
tools (e.g. Visual Studio) are closely as possible; match • no use of user rotating
done here hardware/system password accounts as
• permissions can be looser, performance as closely as service accounts
may have multiple practical • changes here can only be
environments for multiple • security permissions match delivered and deployed
developers production from source control and
• sensitive data from • any sensitive data copied according to production
production cannot be here stays under release methods
copied here without production-grade controls
masking or customer signoff • test accounts should be
• changes here can be created in a separate OU if
deployed ad hoc possible
• changes here can only be
delivered and deployed
from source control and
according to production
release methods
@cmcnulty2000 31
©2011 Quest Software, Inc. All rights reserved..
31. Optimization
• IIS Bit Rate Throttling (Video)
• Part of IIS Media Services 2.0 or greater
• Download http://www.iis.net/download/BitRateThrottling
• Configured through IIS Manager
• Large File Upload Support:
• Central Admin: 600MB Upload Size
• IIS7 Connection Timeout 65536 seconds
• Web app web.config = change line to
• <httpRuntime maxRequestLength="2097151" executionTimeout="999999" />
• in 14hivetemplatelayoutsweb.config, change above line to same
• Finally, as per http://support.microsoft.com/kb/944981/en-us add section to web.config to allow
600MB content length (it’s a new requirements in IIS7).
• <system.webServer>
• <security>
• <requestFiltering>
• <requestLimits maxAllowedContentLength="629145600"/>
• </requestFiltering>
• </security>
@cmcnulty2000 34
©2011 Quest Software, Inc. All rights reserved..
32. Optimization
• Disk-based BLOB Caching
• Local store for audio/video, PDF other frequent read only files
• Edit in Web.config (C:Inetpubwwwrootwssvirtualdirectories...)
• <BlobCache location=""
path=".(gif|jpg|jpeg|jpe|jfif|bmp|dib|tif|tiff|ico|png|wdp|hdp|cs
s|js|asf|avi|flv|m4v|mov|mp3|mp4|mpeg|mpg|rm|rmvb|wma|wmv)$"
maxSize="10" enabled="false" />
• Location = Local Disk Location
• maxSize = GB
• Enabled = true
• Different from RBS/EBS!
• For publishing sites
@cmcnulty2000 35
©2011 Quest Software, Inc. All rights reserved..
33. Patching – Process through August 2011
• SharePoint Foundation
Patch
• SharePoint Server
Patch
• Run SharePoint Products and Technologies Wizard
• (Or psconfig)
• Sequential Application to Central Admin, Application Server(s), Web Front
Deploy End Servers
@cmcnulty2000 36
©2011 Quest Software, Inc. All rights reserved..
34. Patching – Process After August 2011
• Separate patch longer needed – single patch CU now available
Patch
• SharePoint Foundation
• OR SPF/Server
Patch • OR SPF/Server/Project Server
• Run SharePoint Products and Technologies Wizard
• (Or psconfig)
• Sequential Application to Central Admin, Application Server(s), Web Front
Deploy End Servers
@cmcnulty2000 37
©2011 Quest Software, Inc. All rights reserved..
35. Patching – Notes
• Test before installation!!!
• Cumulative Updates every two months
• Service Pack every 6-18 months
• Service Pack 1 REQUIRES at least the June 2011 CU
• December 2011 CU
• iOS 5 Mobile Safari support for Performance Point
• Fixed Administrator updates to user profile pictures
• Check my blog for latest:
http://www.chrismcnulty.net/blog/Lists/Categories/Category.
aspx?CategoryId=5&Name=Version-Build Numbers
@cmcnulty2000 38
©2011 Quest Software, Inc. All rights reserved..
36. SQL Maintenance
• Backups
• Local Disk – easy but storage intensive
• Agents – remote, requires extra software
• RBS Maintenance
• BLOB Orphans
• Log Sizing
• Full logged (default) generates huge t-logs
• Simple doesn’t but prevents point in time restore
• Maintenance Plans
@cmcnulty2000 39
©2011 Quest Software, Inc. All rights reserved..
37. Metrics and Results
• IOPS <400
• Improve disk I/O or reduce content database sizes
• Processor/CPU utilization >60%
• You may need to add servers or redistribute services to reduce the load.
• Available memory <50%
• Again, add RAM.
• Disk average reads/writes >15ms.
• ~66.67 IOPS Common on virtualized SQL servers. That’s slow, and predicts reduced
performance even for smaller content databases on a SQL server. Use physical disk or move
the volume to dedicated storage.
• Sustained network bandwidth higher than 25%. Network latency output
queue >0
• Network can’t keep up with users or the server. Add physical switched Ethernet ports, adding
servers to divide the load.
• Or move a virtualized guest server to a new host.
@cmcnulty2000 40
©2011 Quest Software, Inc. All rights reserved..
39. Troubleshooting – Top Support Questions
• Users Receive “Cannot Connect to Configuration Database”
Web Page
• SharePoint farm account is locked out
• No one can upload anything but site is up
• Database disk volume is full – check transaction logs, backups
• In virtualized environment, host file systems may be full
• I can’t find a document I think I should see; Someone can’t
see a file I just uploaded
• Security and permission variations
• Document “movement” (a/k/a ECM) try search by name or Document ID.
Check ECM logs/audits
• Confirm permissions, and make sure document is checked in (Required
properties may be missing)
@cmcnulty2000 42
©2011 Quest Software, Inc. All rights reserved..
40. Troubleshooting – More Support Questions
• Repeated requests to re-enter Windows credentials
• Add to Local intranet zone, add site, custom level, automatic login with
current user name and password (it’s the last thing in the item list)
• OR Trusted sites
• My workflow didn’t start
• Recycle timer service
• “FixSharePoint.exe” = IISReset & Timer Service Recycle
• I’m not seeing the right search results
• Confirm that crawls are running and complete by checking crawl logs; restart
a full crawl if crawls finish OK
• I need a file back that I deleted
• Recycle Bin Recovery
• Use Backup & Restore
@cmcnulty2000 43
©2011 Quest Software, Inc. All rights reserved..
41. Miscellaneous Tips and Tricks I
• Bad web parts on page
• ?Contents=1 on end of URL
• HyperV & DiskPart
• From the run menu type "diskpart.exe" to enter the command line utility to resize disk
partitions in Windows Server 2003.
• The command list volume will show you all the available volumes.
• Select your volume as shown below. select volume 1 corresponds to the "D" volume.
• Extend the volume with the extend command; the partition will be immediately extended
under the Disk Management snap in.
• User Profile Sync
• DirSync permissions in AD are essential (Replicating Directory Changes )
• PSCONFIG for a stuck wizard
• psconfig.exe -cmd upgrade -inplace b2b -wait
• 14HIVEbin on PATH
• How big is that site collection anyway?
• Site Settings | Site Collection Analytics | Scroll down to Inventory and choose Storage Usage
@cmcnulty2000 44
©2011 Quest Software, Inc. All rights reserved..
42. Miscellaneous Tips and Tricks II
• How do I make a bigger template?
• stsadm -o setproperty -propertyname max-template-document-size -propertyvalue
size_in_bytes
• Save site as template
• To save any site as a template, just go to Site Actions | Site Settings | Save Site as template.
This saves the site as a standard .WSP package in the Site Collection Solutions Gallery
(/_catalogs/solutions/Forms/AllItems.aspx)
• Auditing
• In Central Admin | Security, configure Information Management Policy
(/_admin/Policyfeatures.aspx). Make sure Auditing is Available
• At the Site Collection Audit Settings screen (in Site Collection Administration) select the
events you want to audit
• Site Setting | Site Collection Administration | Audit Log Reports
• Service Account Management in Central Admin
• Security | Managed Service Accounts
• When all else fails – web.config!!!!
@cmcnulty2000 45
©2011 Quest Software, Inc. All rights reserved..
44. Seven Deadly Sins
• No SQL maintenance plans
• Default names for every database
(WSS_CONTENT_12345abc…)
• No patching
• One environment for everything
• One acct for everything
• Single server install with SQL Express
• Runaway content database size
@cmcnulty2000 47
©2011 Quest Software, Inc. All rights reserved..
46. Seven SharePoint Virtues
• Security Applied via AD Groups and SharePoint Groups
• Review System Health
• Test Restore and Recovery
• Monthly Web Analytics Review – Usage, Storage,
Search
• PowerShell instead of STSADM
• Governance
• Use ECM, MMS, Clients, Archiving and Training to Keep
Content in SharePoint, reduce accidental duplication
and keep searching and browsing fresh
@cmcnulty2000 49
©2011 Quest Software, Inc. All rights reserved..
49. TEC USER GROUP DISCOUNT –
(The Experts Conference - San Diego April 29-May 2)
Attend the conference for $1375
this is $300 off current price and $500 off full price! Open to all SPUG
members
email michelle.fallon@quest.com
$200 VISA Gift card when you arrive in San Diego*
*be one of the first 10 user group members to register by March 5
2 Key Notes –
Bill Baer of Microsoft
Michael Lotter – founder of www.sharepointsaturday.org
Three Themes
-SharePoint Governance,
-the future of SharePoint and
-SharePoint business intelligence - featuring SQL Server 2012 Denali.
Other Speakers include:
Chris McNulty, Ben Curry, Scott Jamison, Susan Hanley, Chris Beckett, Sadie Van
Buren, Zlatan Dzinic, Shadeed Eleazer, Bob German, Jason Himmelstein, Dan
Holme, Chris Givens, Derek Cash-Peterson, Sean McDonough, Phillip Wicklund
Email michelle.fallon@quest.com for details – see
www.facebook.com/tecsharepoint and www.theexpertsconference.com for
more info 52
52
©2011 Quest Software, Inc. All rights reserved..
©2011 Quest Software, Inc. All rights reserved. Confidential.
50. Increase SharePoint Adoption!
• Quest AttachThis
– A simple Outlook add-in that uploads email attachments to SharePoint and
replaces them with secure links in a way that is intuitive to end-users
– Encourage users to use SharePoint collaboration while still using Outlook as
their everyday business application.
– BETA starts Monday, February 27th
– Granular Attachment Permissions - Users will be able to set granular permissions for the
document attachment that is to be uploaded into SharePoint based on the recipient list of
the email or they can choose to assume the permissions of the site where the document is to
be stored.
– Enhanced Client User Interface - Users will experience an intuitive user interface for
AttachThis that enables them to send the attachment as a SharePoint hyperlink, regular
attachment or both as well as select the SharePoint location and set document permissions
based on the email recipient list.
– Simple Client Install and Configuration - AttachThis has a very simple to use, step-by-step
installer/configurator for easy installation and implementation.
Join the Beta –
www.Quest.com/AttachThis_Community
53
53
©2011 Quest Software, Inc. All rights reserved.
©2011 Quest Software, Inc. All rights reserved. Confidential.
51. Collaboration Today – Email Based with AttachThis
A user sends an email
with a document
attachment to multiple
co-workers for their
edits and feedback.
When the user hits
send, the attachment
gets uploaded into
SharePoint and a link
now replaces the
document attachment
in the email.
The recipients receive
the email with a link to
the document on
SharePoint.
54
54
©2011 Quest Software, Inc. All rights reserved.
©2011 Quest Software, Inc. All rights reserved. Confidential.
52. Thank you…
• Contact
• Email chris.mcnulty@quest.com
• Blog http://www.chrismcnulty.net/blog
• Also http://www.sharepointforall.com
• Twitter: @cmcnulty2000
• LinkedIn:http://www.linkedin.com/in/cmcnulty
• Upcoming:
• Feb 2012 -- SPTechCon San Francisco
• Mar 2012 – SharePoint Conference Heartland (Columbus OH),SharePoint Conference
AUS, SharePoint Connections (Las Vegas)
• April 2012 – SharePoint Saturday Twin Cities; The Experts Conference San Diego
• May 2012 – New England SPUG
• June 2012 – New Hampshire SPUG
• July 2012 – SharePoint Saturday NYC
55
©2011 Quest Software, Inc. All rights reserved..
Notes de l'éditeur We have offices throughout the world and have the resources to support the largest global organizations whether they be in the Americas, Europe, Middle East, Africa, or across the Asia Pacific and Japan region. Let’s break down investments by workloads…SitesCommunitiesContentSearchInsightsComposites b Keep? No SQL maintenance plansAll gardens need weeding. SQL databases need tending too. Left on their own, content databases and config databases will generate runaway transaction logs. Combined with overzealous local backup retention plans and you’ll quickly fill up you storage. Take a little time to understand Full Recovery vs. Simple Recovery in SQL. Or, more importantly, use a maintenance plan to backup and truncate your logs – it’s not that hard.Default names for every databaseThe default database name for a SharePoint content database is “WSS_Content”, and if you take the defaults, all subsequent databases will take the default format WSS_Content_[really-long-GUID]. Don’t do this – down the road, during backup, restore or SQL maintenance operations you'll be constantly jumping into Central Admin to figure out which sites use “WSS_Content_abdc1234-1111-2222-878adf0e”. Much better to name the databases according to a person- friendly standard – “WSS-Content-HRPortal”, etc. Even if it’s obvious to you, it may not be obvious to your DBA or someone else who has to support it in the future. No patchingGiven my crazed obsession with SharePoint version numbers (see http://blogs.kma-llc.net/microknowledge/version-build-numbers/) this is not a stretch. Microsoft has made it as easy as possible to stay in sync with the latest patches, Service Packs and Cumulative Updates. Do you need to update your systems every two months? Probably not. Should you still be running the nearly four year old RTM version of SharePoint 2007? Definitely not.One environment for everythingDon’t build a development environment. Don’t build a test environment. Just make all changes live, in production. What could ever go wrong?One acct for everythingBig, big no-no here. If you don’t pay attention, you may be tempted to use one master account for the SQL service, for the installation, for the farm account, for search, for content access, and for the IIS pools. Then, when you administer the site, it’s always easy to work around security restrictions by handing out those account credentials to a wide group of people. Next thing you know, someone forgets the password and locks out the account. The great news is that you don’t need to build a monitoring system for this alert, because everyone and I mean everyone, will get the dreaded web page that reads:Cannot connect to configuration database.So don’t give out the admin accounts, and, especially, don’t reuse the farm account.Single server install with SQL ExpressIf you don’t pay close attention on the original installation sequence, you may pick a “standalone” single server installation. You’re starting with only one server for now, right? Unfortunately, you’ll wind up with a server that can’t be expanded, running SQL Express Edition. And limited to 4GB of content database size. Well, at least you’ll avoid the next problem:Runaway content database sizeMicrosoft recommends that SharePoint content databases stay below 100GB (200GB if it’s the only content DB in a SharePoint 2010 site collection). But SharePoint doesn’t stop you from adding more – it’s a recommendation for optimal user performance. However, I’ve seen too many installations that grew grew grew to 250GB, 500GB or more. Plan your content database sizes in advance of critical sizes. You can add databases and site collections to create more manageable units, or use Remote Blob Storage (RBS) to pull those file of attachments out of the databases and into external storage, reducing file sizes. Keep? Use SP to managed SPBusiness owns home page I would be happy to discuss what we are trying to put together for partners/TEC.