Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Finding SQL Server 2012 performance bottlenecks

Posted on 2014-03-13
5
Medium Priority
?
282 Views
Last Modified: 2014-03-31
I'm a newbie to SQL Server and 2012 in particular and need help on what to do and where to look.

There is a process that run data Loads into our staging database tables for a data warehouse is taking forever. THe CPU is pegged during this time. THe process to load the development environment runs in half the time with the same volume of data.

Physical layout is as follows for development:

SQL Server database server has 16Gb of ram and 2 CPUs.

SQL Server 2012 and MS Analysis services run on one server with an application server on another box. The development app server has 16GB of ram and 1 CPU.

The staging environment has 3 servers in its configuration.

SQL Server 2012 on one server, MS Analysis services run on a second server with an application server on a third box.

The staging database server has 16GB of ram and 1 CPU. THe DAS and APP server each have 16GB of ram and 1 CPU apiece.

The way the data loads work is that there is an SSIS package that loads from flat files into staging tables.  It then runs some validation against those tables and modifies the records (removes some).  And then the staging tables are used to populate Fact and Dimension tables in the staging data warehouse database.  It is at this point that the data in the facts and dimensions are used to process the cube on the DAS server.

This process, as mentioned before, runs well in dev, but crawls in staging. The code is supposedly the same in both environments.

THe biggest differences that I know of are the three server configuration in staging, with the single CPUs on each server, versus the two server configuration and 2 CPUs on dev database server. Each server has lots of free memory during this processing.

These are all virtual servers under VMware so if I need to add another CPU, it's not a big deal.

Thanks!
0
Comment
Question by:data_bits
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39927548
Please try to disable the parallel query execution
0
 
LVL 35

Accepted Solution

by:
Bembi earned 1500 total points
ID: 39927777
So, if it is not a big deal, try to add another CPU....
The other point would be to runn a basic performance counter on the machine, which processor, Ram, disc IO and network counters to see, if you can indentify which part produces the most traffic. If you can indentify one of the the sources, you can dig a bit more into the deepness.

Also the windows resource monitor (from task manager) can give you some hints, observe the reaction while running your job.

At least from my experience, disc throughput is ofte an issue.
0
 

Author Comment

by:data_bits
ID: 39927794
Thanks, Bembi and Guy for your suggestions.

Guy- looks like query paralellism is turned off.

Bembi-I'll try to watch it while its doing the staging load next time.

THanks!
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 39928625
if it's already turned off, please check the sql profiler trace to see which queries are using more CPU or Reads or Writes on the prod than on the test
0
 

Author Closing Comment

by:data_bits
ID: 39967492
Adding the extra vCPU and index helped out greatly.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windocks is an independent port of Docker's open source to Windows.   This article introduces the use of SQL Server in containers, with integrated support of SQL Server database cloning.
This month, Experts Exchange sat down with resident SQL expert, Jim Horn, for an in-depth look into the makings of a successful career in SQL.
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question