Edward Whalen is the co-author on four SQL Server books from Microsoft Press: SQL Server 7 Administrator’s Companion, SQL Server 7 Performance Tuning Technical Reference, SQL Server 2000 Administrator’s Companion, and SQL Server 2000 Performance Tuning Technical Reference. He has also authored four Oracle books.
Edward Whalen is also vice president and principle consultant at Performance Tuning Corporation (http://www.perftuning.com/). Performance Tuning Corporation provides database performance tuning, load testing and troubleshooting services for Microsoft SQL Server.
Tell us about your company, Performance Tuning Corporation.
I founded Performance Tuning Corporation in 1997. Although we are larger now, we are still very flexible with our clients and very easy to work and deal with –- there is no bureaucracy or red tape when dealing with us. We specialize in database performance and system configuration –- including clustering and SAN configurations. We have a wide variety of clients from small to large, from call centers to application development shops.
Tell us about yourself and your staff of consultants.
All of the Performance Tuning consultants have a hardware and database background. Previous to working at Performance Tuning, we all worked for hardware companies doing database performance testing –- including TPC benchmarking and designing demos for trade shows. This hardware background gives us an edge in the database world. Optimal hardware configuration is very important to SQL Server performance.
When someone or company comes to you and asks you to diagnose a slow performing SQL Server database, what steps or methodology do you go through to identify the performance problem or problems the database is facing?
We diagnose database system performance from many different angles. We first get an understanding of the entire system, from client machine, application sever, to database server. We talk with the client to get an idea of where their problem lies –- if there is a specific problem area or just generally slow user response times. Then we monitor hardware and SQL Server to see what is actually happening on the database system.
We analyze this data to determine if there is a hardware or network bottleneck, and/or inefficient SQL code or database design, such as poor indexing. We also determine if the performance problem may lie outside of the database server and could be the application server or client machine causing slow total response times to users.
Based on your experience, what factors most affect the performance of SQL Server, and how do you best deal with them?
I/O is a big factor in SQL Server performance. I/O response times depend on how your I/O subsystem is configured, and how many I/O’s are being requested by SQL Server. Optimizing SQL code to perform fewer I/O’s is one way to improve performance. Another is to examine the I/O subsystem and configure it to meet the needs of SQL Server.