TechNet
Products
IT Resources
Downloads
Training
Support
Products
Windows
Windows Server
System Center
Microsoft Edge
Office
Office 365
Exchange Server
SQL Server
SharePoint Products
Skype for Business
See all products »
Resources
Channel 9 Video
Evaluation Center
Learning Resources
Microsoft Tech Companion App
Microsoft Technical Communities
Microsoft Virtual Academy
Script Center
Server and Tools Blogs
TechNet Blogs
TechNet Flash Newsletter
TechNet Gallery
TechNet Library
TechNet Magazine
TechNet Wiki
Windows Sysinternals
Virtual Labs
Solutions
Networking
Cloud and Datacenter
Security
Virtualization
Updates
Service Packs
Security Bulletins
Windows Update
Trials
Windows Server 2016
System Center 2016
Windows 10 Enterprise
SQL Server 2016
See all trials »
Related Sites
Microsoft Download Center
Microsoft Evaluation Center
Drivers
Windows Sysinternals
TechNet Gallery
Training
Expert-led, virtual classes
Training Catalog
Class Locator
Microsoft Virtual Academy
Free Windows Server 2012 courses
Free Windows 8 courses
SQL Server training
Microsoft Official Courses On-Demand
Certifications
Certification overview
Special offers
MCSE Cloud Platform and Infrastructure
MCSE: Mobility
MCSE: Data Management and Analytics
MCSE Productivity
Other resources
Microsoft Events
Exam Replay
Born To Learn blog
Find technical communities in your area
Azure training
Official Practice Tests
Support options
For business
For developers
For IT professionals
For technical support
Support offerings
More support
Microsoft Premier Online
TechNet Forums
MSDN Forums
Security Bulletins & Advisories
Not an IT pro?
Microsoft Customer Support
Microsoft Community Forums
Sign in
Home
Library
Wiki
Learn
Gallery
Downloads
Support
Forums
Blogs
Resources For IT Professionals
United States (English)
Россия (Pусский)
中国(简体中文)
Brasil (Português)
Skip to locale bar
Post an article
Translate this page
Powered by
Microsoft® Translator
Wikis - Page Details
First published by
Margriet Bruggeman
When:
5 Mar 2012 12:13 AM
Last revision by
Peter Geelen
(MVP, Microsoft Community Contributor)
When:
30 Apr 2019 1:40 PM
Revisions:
109
Comments:
106
Options
Subscribe to Article (RSS)
Share this
Engage!
Wiki Ninjas Blog
(
Announcements
)
Wiki Ninjas on Twitter
TechNet Wiki Discussion Forum
Can You Improve This Article?
Positively!
Click Sign In to add the tip, solution, correction or comment that will help other users.
Report inappropriate content using
these instructions
.
Wiki
>
TechNet Articles
>
SharePoint 2010: Tips for Dealing with Performance Issues
SharePoint 2010: Tips for Dealing with Performance Issues
Article
History
SharePoint 2010: Tips for Dealing with Performance Issues
This Wiki page provides an overview of tips that may help you to deal with performance issues in your SharePoint environments:
Get to know your
application
, its usage, and its response times by studying the IIS logs. One of the ways to do this is to use the free SharePoint Flavored Weblog Reader (SFWR) tool:
http://gallery.technet.microsoft.com/The-SharePoint-Flavored-5b03f323
Monitor performance counters
that are relevant for SharePoint. The gallery post
http://gallery.technet.microsoft.com/PowerShell-script-for-59cf3f70
shows an overview of a set of relevant performance counters that have been established after careful research, and a small PowerShell script for reading them. Also see
http://technet.microsoft.com/en-us/library/ff758658.aspx
for a different perspective.
Even if your environment is already up and running,
do capacity planning
. This way you can check if you're crossing any important limits that might threaten performance. Check out
http://sharepointdragons.com/2011/12/05/sharepoint-capacity-planning/
and
http://sharepointdragons.com/2012/02/03/more-capacity-planning-links/
. Also check out
http://gallery.technet.microsoft.com/Maxer-for-SharePoint-2010-8cd0f26f
, Maxer for SharePoint 2010 is a tool that checks for capacity boundaries in existing SharePoint farms.
Do remember that content database limits include remote BLOBs (if you use them) and that auditing has a great impact on capacity planning:
http://www.sharepointedutech.com/2011/07/11/sharepoint-contentdb-guidance-too-many-shades-of-gray-along-with-a-little-brown/
Use the
SharePoint Diagnostic Data Provider/Logging database
to get more insight into your environment. Check out
http://sharepointdragons.com/2011/11/16/leveraging-the-logging-database-to-see-performance-counters/
and
http://sharepointdragons.com/2011/12/05/using-the-entity-framework-to-see-the-contents-of-the-sharepoint-logging-database/
for more info. Also, see
http://technet.microsoft.com/en-us/library/ff758658.aspx
Get the
SharePoint Administration Toolkit
. It contains a load testing kit that can be employed to determine if an environment is able to handle the current load. It also contains SharePoint Diagnostic Studio 2010, a tool used by Microsoft personnel for troubleshooting. It's able to capture lots of information about performance counters, ULS log files, and so on. See
http://sharepointdragons.com/2011/11/28/the-sharepoint-administration-toolkit-for-sharepoint-2010/
for more information. If you find you're having trouble that the ULS log files are empty, check out the following Wiki page:
http://sharepointdragons.com/2012/04/11/solving-problems-with-uls-log-file-generation/
Study the set up of the
database environment,
which is crucial for the success of your SharePoint environment. The SharePoint 2010 Administrator's Companion contains an excellent chapter about this:
http://www.amazon.com/Microsoft-SharePoint-2010-Administrators-Companion/dp/0735627207/ref=sr_1_2?
s=books&ie=UTF8&qid=1330935904&sr=1-2
Get
PAL
, a tool for troubleshooting performance troubles. See
http://sharepointdragons.com/2011/12/30/when-you-have-performance-troubles-you-need-a-pal/
for more info. See
http://www.loisandclark.eu/Pages/warmup.aspx
for more info.
Do
performance and stress testing
, even if you're already in trouble. It helps a lot to be able to simulate when a comparable environment gets into trouble. See
http://sharepointdragons.com/2012/02/10/sharepoint-performance-and-stress-testing/
,
http://sharepointdragons.com/2012/02/28/sharepoint-2010-testing/
,
http://social.technet.microsoft.com/wiki/contents/articles/7828.sharepoint-2010-useful-information-about-testing.aspx
, and
http://technet.microsoft.com/en-us/library/ff758659.aspx
Use
tools
to test traffic on-the-fly:
F12 Developer Toolbar (Internet Explorer 7 and later), Fiddler (
http://www.fiddler2.com/fiddler2/
), YSlow (
https://addons.mozilla.org/de/firefox/addon/yslow/
), FireBug (
https://addons.mozilla.org/de/firefox/addon/firebug/
), and WireShark (
http://www.wireshark.org/
)
Use the
DebugDiag
tool (
http://www.microsoft.com/en-us/download/details.aspx?id=26798
) to help troubleshoot issues.
Use
3rd party analysis tools
:
http://webtrends.com/products/integrations/sharepoint/
,
http://www.intlock.com/intlocksite/productsandservices/cardiolog/cardiolog.asp
,
http://www.intlock.com/intlocksite/productsandservices/cardiolog-sharepoint-marketing-suite/default.asp
(that includes Cardiolog),
http://www.idera.com/Free-Tools/SharePoint-perf-monitor/
, or
http://www.idera.com/Free-Tools/SharePoint-admin-toolset/
More often than not, performance problems are caused by custom software. Demand that each piece of custom software gets shipped with a configurable diagnostics system that can be used to determine any pain points in there.
Study other performance and capacity test results and recommendations:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=12768
and
http://technet.microsoft.com/en-us/library/ff608068(office.14).aspx
The first authenticated user may experience a very poor response time. Consider warming up SharePoint. See
http://www.loisandclark.eu/Pages/warmup.aspx
for more info.
Study warnings and errors in the ULS log files using tools such as ULS Viewer and SPLIT. See
http://www.jeremytaylor.net/2012/07/14/sharepoint-uls-log-viewer-tool-comparison-and-verdict/
for more info.
If you're allowed to: enable ASP.NET profiling.
If you're allowed to: enable the SharePoint developer dashboard.
Use SQL DMVs to analyze the state of your SQL database server, also taking into consideration the performance of other applications unrelated to SharePoint, but hosted on the same database server.
If you're allowed to: enable SQL Profiler to check SQL Server database problems on the fly.
Shrink the SharePoint content database transaction log files if they become too big or when it's size increases abnormally:
http://sharepointdragons.com/2012/02/08/managing-sharepoint-2010-log-files/
Enable BLOB cache. See
http://technet.microsoft.com/en-us/library/cc261797.aspx
,
http://www.ittreats.com/microsoft/aspnet/configure-blob-cache-for-sharepoint-2010-web-applications.html
Enable Profile cache. See
http://technet.microsoft.com/en-us/library/cc261797.aspx
Enable object cache. See
http://technet.microsoft.com/en-us/library/cc261797.aspx
Enable output cache.
Enable IIS compression. See
http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx
Configure list throttling. See
http://technet.microsoft.com/en-us/magazine/gg491393.aspx
Use list indexes:
http://blog.dynatrace.com/2009/01/28/sharepoint-list-performance-how-list-column-indices-really-work-under-the-hood/
Limit the maximum upload file size.
If you're working with extremely large files, consider using Remote Blob Storage (RBS):
http://www.loisandclark.eu/Pages/blob.aspx
and
http://www.sharepointedutech.com/2011/07/11/sharepoint-contentdb-guidance-too-many-shades-of-gray-along-with-a-little-brown/
Use the
SharePoint Dispose Checker Tool (SPDispose)
to find memory leaks in custom software:
http://archive.msdn.microsoft.com/SPDisposeCheck
Use
MSOCAF
check code before submitting it to Microsoft for BPOS/Office365. You can find it here:
https://caf.sharepoint.microsoftonline.com/
Use S
ystem Center Operations Manager
for monitoring SharePoint or a 3rd party tool like Quest Foglight for ASP. Foglight can capture trends like page load times as well as consolidate performance counters.
Follow best practices when using the
Content Query Web Part
(CQWP):
http://techblog.ranjanbanerji.com/post/2007/07/16/Content-Query-Web-Part-(CQWP)-SharePoint-2007-Performance.aspx
Get the
Process Monitor tool
for monitoring real-time file system, registry, and process/thread activity:
http://sharepointdragons.com/2012/04/09/process-monitor/
Use a
3rd party performance optimizer tool for SharePoint
(that uses compression, caching, and action prioritizing) such as optimizer:
http://www.riverbed.com/us/products/stingray/stingray_aptimizer.php
If page load is very slow, check if the
ACL count
is the problem, even when it's well within the official limits:
http://social.technet.microsoft.com/Forums/en-US/sharepoint2010setup/thread/aa37c03c-11b1-421c-baf7-47f27349e3e9
If the SharePoint 2010 Solution is
Sandboxed
, you can leverage Visual Studio 2010 Stand alone Profiler for Sampling and Profiling SharePoint Sandbox Code
https://docs.microsoft.com/en-us/previous-versions/technet-magazine/jj158953(v=msdn.10)
If you are already using a hardware load balancer,
like F5 BIG-IP
, you can take advantage of built-in web acceleration capabilities to increase SharePoint performance.
http://www.f5.com/pdf/application-ready-network-guides/microsoft-sharepoint-2010-arsg.pdf