Australia SharePoint Conference 2012 - SharePoint Performance - Tales from the Field


Published on

Presented 20 March 2012 AUSPC

Published in: Technology
  • 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
  • This must be the opening 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.
  • 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 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.
  • Australia SharePoint Conference 2012 - SharePoint Performance - Tales from the Field

    1. 1. SharePoint Performance – Best Practices from the Field Chris McNulty @cmcnulty2000
    2. 2. @cmcnulty2000
    3. 3. • @cmcnulty2000
    4. 4. 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 @cmcnulty2000
    5. 5. @cmcnulty2000
    6. 6. 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
    7. 7. @cmcnulty2000
    8. 8. Agenda• Architecture, Design & Planning• Support – Monitoring and Operations – Optimization – Patching – SQL Maintenance – Metrics• Best Practices @cmcnulty2000
    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://[TBD] **** – Questions – time permitting during session – Any time after session – email etc. - @cmcnulty2000 @cmcnulty2000
    10. 10. Architecture and Design @cmcnulty2000
    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 @cmcnulty2000
    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 @cmcnulty2000
    13. 13. Server Farm - Database• Typical Roles: • Data storage • SQL Reporting• Scaling • Add storage capacity• Performance Optimization • Disk I/O @cmcnulty2000
    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 @cmcnulty2000
    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 @cmcnulty2000
    16. 16. Sizing - Large Farm• Typical Roles: • Large distributed enterprise users (10000+) • Large pools of documents (>1MM) @cmcnulty2000
    17. 17. Sizing – No Servers – Office 365Office 365 E1 E2 E3 E4 • Constraints/UnavailableEnterprise Plans – Custom, non sandboxSharePoint Online √ √ √ √ solutions – Power PivotOffice Web Apps √ √ √ – SQL Server Reporting Service IntegrationLocal Copy of Office √ √Professional 2010 – Business ConnectivityPlus Services (OK for web services- based remote data in O365 BCS.)Forms Services, √ √ – FAST Search ServerVision Services, IntegrationAccess Services – Web AnalyticsMonthly cost per $10 $16 $24 $27 – Site collections greater thanuser (USD) 100GB @cmcnulty2000
    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 @cmcnulty2000
    19. 19. Disk SizingContent SearchInitial Content Size XXX GB External Crawl Size YYY GBInitial User Pool UUser Collab Size .25GBn YR Growth Rate – Archive G%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 saves• For DBs, don’t forget transaction logs, disk dumps (if used for backup) which can add 1-3X.disk but isn’t free• In SAN or virtual environments, not all disk need be provisioned early @cmcnulty2000
    20. 20. Memory Sizing• Web Front End (WFE) – 8GB minimum – 12GB larger – 16GB max• Application – 8-12GB• SQL – 8-24GB• HP Sizing Tool – 0-0-121.html• Don’t forget about the swap files (1-2X size of RAM) @cmcnulty2000
    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
    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
    23. 23. Monitoring and Operations Monitoring @cmcnulty2000
    24. 24. 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 @cmcnulty2000
    25. 25. Logging, Monitoring, and Alerts• Unified Logging• Out-of-the-box reports ULS Logs• Richer Web Analytics• Open Schema Windows Events• SCOM Integration• PLUS Page requests Logging DB – Developer Dashboard – Health Analyzer Feature Logging Health data @cmcnulty2000
    26. 26. Developer DashboardImprove customized solutions with the Developer Dashboard @cmcnulty2000
    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 @cmcnulty2000
    28. 28. DemoMonitoringDeveloper DashboardHealth AnalyzerLogging and Reporting @cmcnulty2000
    29. 29. Optimization Optimization @cmcnulty2000
    30. 30. 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|css|j s|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
    31. 31. 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
    32. 32. 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
    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• Check my blog for latest: aspx?CategoryId=5&Name=Version-Build Numbers @cmcnulty2000
    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
    35. 35. Metrics and Results• IOPS <400 – Improve disk I/O or reduce content database sizes• Processor/CPU utilization >60% – 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. – 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
    36. 36. DemoIOMeterPerformance Monitor @cmcnulty2000
    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
    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
    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
    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
    42. 42. Seven Deadly Sins for the SharePoint Professional @cmcnulty2000
    43. 43. 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
    44. 44. Seven Virtues for the SharePoint Professional @cmcnulty2000
    45. 45. 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
    46. 46. • Questions• Contact Me• Prizes @cmcnulty2000
    47. 47. Thank you… – Contact • Email • Blog – Also • Twitter: @cmcnulty2000 • LinkedIn: nulty – Upcoming: • 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 @cmcnulty2000
    48. 48. Gold Sponsors Silver SponsorsBronze Sponsors Media Sponsors @cmcnulty2000
    49. 49. ©2012 Quest Software, Inc. All rights reserved..