Home > SQL Server Tips > Database Management and Administration > Optimize SQL Server hardware performance
SQL Server Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

DATABASE MANAGEMENT AND ADMINISTRATION

Optimize SQL Server hardware performance


Jeremy Kadlec, Contributor
07.07.2005
Rating: -3.00- (out of 5)


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


Tuning SQL Server for performance is in many ways like constructing a house. You must find a suitable location with rich soil, build a solid foundation to support two or three levels, install the electrical and plumbing, finish the walls for painting and decorating, and finally conduct ongoing maintenance.

Comparable items to address when tuning SQL Server performance include:

  • Hardware
  • Windows Server
  • SQL Server
  • Database design
  • Indexes design
  • T-SQL development
  • Network infrastructure
  • Front-end code
  • Platform maintenance

Although no single component is more important than any other in achieving high performance, it is imperative to start correctly. If you do not build a solid foundation, the remainder of the application will always be plagued by deficiencies in earlier components. Furthermore, although it is possible to rebuild the hardware once it has been deployed, or simply move to another hardware platform, with proper planning the overall platform can support the application in the long term avoiding a time-consuming upgrade.

TABLE OF CONTENTS
  [IMAGE] Hardware planning
  [IMAGE] 64-bit architectures
  [IMAGE] Hardware-based accelerators
  [IMAGE] Ideal hard drive layout
  [IMAGE] Local storage or SAN
  [IMAGE] Conclusion

[IMAGE][IMAGE]  Hardware planning[IMAGE] Return to Table of Contents

Proper hardware planning is the first step in achieving high performance. It is imperative to determine what hardware to use based on requireme...


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Microsoft SQL Server Performance Monitoring and Tuning
Using traces in SQL Server Profiler
SQL Server Mailbag: CALs, witnesses and unwanted changes
SQL Server Mailbag: Data restoration and DB property management
Working with IntelliSense in SQL Server 2008 Management Studio
SQL Server Mailbag: Stored procedures, triggers and SSRS reports
Troubleshooting Distributed Transaction Coordinator errors in SQL Server
Clearing the Windows page file and its effect on server performance
Optimizing SQL Server indexes –- even when they're not your indexes
Performance implications of transaction log autogrowth in SQL Server
The short course on how SQL Server really works

Database Management and Administration
Password cracking tools for SQL Server
Using traces in SQL Server Profiler
Meet compliance requirements with improved database security practices
Hardening the network and OS for SQL Server security
Securing the server and database in SQL Server
How SQL Server 2008 components impact SharePoint implementations
Troubleshooting Distributed Transaction Coordinator errors in SQL Server
Achieving high availability and disaster recovery with SharePoint databases
Clearing the Windows page file and its effect on server performance
Deploying a SQL Server virtual appliance for Microsoft Hyper-V

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
contiguity  (SearchSQLServer.com)
contiguous  (SearchSQLServer.com)
drilldown  (SearchSQLServer.com)
hashing  (SearchSQLServer.com)
hybrid online analytical processing  (SearchSQLServer.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


nts that can be calculated by capacity planning for CPUs, memory, drives, network interface cards (NICs), etc. At times this decision is rather easy; you can use corporate standards to simplify the hardware support. If standards do not exist, seize the opportunity and begin building standards to simplify the overall management.

While standardization is critical to supporting a large number of servers, it should be complimented by the latest technologies so you may continuously achieve higher performance at lower costs. Two current hardware technologies that should be considered in the short and long-term are 64-bit technologies and database accelerators.

[IMAGE][IMAGE]  64-bit architectures[IMAGE] Return to Table of Contents

As hardware vendors deliver 64-bit servers at reasonable costs, Windows Server 2003 and SQL Server 2000 are able to leverage additional resources to improve overall performance from a scale-up perspective. In the 64-bit world, 64 CPUs and 1 TB of RAM can be addressed directly, far exceeding the typical 32-bit world of 4 CPUs and 3 GB of memory – much more than double the resources.

Currently the 64-bit platform has some limitations in terms of tools and full support from all applications, but this too will change over time. It is important now to keep an eye on the 64-bit architectures as they mature and gain greater support from software vendors to improve scale-up options on some rather large servers.

[IMAGE][IMAGE]  Hardware-based accelerators[IMAGE] Return to Table of Contents

Database accelerators have been getting a fair amount of press lately for SQL Server. At a conceptual level, database accelerators are hardware devices with CPUs and memory. They store the entire database or a subset of tables in memory to process user transactions that write back to the SQL Server, which ultimately stores the data. The advantage is that these devices can sometimes support the entire database or core tables in dedicated memory, which outperforms accessing the data from disk. This can help from a scale up or scale out perspective because a single database accelerator can alleviate hardware bottlenecks without a change to the existing SQL Server.

One company that offers this type of solution is XPrime. Consider this option if no further software optimizations can be determined and uptime can't be jeopardized until an upgrade can be tested and completed.

[IMAGE][IMAGE]  Ideal hard drive layout[IMAGE] Return to Table of Contents

Database accelerators have been getting a fair amount of press lately for SQL Server. At a conceptual level, database accelerators are hardware devices with CPUs and memory. They store the entire database or a subset of tables in memory to process user transactions that write back to the SQL Server, which ultimately stores the data. The advantage is that these devices can sometimes support the entire database or core tables in dedicated memory, which outperforms accessing the data from disk. This can help from a scale up or scale out perspective because a single database accelerator can alleviate hardware bottlenecks without a change to the existing SQL Server.

One company that offers this type of solution is XPrime. Consider this option if no further software optimizations can be determined and uptime can't be jeopardized until an upgrade can be tested and completed.

Disk Disks Drive Size Controller RAID Size Volume Purpose
0 2 72 GB 1 - 1 1 72 C:\ Windows, SQL Server Program Files and System Databases (Master, Model, MSDB) (Random)
1 2 72 GB 1 - 1 1 72 D:\ Tempdb (Random)
2 2 72 GB 1 - 2 1 72 E:\ Database Transaction Logs (Sequential)
3 5 72 GB 2 - 1 5 288 F:\ Databases (Random)
4 3 72 GB 2 - 2 5 144 G:\ Backups and Batch Processing (Sequential)
- 14 - - - 648 - -

[IMAGE][IMAGE]  Local storage or a storage area network (SAN)[IMAGE] Return to Table of Contents

The big question for many organizations is how to support a high number of drives on a single server. On top of that, they must consider how to manage databases exceeding the designated amount of storage, or having to separate specific databases from one another on a single server.

There are three basic options: The first is to leverage servers with many internal disks to support storage. Second is a server with a few internal disks and a locally attached drive array. Third is a server with a few internal disks and a connection to a storage area network (SAN).

Management can be more difficult with locally attached storage because it is distributed, unlike a SAN, which has centralized storage where adding new storage to a server can be as simple as a point-and-click process. However, performance may be better for local storage because only a single server leverages the disk drive as compared to a SAN, where five to 10 servers may access the same drives and cause contention. The SAN's answer to this performance issue is a large amount of cache rather than access the data from disk.

Then there is the egg-and-basket metaphor: A single server with dedicated storage having an IO issue can only affect one server, whereas that same problem on a SAN can potentially affect many servers. This can be taken a step further when an update is needed to the SAN; all of the servers leveraging storage from the SAN need to be shutdown. When updating a single server with local storage, the downtime only affects the server requiring the update, not all servers. Manageability versus performance must be balanced.

[IMAGE][IMAGE]  Conclusion[IMAGE] Return to Table of Contents

It is no mystery that hardware is the foundation for SQL Server high performance, but the platform still requires the proper subsequent design and development to achieve the needed performance in the long term. While many hardware innovations are available, keep in mind that slacking off on the development phases is not an option. You must set up SQL Server hardware properly and keep optimization best practices at hand throughout the application's lifecycle to achieve high performance. Good luck!

About the author: Jeremy Kadlec is the Principal Database Engineer at Edgewood Solutions, a technology services company delivering professional services and product solutions for Microsoft SQL Server. He has authored numerous articles and delivers frequent presentations at regional SQL Server Users Groups and nationally at SQL PASS. Jeremy is also the SearchSQLServer.com Performance Tuning expert. Ask him a question here.


More information from SearchSQLServer.com

  • Tip: Hardening SQL Server hardware
  • Ask the Experts: Separate physical hard drives for each database on one machine
  • Tip: SQL Server performance tuning worst practices


  • Rate this Tip
    To rate tips, you must be a member of SearchSQLServer.com.
    Register now to start rating these tips. Log in if you are already a member.


    Submit a Tip




    DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



    SQL Server Development - .NET, C#, T-SQL, Visual Basic
    HomeNewsTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersIT Downloads
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Site Map




    All Rights Reserved, Copyright 2005 - 2009, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts