Share Point Storage Best Practices

Embed Size (px)

Citation preview

  • 8/14/2019 Share Point Storage Best Practices

    1/24

    SharePoint Storage

    Best Practices

    Burzin Patel, StorSimple

    Silicon Valley SQL Server User Group

    January 13, 2010

    Mark Ginnebaugh, User Group Leader

  • 8/14/2019 Share Point Storage Best Practices

    2/24

    SharePoint Storage Best Practices

    Burzin PatelSolutions Architect

    StorSimple, Inc.

    [email protected]

  • 8/14/2019 Share Point Storage Best Practices

    3/24

    Agenda

    Introduction

    SharePoint SQL Server Best Practices Storage

    Configuration Maintenance & Performance Tuning

    Externalizing BLOB storage

    Demo StorSimple Solution

    Q & A

  • 8/14/2019 Share Point Storage Best Practices

    4/24

    Introduction

    Why is SQL Server so important to SharePoint? Central store for most SharePoint data

    Stress on SQL Server causes stress on front-end

    servers and ultimately degrades user experience

    Why is optimal storage configuration sochallenging?

    Highly variable deployments Heavy utilization of back-end SQL Server

    Database bloat; BLOBs stored in database

  • 8/14/2019 Share Point Storage Best Practices

    5/24

    StorageKey Points to Consider

    Host BusAdapters

    DB T-logs

    ContentDBs

    SearchDB*

    SQLServer

    .

    .

    tempdbtempdb log

    BLOBs

    1. SQL ServerConfiguration

    2. HBA

    settings

    3. Connectivityto disk array

    4. Diskconfiguration

    5. Placement ofdatabases on disks

    6. ExternalizedBLOB content

  • 8/14/2019 Share Point Storage Best Practices

    6/24

    StorageRecommended I/O Capacities

    Type IOPS / GB SAN Optimization(optional)Content DBs 0.75 Read optimizedSQL tempdb 2 Write optimizedDatabase T-logs 2 Write optimizedSearch DB 2 Read/Write optimized

    1. Recommended Disk seconds per transfer Data files < 10 msec T-log files < 5 msec

    2.

  • 8/14/2019 Share Point Storage Best Practices

    7/24

    StorageDatabase Configuration

    Recommended database file placementpriority (fastest to slowest drive)1. tempdb data and t-log files

    2. DB T-log files

    3. Search DB data files4. Content DB data files

    Use multiple data files for tempdb, Content & Search DBs Distribute same sized data files across separate disks

    Number of data files should be

  • 8/14/2019 Share Point Storage Best Practices

    8/24

    StorageDatabase Sizing

    Limit Content DBs to 100 GB This is only a recommended soft limit Primarily dictated by time required for backup/restore Larger DBs can cause perf issues Larger DBs can result in increased maintenance windows

    Size SQL Server data files appropriately Pre-allocate data file to cover anticipated size of Content DB

    Rely on SQL Autogrow only as catastrophic insurance policy

    Set SQL Autogrow to fixed value appropriate for size of DB Use dedicated database for large Site Collections (> 50GB)

    Configure tempdbto be at least 10% of total Content dbsize, or the size of the largest table - whichever is greater

  • 8/14/2019 Share Point Storage Best Practices

    9/24

    ConfigurationProcessors

    Deploy on 64-bit, especially if >1000 users, or >100 GBof data

    Use 64-bit SQL Server if using 64-bit OS

    Plan for 2 WFE (dual core) / 20K-40K users

    Plan for 1 DB proc core / 20K users (min 8 cores)

    Scale out beyond 8 processors

  • 8/14/2019 Share Point Storage Best Practices

    10/24

    Set Max Server MemorySQL Max Memory = TotalPhyMem

    - (NumOfSQLThreads * ThreadStackSize)- (1GB * CEILING(NumOfCores/4))- (Any memrequired for other apps)

    NumOfSQLThreads = 256 + (NumOfProcessors*- 4) * 8

    ThreadStackSize = 1 MB on x862 MB on 64-bit (x64)4 MB on 64-bit (IA64)

    On 64-bit use LPiM privilege for SQL Server account If using SQL Std edition need following CU + trace flag

    CU2 for SQL Server 2008 SP1 (KBA 970315) CU4 for SQL Server 2005 SP3 (KBA 970279)

    ConfigurationMemory

    * If NumOfProcessors > 4, else 0.

  • 8/14/2019 Share Point Storage Best Practices

    11/24

    Configuration

    Modification to SharePoint schema is NOT permitted!! No new columns, indexes or triggers allowed Only SharePoint tools can be used to index columns

  • 8/14/2019 Share Point Storage Best Practices

    12/24

    Monitor SQL Server performance regularly Use SQL Server DMVs, SQL Server 2008 Data

    Collectors & Management Data Warehouse can help Recommended Perfmon counters listed in notes section

    Check integrity of the database routinely

    DBCC CHECKDB Can use REPAIR_REBUILD option to fix errors (not

    always possible) REPAIR_ALLOW_DATA_LOSS not supported Time consuming operation, run during non-peak hours

    Avoid database shrink operations

    Maintenance

  • 8/14/2019 Share Point Storage Best Practices

    13/24

    Fragmentation occurs when Logically linear pages are not physically contiguous Page densities are sub-optimal

    Increase space utilization & I/O degrades performance

    Content and Search dbs most susceptible Rebuild / Reorganize indexes to eliminate fragmentation

    Reorganize index when fragmentation between 10-70% Rebuild index when fragmentation > 70%

    Existing index options used before the rebuild operation are notrestored. Issue resolved in SQL Server 2005 SP2 and higher

    Use sys.dm_db_index_physical_stats to measure Externalizing BLOBs can help reduce fragmentation as well

    as rebuild time

    MaintenanceFragmentation

  • 8/14/2019 Share Point Storage Best Practices

    14/24

    Externalizing BLOB Data in SharePoint

    BLOB Binary Large OBject BLOB is the data stream associated with a file

    SharePoint File metadata and BLOBs are stored in SQL

    databases BLOBs do not participate in query operations

    Most SharePoint deployments are file heavy Example: Document libraries, Record centers

    Typically account for 80+% of total content

  • 8/14/2019 Share Point Storage Best Practices

    15/24

    Externalizing BLOB Data in SharePointArchitecture and Operation

    SharePointWFE

    Users

    Maintainer

    User

    upload

    request

    1

    2BLOB save

    request

    3BLOB Id

    returned

    4

    Write BLOB

    Id & SQL

    metadata

    5 SQL Ack

    6

    User

    Ack

    BLOBStore

    BLOB Storage

    External BLOBStorage Provider

    SQL DB

    SQL Server

  • 8/14/2019 Share Point Storage Best Practices

    16/24

    Demo

    Externalizing BLOBS in SharePoint 2007using StorSimple Appliance & EBS Provider

  • 8/14/2019 Share Point Storage Best Practices

    17/24

  • 8/14/2019 Share Point Storage Best Practices

    18/24

    Considerations When Externalizing BLOBs

    Solution works with SharePoint 2007 & 2010

    Solution works with your version and edition of SQL Server

    Solution integrates with the existing backup/restore solution

    Solution integrates BLOB/meta-data backup/restore

    Performance and scalability of solution

    Offloads processing from WFEs/Database

    Extensibility to leverage cheaper (cloud) storage?

    Licensing costs

    Solution offers seamless migration from SharePoint 2007 to 2010?

    Offers value added features (compression, de-duplication, encryption)

  • 8/14/2019 Share Point Storage Best Practices

    19/24

    StorSimple SharePoint Solution

    Complete solution to externalize SharePoint BLOBs Includes SharePoint EBS/RBS providers

    Seamless installation process

    Integrated backup solution for SQL DB & BLOB backup

    No negative impact to any end user experience Smart tiering of data

    Weighted Storage Layout used to optimize I/O accessacross tiers

    Option to leverage leverages cloud storage seamlessly

    Solutions starting at US $15,000!

  • 8/14/2019 Share Point Storage Best Practices

    20/24

  • 8/14/2019 Share Point Storage Best Practices

    21/24

    StorSimple SharePoint orage SolutionSupported Versions

    SharePoint SharePoint 2007 SP1 (WSS & MOSS)

    SharePoint 2010 (MSS & MSF)

    SQL Server SQL Server 2005 (all editions) SQL Server 2008 (all editions)

    SharePoint externalization technology (APIs) EBS (External BLOB Storage)

    RBS (Remote BLOB Storage)

  • 8/14/2019 Share Point Storage Best Practices

    22/24

    Please contact us ([email protected]) if youreinterested in evaluating the StorSimple SharePointstorage solution

    Next steps: Detailed technical discussion

    Discussions with your SharePoint, SQL and storage admins coveringour solution and your use case

    Beta Planning

    Beta questionnaire & test plans

    Beta Testing Validate solution fit for your environment

    Provide feedback on building a better solution

    StorSimple SharePoint SolutionProduct Evaluation (Beta)

    mailto:[email protected]:[email protected]
  • 8/14/2019 Share Point Storage Best Practices

    23/24

    Q & A

    Thanks!

  • 8/14/2019 Share Point Storage Best Practices

    24/24

    www.bayareasql.org

    To learn more or to inquire about speaking opportunities, please contact:

    Mark Ginnebaugh, User Group Leader [email protected]