Your SlideShare is downloading. ×
Australia SharePoint Conference 2012 - SharePoint Performance - Tales from the Field
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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


Published on

Presented 20 March 2012 AUSPC

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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

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.
  • Transcript

    • 1. SharePoint Performance – Best Practices from the Field Chris McNulty @cmcnulty2000
    • 2. @cmcnulty2000
    • 3. • @cmcnulty2000
    • 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. @cmcnulty2000
    • 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. @cmcnulty2000
    • 8. Agenda• Architecture, Design & Planning• Support – Monitoring and Operations – Optimization – Patching – SQL Maintenance – Metrics• Best Practices @cmcnulty2000
    • 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. Architecture and Design @cmcnulty2000
    • 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. 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. Server Farm - Database• Typical Roles: • Data storage • SQL Reporting• Scaling • Add storage capacity• Performance Optimization • Disk I/O @cmcnulty2000
    • 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. 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. Sizing - Large Farm• Typical Roles: • Large distributed enterprise users (10000+) • Large pools of documents (>1MM) @cmcnulty2000
    • 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. 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. 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. 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. 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. 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. Monitoring and Operations Monitoring @cmcnulty2000
    • 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. 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. Developer DashboardImprove customized solutions with the Developer Dashboard @cmcnulty2000
    • 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. DemoMonitoringDeveloper DashboardHealth AnalyzerLogging and Reporting @cmcnulty2000
    • 29. Optimization Optimization @cmcnulty2000
    • 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. 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. 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. 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. 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. 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. DemoIOMeterPerformance Monitor @cmcnulty2000
    • 37. Best Practices
    • 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. 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. 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. 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. Seven Deadly Sins for the SharePoint Professional @cmcnulty2000
    • 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. Seven Virtues for the SharePoint Professional @cmcnulty2000
    • 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. • Questions• Contact Me• Prizes @cmcnulty2000
    • 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. Gold Sponsors Silver SponsorsBronze Sponsors Media Sponsors @cmcnulty2000
    • 49. ©2012 Quest Software, Inc. All rights reserved..