Solved

Finding SQL Server 2012 performance bottlenecks

Posted on 2014-03-13
5
269 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
  • 2
  • 2
5 Comments
 
LVL 142

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 500 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 142

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

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
How to share SSIS Package? 6 37
Refresh Dev server with Production database 8 29
VBScript Write Column Headers 3 38
TSQL query to generate xml 4 35
Let's review the features of new SQL Server 2012 (Denali CTP3). It listed as below: PERCENT_RANK(): PERCENT_RANK() function will returns the percentage value of rank of the values among its group. PERCENT_RANK() function value always in be…
Slowly Changing Dimension Transformation component in data task flow is very useful for us to manage and control how data changes in SSIS.
Via a live example combined with referencing Books Online, show some of the information that can be extracted from the Catalog Views in SQL Server.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function

810 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