Optimizing and Accelerating your SharePoint Farm


Published on

eChris McNulty's presentation on SharePoint farm optimization and troublshooting at SharePoint Saturday Twin Cities (Minneapolis) April 14, 2012

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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.
  • 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.
  • Optimizing and Accelerating your SharePoint Farm

    1. 1. Optimizing and Accelerating yourSharePoint FarmSharePoint Saturday Twin CitiesChris McNultySharePoint Strategic Product ManagerApril 2012 ©2012 Quest Software, Inc. All rights reserved..
    2. 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 ©2012 Quest Software, Inc. All rights reserved.. ©2012 Quest Software, Inc. All rights reserved. Confidential.
    3. 3. 3 3 ©2012 Quest Software, Inc. All rights reserved..©2012 Quest Software, Inc. All rights reserved. Confidential.
    4. 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 @cmcnulty2000 4 ©2012 Quest Software, Inc. All rights reserved..
    5. 5. Pictures• [taken out to save space!] @cmcnulty2000 5 ©2012 Quest Software, Inc. All rights reserved..
    6. 6. In the spirit of…
    7. 7. Hometown News • National: Newark NJ Mayor in Rescue (MSNBC) • Newark, N.J., Mayor Cory Booker suffered second-degree burns and smoke inhalation as he helped rescue one of his next-door neighbors from a burning building Thursday. “There was a time when I didn’t think we’d make it out of there,” Booker told media at a news conference Friday morning, describing the rescue as his "proverbial come to Jesus moment." • Local: (Suffolk Times, NY) : Cops: 89-year-old woman crashes car into pole in Cutchogue • An 89-year-old woman crashed her car into a utility pole on Main Road in Cutchogue Thursday afternoon, Southold Town Police officials said. At about 3:30 p.m., Margaret Spicijaric of Southold was traveling alone in a silver 2002 Honda heading eastbound before crashing into a utility pole, officials said. • Weather (Minneapolis area, from weather.com) • Sun and clouds mixed with a slight chance of thunderstorms during the afternoon. Warm. High 73F. Winds S at 5 to 10 mph. Chance of rain 30%. • Overnight lows 56, chance of rain or thundershowers 90% @cmcnulty2000 7 ©2012 Quest Software, Inc. All rights reserved..
    8. 8. Agenda• Architecture, Design & Planning• Support • Monitoring and Operations • Optimization • Patching • SQL Maintenance • Metrics• Best Practices @cmcnulty2000 8 ©2012 Quest Software, Inc. All rights reserved..
    9. 9. Presentation Governance• Out Of Scope • Deep Dives (e.g. PowerShell, BI, Upgrade, SQL DBA) • Development • Customization • Power User (e.g. Library Customization, Designer Workflows, etc.)• Rules • Move fast, PowerPoint is shared – http://slidesha.re/GztaOY • Questions – time permitting during session • Any time after session – email etc. - @cmcnulty2000 @cmcnulty2000 9 ©2012 Quest Software, Inc. All rights reserved..
    10. 10. Architecture and Design
    11. 11. Server Farm – Web Front End• Typical Roles: • http services • Search query• Scaling • Add servers to load balanced cluster• Performance Optimization • RAM • Easily virtualized 11 ©2012 Quest Software, Inc. All rights reserved..
    12. 12. 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 ©2012 Quest Software, Inc. All rights reserved..
    13. 13. Server Farm - Database• Typical Roles: • Data storage • SQL Reporting• Scaling • Add storage capacity• Performance Optimization • Disk I/O 13 ©2012 Quest Software, Inc. All rights reserved..
    14. 14. Sizing - Single Server• Typical Roles: • Small teams • Small document pools• Considerations • Performance & fault tolerance less of a concern • SQL & Web on same system • Search not a core function 14 ©2012 Quest Software, Inc. All rights reserved..
    15. 15. 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 ©2012 Quest Software, Inc. All rights reserved..
    16. 16. Sizing - Large Farm• Typical Roles: • Large distributed enterprise users (10000+) • Large pools of documents (>1MM) 16 ©2012 Quest Software, Inc. All rights reserved..
    17. 17. Sizing – No Servers – Office 365Office 365 E1 E2 E3 E4Enterprise Plans • Constraints/UnavailableSharePoint √ √ √ √ • Custom, non sandbox solutionsOnline • Power PivotOffice Web Apps √ √ √ • SQL Server Reporting ServiceLocal Copy of √ √ IntegrationOffice • Business Connectivity ServicesProfessional (OK for web services- based2010 Plus remote data in O365 BCS.)Forms Services, √ √Vision Services, • FAST Search Server IntegrationAccess Services • Web Analytics • Site collections greater thanMonthly cost per $10 $16 $24 $27user (USD) 100GB 17 ©2012 Quest Software, Inc. All rights reserved..
    18. 18. 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 ©2012 Quest Software, Inc. All rights reserved..
    19. 19. Disk SizingContent SearchInitial Content Size XXX GB External Crawl Size YYY GBInitial User Pool UUser Collab Size .25GBn YR Growth Rate – G%Archive RateEnd Content Size XXX (1+G)n = ECS End Search Size YYY (1+G)n = ESSEnd User Collab Size .25 * U * (1+G)n = EUCSContent DBs ECS + EUCSSearch DBs .05 * (ECS + EUCS + ESS)Search Index Files .05 * (ECS + EUCS + ESS)• Inputs: Size of SharePoint content and non-SharePoint content included in searchContent will grow; searching remote stores• For DBs, don’t forget transaction logs, disk dumps (if used for backup) which can add 1-3X.saves disk but isn’t free• In SAN or virtual environments, not all disk need be provisioned early @cmcnulty2000 19 ©2012 Quest Software, Inc. All rights reserved..
    20. 20. 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 ©2012 Quest Software, Inc. All rights reserved..
    21. 21. 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 ©2012 Quest Software, Inc. All rights reserved..
    22. 22. 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 ©2012 Quest Software, Inc. All rights reserved..
    23. 23. Monitoring and Operations Monitoring @cmcnulty2000
    24. 24. Proactive Issue ResolutionDeveloper Dashboard• Empower developers and usersIntegrated Health Analyzer• Runs when necessary• Alerts anomalies• Fixes when it canWeb Analytics• User usage• Resource usage 24 ©2012 Quest Software, Inc. All rights reserved..
    25. 25. Logging, Monitoring, and Alerts• Unified Logging• Out-of-the-box reports ULS Logs• Richer Web Analytics• Open Schema Windows Events• SCOM Integration Logging• PLUS Page requests DB • Developer Dashboard Feature • Health Analyzer Logging Health data 25 ©2012 Quest Software, Inc. All rights reserved..
    26. 26. Developer DashboardImprove customized solutions with the Developer Dashboard 27 ©2012 Quest Software, Inc. All rights reserved..
    27. 27. 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 ©2012 Quest Software, Inc. All rights reserved..
    28. 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 performance as closely as service accounts looser, 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 30 ©2012 Quest Software, Inc. All rights reserved..
    29. 29. demoMonitoringDeveloper DashboardHealth AnalyzerLogging and Reporting 31 ©2012 Quest Software, Inc. All rights reserved..
    30. 30. Optimization Optimization @cmcnulty2000
    31. 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 33 ©2012 Quest Software, Inc. All rights reserved..
    32. 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 34 ©2012 Quest Software, Inc. All rights reserved..
    33. 33. 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• February 2012 CU most current• Check my blog for latest: http://www.chrismcnulty.net/blog/Lists/Categories/Category. aspx?CategoryId=5&Name=Version-Build Numbers @cmcnulty2000 35 ©2012 Quest Software, Inc. All rights reserved..
    34. 34. 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 36 ©2012 Quest Software, Inc. All rights reserved..
    35. 35. 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 37 ©2012 Quest Software, Inc. All rights reserved..
    36. 36. demoIOMeterPerformance Monitor 38 ©2012 Quest Software, Inc. All rights reserved..
    37. 37. Best Practices
    38. 38. 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 40 ©2012 Quest Software, Inc. All rights reserved..
    39. 39. 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 41 ©2012 Quest Software, Inc. All rights reserved..
    40. 40. 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 @cmcnulty2000 42 ©2012 Quest Software, Inc. All rights reserved..
    41. 41. Miscellaneous Tips and Tricks II• How do I make a bigger template? • stsadm -o setproperty -propertyname max-template-document- size -propertyvalue size_in_bytes• 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 43 ©2012 Quest Software, Inc. All rights reserved..
    42. 42. •Questions•Contact Me•SharePint•Prizes 48 ©2012 Quest Software, Inc. All rights reserved..
    43. 43. More information• SharePoint architecture design patterns in Chris’ e- book entitled SharePoint 2010 Consultant’s Handbook – A Practical Field Guide • Get your free copy here http://www.quest.com/get-chris-book @cmcnulty2000 49 ©2012 Quest Software, Inc. All rights reserved..
    44. 44. 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: • April 2012 – The Experts Conference San Diego • May 2012 – New England SPUG • June 2012 – SPS Silicon Valley, New Hampshire SPUG • July 2012 – SPS Toronto, SharePoint Saturday NYC @cmcnulty2000 50 ©2012 Quest Software, Inc. All rights reserved..
    45. 45. @cmcnulty2000
    46. 46. ©2012 Quest Software, Inc. All rights reserved..