Database Configuration for Maximum SharePoint 2010 Performance

8,257 views

Published on

Database configuration has a direct impact on how SharePoint 2010 performs. This presentation looks at the SQL Server database and what configuration changes can be made to maximize performance for your SharePoint 2010 farms

Published in: Technology
0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
8,257
On SlideShare
0
From Embeds
0
Number of Embeds
4,271
Actions
Shares
0
Downloads
421
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

Database Configuration for Maximum SharePoint 2010 Performance

  1. 1. for Maximum SharePoint 2010/2013 Performance
  2. 2. http://bassplayerdoc.wordpress.com EdwinMSarmiento@Outlook.com @EdwinMSarmiento http://ca.linkedin.com/in/EdwinMSarmiento Microsoft MVP - SQL Server
  3. 3. Henry Kremer had a vision of having human-powered airplanes
  4. 4. “ - Dr. Paul MacCready, American aeronautical engineer - The problem is that “
  5. 5. it is problems NO DIFFERENT from how we performance
  6. 6. duct tape fixes
  7. 7. whatif problems we look at the same
  8. 8. let’s look at the databaseto improvehow we can performance
  9. 9. a SharePoint databaseneeds 8-cores,x64 16 GB
  10. 10. but we already KNOWthat
  11. 11. but we already KNOWthat or do we
  12. 12. MDF/NDF LDF a SharePoint databasehas
  13. 13. MDF/NDF LDF a SharePoint databasehas which are simply just
  14. 14. a SharePoint databasehas MDF/NDF LDF which are simply just
  15. 15. a SharePoint databasehas MDF/NDF LDF their file access patterns
  16. 16. a SharePoint databasehas MDF/NDF LDF MDF/NDF read-write behavior:
  17. 17. a SharePoint databasehas MDF/NDF LDF LDF read-write behavior:
  18. 18. a SharePoint databasehas MDF/NDF LDF stored inside
  19. 19. a SharePoint databasehas MDF/NDF LDF stored inside
  20. 20. let’s answer a few questionsbased on this information
  21. 21. let’s answer a few based on this information what would happen if the files are stored on multiple disks questions
  22. 22. let’s answer a few based on this information what would happen if we have multiple files questions
  23. 23. let’s answer a few based on this information on multiple disks multiple files questions
  24. 24. then single drive are we storing database files in a
  25. 25. then system drive are we storing database files in the
  26. 26. provision capacity based on performance &
  27. 27. some
  28. 28. some measure* I/O system performance BEFORE deployment *a utility called can be used for this
  29. 29. some measure* I/O system performance BEFORE deployment because you want to know if you’re getting what was promised
  30. 30. some create multiple data files because you can have multiple disks doing their job for you *only supported on filegroup
  31. 31. some create multiple data files because you can have multiple disks doing their job for you *I usually start with data files
  32. 32. some move database files OUT of the system partition because your system partition is already doing something else
  33. 33. some use RAID 10 for better protection & write performance
  34. 34. some physically* separate MDF from LDF because they have different access patterns *your may tell you otherwise
  35. 35. some format the LUNs* with 64K clusters because SQL Server works in 64K chunks *for both &
  36. 36. some pre-size MDF/NDF and LDF files because you don’t want your storage to work harder
  37. 37. some make all file & autogrowth sizes EQUAL because SQL Server uses the proportional fill algorithm
  38. 38. some make all file & autogrowth sizes EQUAL and because you don’t want your storage to work harder
  39. 39. hidden process of reclaiming used disk space without having to ZERO it out
  40. 40. configuring instant file initialization
  41. 41. log (LDF) files are NOT affected by instant file initialization
  42. 42. some pre-size MDF/NDF and LDF files that’s why you need to
  43. 43. understanding
  44. 44. have you ever wondered what that recovery model is for?
  45. 45. all database changes are written in the log
  46. 46. this allows for point-in-time recoverability
  47. 47. the log gets full over time
  48. 48. the log gets full over time
  49. 49. the log gets full over time
  50. 50. the log gets full over time
  51. 51. the log gets full over time
  52. 52. what happens if it gets FULL?
  53. 53. what happens if it gets FULL? it GROWS we’re assuming autogrowth is configured
  54. 54. what happens if it gets FULL? and GROWS
  55. 55. what happens if it gets FULL? and
  56. 56. when it it has to ZERO out the file
  57. 57. when it it has to ZERO out the file which also means that transactions are waiting for the autogrowth process to complete before they can continue
  58. 58. when the disk containing the log (LDF) file gets full, the database automatically becomes read-only even
  59. 59. log file growth causing database to be read-only
  60. 60. can we AVOID this
  61. 61. changing to recovery model you don’t want to do this if you’re concerned about point-in-time recoverability
  62. 62. run regular
  63. 63. and
  64. 64. shrinking your databases
  65. 65. effects of shrinking databases on index fragmentation
  66. 66. configuration create ¼ the number of files per CPU core *I usually start with 4 data files of equal size and autogrowth increments
  67. 67. configuration place database files on faster drive
  68. 68. configuration place database files on protected drive *because SQL Server WILL NOT START without tempdb
  69. 69. other configuration available in SQL Server 2008 and higher
  70. 70. other configuration the faster the backups complete, the more resources are available for the database
  71. 71. other configuration also very useful for high availability and disaster recovery
  72. 72. other configuration this is documented - http://technet.microsoft.com/en-us/library/cc298801.aspx#Section6 we, DBAs, are confused because this is not OUR best practice *look for the proc_UpdateStatistics stored procedure
  73. 73. other configuration we, DBAs, are confused because this is not OUR best practice this is documented - http://technet.microsoft.com/en-us/library/cc298801.aspx#Section6 *look for the proc_UpdateStatistics stored procedure
  74. 74. other configuration we, DBAs, are confused because this is not OUR best practice this is documented - http://technet.microsoft.com/en-us/library/cc298801.aspx#Section6
  75. 75. other configuration we want to avoid PAGE SPLITS
  76. 76. other configuration applies to Standard Edition *because Enterprise Edition already has this by default
  77. 77. checking and setting database configuration
  78. 78. http://technet.microsoft.com/en-us/library/cc262731.aspx
  79. 79. perform REGULAR consistency checks http://technet.microsoft.com/en-us/library/cc262731.aspx *test implementing Trace Flag 2549 & 2562 KB 2634571 SQL Server 2008 SP2 and higher
  80. 80. perform REGULAR index maintenance http://technet.microsoft.com/en-us/library/cc262731.aspx *look for the proc_DefragmentIndices stored procedure
  81. 81. exclude SQL Server files on your AV scan http://support.microsoft.com/kb/309422 How to choose antivirus software to run on computers that are running SQL Server
  82. 82. pattern did you NOTICE a common in all of the
  83. 83. I/O they ALL pertain to performance
  84. 84. great DBA the SECRET to becoming a I just told you
  85. 85. TALK to your SQL Server DBAs
  86. 86. IMPLEMENT these changes
  87. 87. Questions
  88. 88. http://bassplayerdoc.wordpress.com EdwinMSarmiento@Outlook.com @EdwinMSarmiento http://ca.linkedin.com/in/EdwinMSarmiento Microsoft MVP - SQL Server

×