[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 284
  • Last Modified:

Finding SQL Server 2012 performance bottlenecks

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
data_bits
Asked:
data_bits
  • 2
  • 2
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
Please try to disable the parallel query execution
0
 
BembiCEOCommented:
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
 
data_bitsAuthor Commented:
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
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
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
 
data_bitsAuthor Commented:
Adding the extra vCPU and index helped out greatly.
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now