NIMSOFT SLM DATABASE



Similar documents
Environment Optimization Guide

Deploying and Optimizing SQL Server for Virtual Machines

SQL Server Version. Supported for SC2012 RTM*** Not supported for SC2012 SP1*** SQL Server 2008 SP1, SP2, SP3

DELL TM PowerEdge TM T Mailbox Resiliency Exchange 2010 Storage Solution

Environment Optimization Guide

Best Practices in SharePoint Deployment and Management

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

WHITE PAPER Optimizing Virtual Platform Disk Performance

Data Compression in Blackbaud CRM Databases

Distribution One Server Requirements

DBA 101: Best Practices All DBAs Should Follow

Best Practices Every SQL Server DBA Must Know

Hardware Guide. Hardware Guide for Dynamics NAV. Microsoft Dynamics NAV 5.0. White Paper. Version 1 (October 25, 2007)

SQL Server Database Administrator s Guide

Agenda. Enterprise Application Performance Factors. Current form of Enterprise Applications. Factors to Application Performance.

Dynamics NAV/SQL Server Configuration Recommendations

SAN Conceptual and Design Basics

Configuring ThinkServer RAID 500 and RAID 700 Adapters. Lenovo ThinkServer

Capacity Planning for NightWatchman Management Center

Optimizing Performance. Training Division New Delhi

Improve Business Productivity and User Experience with a SanDisk Powered SQL Server 2014 In-Memory OLTP Database

HP Smart Array Controllers and basic RAID performance factors

Configuring ThinkServer RAID 100 on the Lenovo TS430

SQL Server 2012 Optimization, Performance Tuning and Troubleshooting

Tuning Microsoft SQL Server for SharePoint. Daniel Glenn

Hardware/Software Guidelines

WITH A FUSION POWERED SQL SERVER 2014 IN-MEMORY OLTP DATABASE

Best practices for Implementing Lotus Domino in a Storage Area Network (SAN) Environment

MS SQL Performance (Tuning) Best Practices:

HP ProLiant DL380p Gen mailbox 2GB mailbox resiliency Exchange 2010 storage solution

Q & A From Hitachi Data Systems WebTech Presentation:

Comprehending the Tradeoffs between Deploying Oracle Database on RAID 5 and RAID 10 Storage Configurations. Database Solutions Engineering

Preparing a SQL Server for EmpowerID installation

I-Motion SQL Server admin concerns

Administering Microsoft SQL Server 2012 Databases

Overview of I/O Performance and RAID in an RDBMS Environment. By: Edward Whalen Performance Tuning Corporation

Best Practices for Deploying SSDs in a Microsoft SQL Server 2008 OLTP Environment with Dell EqualLogic PS-Series Arrays

StreamServe Persuasion SP5 Microsoft SQL Server

Storage and SQL Server capacity planning and configuration (SharePoint...

SYSTEM SETUP FOR SPE PLATFORMS

sql server best practice

AE EHR Database Servers

Post-production Video Editing Solution Guide with Quantum StorNext File System AssuredSAN 4000

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

EMC Backup and Recovery for Microsoft SQL Server 2008 Enabled by EMC Celerra Unified Storage

Configuring RAID for Optimal Performance

ION EEM 3.8 Server Preparation

Dynamic Disk Pools Technical Report

Maximizing SQL Server Virtualization Performance

MICROSOFT EXCHANGE best practices BEST PRACTICES - DATA STORAGE SETUP

VirtualCenter Database Performance for Microsoft SQL Server 2005 VirtualCenter 2.5

Lesson Plans Microsoft s Managing and Maintaining a Microsoft Windows Server 2003 Environment

The Methodology Behind the Dell SQL Server Advisor Tool

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 412, University of Maryland. Guest lecturer: David Hovemeyer.

System Requirements for Microsoft Dynamics GP 2015

Using Multipathing Technology to Achieve a High Availability Solution

Best Practices. Best Practices for Installing and Configuring SQL Server 2005 on an LSI CTS2600 System

RAID 5 rebuild performance in ProLiant

PARALLELS CLOUD STORAGE

IncidentMonitor Server Specification Datasheet

General DBA Best Practices

Fault Tolerance & Reliability CDA Chapter 3 RAID & Sample Commercial FT Systems

Virtualisa)on* and SAN Basics for DBAs. *See, I used the S instead of the zed. I m pretty smart for a foreigner.

VERITAS Storage Foundation 4.3 for Windows

Guide to SATA Hard Disks Installation and RAID Configuration

DMS Performance Tuning Guide for SQL Server

Microsoft Exchange Server 2003 Deployment Considerations

ImageNow for Microsoft SQL Server

DELL RAID PRIMER DELL PERC RAID CONTROLLERS. Joe H. Trickey III. Dell Storage RAID Product Marketing. John Seward. Dell Storage RAID Engineering

SQL Server Business Intelligence on HP ProLiant DL785 Server

Comparison of StorTrends and NetApp Implementations of SQL Services in a Virtualized Server Infrastructure

SharePoint 2010 Performance and Capacity Planning Best Practices

Nutanix Tech Note. Configuration Best Practices for Nutanix Storage with VMware vsphere

Managing Orion Performance

Best Practices for Running Siemens Teamcenter on SQL Server

Best practices for operational excellence (SharePoint Server 2010)

Xanadu 130. Business Class Storage Solution. 8G FC Host Connectivity and 6G SAS Backplane. 2U 12-Bay 3.5 Form Factor

Guide to SATA Hard Disks Installation and RAID Configuration

PADS GPFS Filesystem: Crash Root Cause Analysis. Computation Institute

Microsoft SQL Server Guide. Best Practices and Backup Procedures

Windows Server 2008 R2 Essentials

Guide to SATA Hard Disks Installation and RAID Configuration

Using SQL Server 2014 In-Memory Optimized Columnstore with SAP BW

GoGrid Implement.com Configuring a SQL Server 2012 AlwaysOn Cluster

Difference between Enterprise SATA HDDs and Desktop HDDs. Difference between Enterprise Class HDD & Desktop HDD

Configuring ThinkServer RAID 100 on the TS140 and TS440

SQL Best Practices for SharePoint admins, the reluctant DBA. ITP324 Todd Klindt

Windows Server 2008 Essentials. Installation, Deployment and Management

IOmark- VDI. Nimbus Data Gemini Test Report: VDI a Test Report Date: 6, September

Contents. Overview. Drive Policy RAID 500 features. Disable BGI RAID 700 features. Management Tasks Choosing the RAID Level.

Optimizing LTO Backup Performance

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Configuring Apache Derby for Performance and Durability Olav Sandstå

EMC CLARiiON CX3 Series FCP

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

Hardware Performance Optimization and Tuning. Presenter: Tom Arakelian Assistant: Guy Ingalls

Symantec Endpoint Protection 11.0 Architecture, Sizing, and Performance Recommendations

System Requirements. Version 8.2 November 23, For the most recent version of this document, visit our documentation website.

Transcription:

NIMSOFT SLM DATABASE GUIDELINES AND BEST PRACTICES (May 2010) Address more than 2GB of RAM in 32 bit OS (2003, 2008 Enterprise and Datacenter editions): Add /3GB switch to boot.ini file to force the OS reserve to be only 1GB, while allowing applications (in our case SQL Server) to use 3GB. http://support.microsoft.com/kb/274750 NOTE: Add both the /PAE and /3GB switch in boot.ini to allow access physical memory beyond 4GB. This switch is supported in Windows Server System properties > Advanced Settings: Processor scheduling: Select "Background services". Memory usage: Select "Programs". Is Database Instant File Initialization enabled?: It is a way to prevent data (not log) file create and grow operations having to zero initialize the new space before allowing it to be used. This dramatically speed up these operations as zero initialization can take a *long* time for large files. To enable the feature : From Local Policies >User assignments, Perform volume maintenance tasks entry and then we add the SQL ServerService account or the local group SQLServerMSSQLUser$instancename.

Pagefile should be 1 1.5 times the amount of RAM and should NOT be placed on a drive that contains database files. It is recommended to create multiple page files on different partitions beside C or even different disk subsystems for performance reasons (just not alongside with any database file). Best Practice for SQL Server is not installing an Anti virus on a dedicated SQL Server environment at all. If necessary, you should exclude MDF, NDF and LDF file extensions from being scanned: http://support.microsoft.com/kb/309422 Use 64k block size as the default filesystem block size rather than 8k for SQL Server data filesystem. Use : fsutil fsinfo ntfsinfo <DriveLetter>: SQL Server writes in 8k pages and the read ahead is 64k so when it comes to formatting disks that will hold. Format any disks which may be used for SQL Server data (data, logs, and tempdb) using a 64k block size. In summary: NTFS block size 64K Stripe size 64 KB or 256 KB Disk offset 64K Useful links: http://blogs.msdn.com/psssql/archive/2008/02/06/how it works how does sql server backup and restoreselect transfer sizes.aspx http://sqlblogcasts.com/blogs/ssqanet/archive/2008/04/28/sql server 2005 and disk drive allocation unit sizeto 64k any benefit or performance.aspx

http://blogs.msdn.com/johnhicks/archive/2008/03/03/sql server checklist.aspx http://technet.microsoft.com/en ca/library/cc966414.aspx#eaoac http://support.microsoft.com/default.aspx?scid=kb;en US;929491 Disk alignment instructions: http://technet.microsoft.com/en us/library/aa995867.aspx NTFS volumes should be aligned (Windows 2003) This can be done by using diskpar.exe or DiskPart.exe. DiskPart.exe is a disk configuration utility that is built into Windows; in Windows 2003 version SP1 or greater DiskPart.exe contains an ALIGN option that can be used to align volumes. http://support.microsoft.com/default.aspx/kb/929491 http://blogs.msdn.com/jimmymay/archive/2008/12/04/disk partition alignment sector alignment for sql server part 4 essentials cheat sheet.aspx Disks and LUNs: Storage can be carved into LUNs and the server will "see" one or more of these units as a partition or drive. Consider dedicating entire disks in the SAN to separate LUNs and by that isolate the IO on this drive to the kind of activity the drive will encounter. This is more important for Log files where the I/O is sequential in nature and any other disk activity (e.g. random read) can increase the log write latency. http://blogs.msdn.com/sqlcat/archive/2005/11/21/495440.aspx

RAID Levels for SQL Server: There are 3 configurations that can be used for SQL server deployments (RAID 0 should NEVER be used) 1 RAID 1: disk mirroring, provides a redundant, identical copy of a selected disk. All data written to the primary disk is written to the mirror disk. RAID 1 provides fault tolerance and generally improves read performance but may degrade write performance. 2 RAID 5: striping with parity, this level stripes the data in large blocks across the disks in an array and it writes the parity across all the disks. Data redundancy is provided by the parity information. Striping with parity offers better performance than disk mirroring (RAID 1). However, when a stripe member is missing, read performance is decreased, for example, when a disk fails. 3 RAID 10: mirroring with striping. RAID 10 uses a striped array of disks that are then mirrored to another identical set of striped disks. RAID 10 provides the performance benefits of disk striping with the disk redundancy of mirroring. RAID 10 provides the highest read and write performance of any one of the other RAID levels, but at the expense of using two times as many disks. In general for SQL Server: Raid 10 should be used for everything, if possible. If too expensive: Raid 5 will be the second best option for database data files Raid 1 will be the next best option for T Log files SAN considerations (In case a SAN is deployed) It is important to discuss with your storage vendor the appropriate values for these settings but here are some advices for the SAN: HBA drivers: ensure that you are using the recommended drivers for your particular storage array, this should be located on the SAN vendor s Web sites for downloading and installing the recommended drivers for a particular storage vendor. HBA Queue depth settings: SQL Server applications are generally I/O intensive, with many concurrent outstanding I/O requests. This value is of 8 to 32 with the major HBA vendors. According to a Microsoft test (http://technet.microsoft.com/en us/library/cc966412.aspx#eeaa ) they have seen substantial gains in I/O performance when increasing this to 64 or even higher. When Queue Depth is set too low, a common symptom is increasing latency and less than expected throughput given the bandwidth between host/storage and the number of spindles in a particular configuration. More information can be found here: http://sqlblog.com/blogs/linchi_shea/archive/2007/09/18/sql server and sans the queuedepth setting of a host busadapter hba.aspx

Named instances are using dynamic ports? Assign static ports to named instances of SQL Server so that SQL browser doesn t have to look up the current dynamic port. More info about how to check the value: http://blogs.msdn.com/sqlserverfaq/archive/2008/06/02/how to change the dynamic port of the sql server namedinstance to an static port in a sql server 2005 cluster.aspx Max Degree of Parallelism (Max DOP): The wait statistics IN SQL Server should be examined (http://msdn.microsoft.com/en us/library/ms190732.aspx ) and if there is a contention due to parallelism, parallelism should be disabled (either per query: Max DOP = 1 or globally for SQL Server sp_configure) : http://msdn.microsoft.com/en us/library/ms181007.aspx C2 Audit This should only be enabled if absolutely necessary due to the impact it introduces for system performance and disk space utilization. Location of Database data files: Database default data location should be changed to point to a dedicated disk for data files and Logs to Location dedicated for LOG files (optimized for write operations). Also, placing database files on same drive (logical) as system drive affect database performance since system will be busy also with serving system file on the same drive. Also, if the database grows significantly (Tempdb can be a case), it may fill the system drive affecting severely the system behavior (this can even bring the server down). All system/user databases should reside on drives dedicated for SQL server.

Number of TempDB datafiles: 0.5 datafile / processor core SQL Database file auto growth factor: Filegrowth shouldn t be in large terms because any user activity will have to wait for the file operation to complete. Also it shouldn t be very small so that we don t suffer of file being filled up. Growth should never be in terms of % but instead of terms of MBs. Filegroups are used for large databases (>50 GB) Used for better recovery and organization of database objects. A good and performance gain proved implementation runs as the following: PRIMARY: Contains only the MDF and no additional data goes into the.mdf file. It stays very small and contains only system objects; this will help much in fast and partial recovery. Secondary: create one (or more) data file on multiple disks, and then create (or move) tables and to on that filegroup. We should also make this filegroup the default one so that any newly created objects go here. Index (optional): create one (or more) data file on multiple disks, and then create (or move) indexes to that filegroup. This approach works f there is a large index and we want to move it to separate disk. A separate filegroup can also be used for rarely accessed data and put it on a separate, slower I/O path and preserve our fast RAID disks to highly used ones. There are DR benefits of having filegroups, Edwin has a blog here http://mssqltips.com/tip.asp?tip=1621

Database Options Settings: Database settings should adhere to some best practices. Some options here are common to be altered (sometimes to wrong value), other stay as default: Recovery model: for DR purposes, FULL should be used to allow for point in time recovery. SIMPLE recovery may increase performance by reducing the cost of T Log management by SQL Server. Auto Close: Should NEVER be set to TRUE. Auto Shrink: Should NEVER be set to TRUE. Auto Update Statistics: Should ALWAYS be set to TRUE (except for very few exceptions, such as databases with extensive data loads. Page Verify: Should ALWAYS be set to CHECKSUM (2005, 2008) and torn_page_detection must be selected in SQL server 2000. Parameterization (2005,2008): should be set to Forced when there are applications that pass a large number of non parameterized batches to lower procedure cache memory utilization and, therefore, have better overall throughput. More information: http://technet.microsoft.com/en us/library/ms188124.aspx Allow page locks for indexes: All indexes should have allowed pages locks for better escalation management and ability to be defraged or rebuilt. Get list of indexes without allow page locks Select * from db.sys.indexes where allow_page_locks=0

Index Maintenance Tasks: The Index Rebuild and Index Reorg default maintenance plans are rebuilding/reorganizing all indexes blindly, no matter if they are fragmented or not. For better performance, it is strongly advised to reorganize/rebuild indexes based on their size and fragmentation level. This procedure can run even every day so that the reorg will be faster and lighter ( delta defrag). Note that index rebuild is resource consumer and may also increase the size of the T Log (and therefore also of the T log backups) SQL 2005 and higher: use ONLINE index rebuild as much as possible in Enterprise Edition when tables need to be available at all times. Shrink database maintenance task: Never shrink databases or database files on a regular basis. If the file has grown once, it will most probable grow again. When database file grows while transactions are running, this may degrade performance by much. Update Statistics Maintenance Task: If Auto UPDATE Statistics option is turned on in a database and there is no massive insertion/update of data, this task is not required (which is true in most of the cases). Database Integrity Checks: It s important to run the integrity checks for the databases. The earlier we find consistency issues, the better. Data corruption is usually very rare. Since this task is resource consumer, it can be executed once a week.

Other Recommended References: Best Practices for Optimizing SQL Server in SAN Environments: http://www.symantec.com/community/article/4406/best practices optimizing sql server san environments usingaltiris products.html SQL server Clustering best practices: http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1197424_mem1,00.html Common QA for deploying SQL Server in a SAN Environment: http://hosteddocs.ittoolbox.com/microsoft Siebel091704b.pdf