Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase

help me in improving my server performance Expand / Collapse
Author
Message
Posted Sunday, January 25, 2009 12:06 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: General Forum Members
Last Login: Wednesday, March 19, 2014 11:39 AM
Points: 3, Visits: 49

Hi evryone,

i need your graat help by suggesting the solution to my problem. Im using my server for ETL process. we are expecting 30 - 35% increase in datavolume by the next month.

our ETL cycle starts from 10.30 and ends between 4.30 and 5.30, sla time is 6.30 (should not cross that). but wht worrying me is increase in data volume my increase this ETL load and report time. How can i improve my server performance.

we have implemented horizontal partioning of some facts and aggregates using partitioned views. performing insertions into underlying tables than inserting into views. using No lack table hint in select queries, updating statistics daily nad reindexing weekly

server :hp prolient 64 bit
sql server 2005 sp2
memory config :AWE enabled, total 16gb and available :1.12gb
virtual : 23.38 Gb available 8.55 Gb
pagefile 7.99 Gb
pagefile : c:\pagefile.sys

Database : divided onto files and filegroups mdf and 6ndf files.
all these files are stored on M:drive {san}

Review this partioning, indexes and server config and our ETL stratergy and suggest me the ebneficial measures

Post #643114
Posted Sunday, January 25, 2009 6:13 AM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: Friday, July 11, 2014 10:29 PM
Points: 2,007, Visits: 6,077
AWE should not be enabled on 64bit systems.

Does the server have 16GB of memory total? If there is only 1.2GB available you are choking the OS, that can seriously impact things that the ETL process can require.

Do you have the "Lock Pages in Memory" setting on for the service account that you are using?

You mention the virtual memory, you should not be paging at all, so this should be irrelevant, if you are seeing paging it is because you either have only 1.2GB for the OS, or it's paging out SQL processes in order to run OS processes.


Make a start with those things and if you get no improvements then you'll need to provide schemas, scripts and data examples.




Shamless self promotion - read my blog http://sirsql.net
Post #643148
Posted Sunday, January 25, 2009 11:11 AM


SSC-Forever

SSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-ForeverSSC-Forever

Group: General Forum Members
Last Login: Yesterday @ 4:32 PM
Points: 42,458, Visits: 35,518
Couple things...

Nolock is not a good thing to add everywhere. Are you aware of the problems it may cause and do you feel that the risks of bad data are acceptable?
What's SQL's max memory set to? From the sound of things, it should perhaps be lowered.
Are the log files also on M? If so, why?
What's the RAID level of the SAN drives and are they dedicated?

Is it 64 bit SQL? Enterprise edition? Standard edition? If enterprise, have you considered partitioned tables, rather than partitioned views?

As for advice, profile the ETL process, find the slowest portion and then look at optimising that. Looking at the entire thing in one go is not a good idea. You need to identify the pain points and fix those, then find the next most problematic point and fix that, etc, etc



Gail Shaw
Microsoft Certified Master: SQL Server 2008, MVP
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

We walk in the dark places no others will enter
We stand on the bridge and no one may pass

Post #643203
Posted Tuesday, January 27, 2009 3:31 PM
SSCommitted

SSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommittedSSCommitted

Group: General Forum Members
Last Login: Friday, July 25, 2014 3:51 PM
Points: 1,967, Visits: 2,905
In addition to the other suggestions, make sure that:

1) Join columns are indexed

2) Indexes have the proper freespace and are reorganized / rebuilt as often as needed to keep them functioning well

3) Queries do not do functions on table columns unless absolutely necessary, esp. on indexed columns. For example, instead of:
WHERE YEAR(datecolumn) = 2008 AND MONTH(columnname) = 2
write:
WHERE datecolumn >= '20080201' AND datecolumn < '20080301'

4) Tempdb has at least one data file per processor core

Since you have only one SAN drive, you cannot be using RAID 1 for logs and RAID 5/10 for data. This will affect your performance as well.


SQL DBA,SQL Server MVP('07, '08, '09)
"In America, every man is innocent until proven broke!" Brant Parker
Post #644559
Posted Tuesday, January 27, 2009 8:17 PM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: General Forum Members
Last Login: Yesterday @ 6:43 PM
Points: 36,752, Visits: 31,208
Stop using SSIS for ETL. Use BULK INSERT and some good T-SQL programming, instead.

--Jeff Moden
"RBAR is pronounced "ree-bar" and is a "Modenism" for "Row-By-Agonizing-Row".

First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column."

(play on words) "Just because you CAN do something in T-SQL, doesn't mean you SHOULDN'T." --22 Aug 2013

Helpful Links:
How to post code problems
How to post performance problems
Post #644647
Posted Friday, January 30, 2009 8:32 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Wednesday, September 29, 2010 5:23 AM
Points: 194, Visits: 2,357
Don't use Table or View as your data access method when loading or transferring data. This apparently uses a cursor behind the scenes, and as a result kills your ETL. Or at least means it runs forever. Rather than use table or view, on say vwMyETLSource you are actually better off using SQL Command for data access method with SELECT * FROM vwMyETLSource.


Goes against the grain I know
Post #647012
« Prev Topic | Next Topic »

Add to briefcase

Permissions Expand / Collapse