Ep   share point top performance killers and best practices draft.v4 slide 0

Ep share point top performance killers and best practices draft.v4

  • Published on

  • View

  • Download


Speed as perceived by the end user is driven by multiple factors, including how fast results are returned and how long it takes a browser to display the content


1. SharePoint Top Performance Killers & Best PracticesIvan SandersSharePoint ArchitectDimension Solutions inc.ivan@dimension-si.com 2. AgendaTop Performance KillersBest Practices 3. Speed as perceived by the end user is driven by multiple factors, including how fast results are returned and how long it takes a browser to display the content 4. Top SharePoint Performance KillersSearch Search uses SQL in a very I/O intensive fashion.It is sensitive to I/O latencies on the TempDB and the Query and Crawl file groups.One of the more difficult and time consuming jobs for a Search Administrator is to schedule the Crawls so they are not over lapping while keeping Search results freshIndexing/Crawling Crawling and indexing a large volume of information, documents, and Web pages requires a large amount of computer processing. The crawl process also consumes network and other resources. The SharePoint environment must be configured properly and monitored, to ensure that the crawling and indexing process does not adversely affect the service available to users. For example, content is usually crawled and indexed during off-peak hours when servers are underused in order to maintain peak-hour services for users. 5. Top SharePoint Performance KillersProfile Import Profile imports are used with NGES to sync your AD user details to provide access to your feed subscriptions and with SharePoint to sync your AD user details with your SharePoint User ProfileLarge List Operations Having large lists by itself is not necessarily a performance issue. When SharePoint Server renders the many items in those lists, that can cause spikes in render times and database blocking. One way to mitigate large lists is to use subfolders and create a hierarchical structure where each folder or subfolder has no more than 3,000 items.Identify large lists and work with the owners of the sites and lists to archive items or pursue other mitigation strategiesHeavy User Operation List Import/Write Another scenario of users having power they dont realize they have. Importing large lists using excel or synchronizing an access db. In SQL theres little difference between these types of user operations.Backup (SQL & Tape) Serious CPU and write disk I/O performance hit. SQL Litespeed or SQL 2008 backup with compression all help to lessen the performance hit. 6. Database Best PracticesOptimize TempDb, Content, &SSP DbsCreating secondary files for each dbMove transaction logs to a separate unique VolumesMove data in primary file so that all files arte the same sizeFragmentation occurs quickly with Dbs and Indexes that are constantly updated or in use. There are 2 types of Fragmentation that will cause SQL to slow down: File System DbIndex/StatisticsMonitoring Weekly reports to confirm trending on wait & performance statsDB Fill factor When an index is created or rebuilt, the fill factor value determines the percentage of space on each leaf level page to be filled with data, therefore reserving a percentage of free space for future growth. Based on past performance and index expansion rates, Microsoft has found the fill factor should be 70 percent on all content databases.StorageAllocate adequate storage for versioning and the recycle bin, and Defrag SQL will perform poorly.When designing the environment, CA should consider business needs, such as versioning, and ensure that adequate disk space and I/O are available to accommodate them and leave space to perform defragmentation 7. VM Best PracticesWeb Front End (WFE) servers can be virtualizedQuery Server(s) can be virtualizedIndex Server should DEFINITELY NOT be virtualizedSQL Server should NOT be virtualizedAllocate RAW LUNs for the high performance volumes In the absence of RAW storage volumes, you should pre-allocate the storage space 8. SharePoint Best PracticesTune the content of all crawls NGES, Coveo, SharePoint, and DocAve all crawl content. Tune the applications to reduce overlap.This is one of the most time consuming jobs of a SharePoint administratorUse Dedicated WFE for crawling 9. Remove the Central Administration server from NLB rotation since it is also indexingOptimize web DesignLimit the Page Load size Maximize performance on Webparts displaying dataCleanup HTTP response codes of 300 and up (* excluding 304 & 401)Minimize HTTP RequestsPlan and Enforce Site & Content SizesMonitor Content and perform CleanupRecycle App Pools For each WebSite on Each WFE at different times Periodically run Best Practice Analyzer BPA, Trends should be transparent 10. Network Best PracticesLoad Balancing:Implement Caching to minimize traffic to database and application services.Secure Sockets Layer: Use hardware enabled services instead of software services.Implement WAN Acceleration anytime you are geographically dispersed across continents or where network latency must be mitigated.Dedicated Network Interface Cards:NIC to SQL, Dedicated NIC to Load Balancer. Avoid Shared IO. 11. All other things being equal, more usage, as measured by number of page views & searches reflects more satisfied users. 12. Q & A 13. Most Common WaitsParallelismCXPACKETDirect result of inefficient parallel processingOccurs when 1 or more threads are waiting on another thread to finish before they can proceedHyper-Threading can add to the problemConsider adjusting MAXDOP (at Server or Query Level) 14. Most Common WaitsLockingLCK_M_xxLCK_M_SCH_xxResults from Locking & BlockingLong running transactionsImproper or lack of indexesPoorly configured or underpowered hardware 15. Most Common WaitsNetworkASYNC_NETWORKIOIndicates that the client is not absorbing the data as fast as SQL Server can send itThis may be related to problems with the Network itselfBut more likely it is the client that is to blame 16. Most Common WaitsI/OPAGEIOLATCH_xxIO_COMPLETIONWRITELOGIndicates slowness reading or writing data to physical diskThese are definite signs that you have a problem with your storage subsystem or driversWRITELOG waits should be kept as low as possible 17. Most Common WaitsLatchesPAGELATCH_xxNot related to physical IOCan indicate contention for internal resources other than the Buffer PoolPAGELATCH_UP typically indicates contention in TempdbHeaps and LOBs can cause latchingHeavy Inserts onto the same pagesPage splits