Showing posts with label san. Show all posts
Showing posts with label san. Show all posts

Friday, March 30, 2012

Performance Tuning Help needed

This is a Sql 2000 server running on Win 2k. This is a 1
CPU box connected to a SAN.
I ran a profiler trace for 3 hours and collected all the
data. Some of the queries show a large amount of reads.
When I run those queries individually the # of reads is
fairly smaller. For example the trace file shows 36503
reads and the individual query plan shows 91 CPU reads.
Whats going on ? Is the profiler tracking all I/O activity
at that time ? I mean, is it tracking all tempdb usage and
any other I/O activity at this time. What would explain
this large drop in I/O ?
THanks"JackA" <anonymous@.discussions.microsoft.com> wrote in message
news:061701c3a972$5d6cc080$a301280a@.phx.gbl...
> Whats going on ? Is the profiler tracking all I/O activity
> at that time ? I mean, is it tracking all tempdb usage and
> any other I/O activity at this time. What would explain
> this large drop in I/O ?
I'm new to SQL Server so take what I say with a grain of salt.. But does
the profiler keep track of how many executions for each SQL statement?
Executed once the number of reads may be small but if it was executed 1000
times during that timeframe I would expect the number to be large.|||i assume you ran the query with the same parameters?
if so, then this large a difference in reads might
indicate the trace captured that query with a different
plan. if the choice of parameters can results in large
differences in rows involved, then depending on what
parameters were used when the query was last compiled,
different executes could get different plans.
a smaller difference on the order of several hundred or
even more than 1k might indicate compile or recompile.
>--Original Message--
>This is a Sql 2000 server running on Win 2k. This is a 1
>CPU box connected to a SAN.
>I ran a profiler trace for 3 hours and collected all the
>data. Some of the queries show a large amount of reads.
>When I run those queries individually the # of reads is
>fairly smaller. For example the trace file shows 36503
>reads and the individual query plan shows 91 CPU reads.
>Whats going on ? Is the profiler tracking all I/O
activity
>at that time ? I mean, is it tracking all tempdb usage
and
>any other I/O activity at this time. What would explain
>this large drop in I/O ?
>THanks
>.
>|||Jack,
are you comparing Profiler output to Query Analyzer query plan?
If so... the difference is "normal".
Trust the Profiler, if it shows 36000 reads, that's really happening
in the DB.
peksi
"JackA" <anonymous@.discussions.microsoft.com> wrote in message
news:061701c3a972$5d6cc080$a301280a@.phx.gbl...
> This is a Sql 2000 server running on Win 2k. This is a 1
> CPU box connected to a SAN.
> I ran a profiler trace for 3 hours and collected all the
> data. Some of the queries show a large amount of reads.
> When I run those queries individually the # of reads is
> fairly smaller. For example the trace file shows 36503
> reads and the individual query plan shows 91 CPU reads.
> Whats going on ? Is the profiler tracking all I/O activity
> at that time ? I mean, is it tracking all tempdb usage and
> any other I/O activity at this time. What would explain
> this large drop in I/O ?
> THanks|||Hi Jack
The profiler shows what's happening at run time, which can be different from
what happens when you run the query for a few reasons, eg:
(a) The level & type of SQL Server activity is different when you run the
query from when the same query was captured by the profiler.
(b) The security context from which you ran the query may be different from
the query picked up by profiler.
(c) General resource levels on the server may be different.
Capturing the execution plans & comparing them may reveal some explanation
of what accounts for the different levels of reads, but this only takes you
part way to resolving the actual problem.
HTH
Regards,
Greg Linwood
SQL Server MVP
"JackA" <anonymous@.discussions.microsoft.com> wrote in message
news:061701c3a972$5d6cc080$a301280a@.phx.gbl...
> This is a Sql 2000 server running on Win 2k. This is a 1
> CPU box connected to a SAN.
> I ran a profiler trace for 3 hours and collected all the
> data. Some of the queries show a large amount of reads.
> When I run those queries individually the # of reads is
> fairly smaller. For example the trace file shows 36503
> reads and the individual query plan shows 91 CPU reads.
> Whats going on ? Is the profiler tracking all I/O activity
> at that time ? I mean, is it tracking all tempdb usage and
> any other I/O activity at this time. What would explain
> this large drop in I/O ?
> THankssql

Monday, March 26, 2012

Performance questions

We have a production database that sits on a 4 proc server with 4 GB of memory and SAN disk storage via fiber. There are some stored procedures that run and they take approximately 10 minutes to run. A developer has SQL Server installed on his local pc that has 1 2.5 GHz processor and 2 GB of memory and the stored procedures run in approximately 2 minutes. I have updated statistics and rebuilt indexes to no avail. He is questioning why it runs so much faster on his smaller pc compared to the production environment. I have monitored CPU, Memory, and Disk Queue Length and none of these performance counters look concerning to me while the stored procedures are running.

Can anyone out there give me some input on what I could check to figure out why we are experiencing this performance difference?

Thanks,

Corey

Do both databases have the same volume of data? You did not mention what speed and type of processors were in the server. If it is an older server, with say, 1GHz Pentium 3 based Xeon CPU's, you could easily see much slower query performance than on a developer's workstation, with a single faster CPU.

You should also look at the graphical execution plan for the query on the server, and see whether or not the plan is being parallelized or not. BTW, what version of SQL Server are you running?

|||

The data is the same between the two environments. His pc has a 2.5 GHz Intel processor and our server has 4 2.7 GHz Intel processors. We are running SQL Server 2000 SP3a. I will try to look at the queries but their are hundreds. Should the query plan be the same since I ran update statistics, rebuild indexes, and then the process so that I was comparing as each as close as possible.

|||

Just pick two or three commonly executed queries and run them in Query Analyzer with the graphical execution plan turned on and with SET STATISTICS IO on (just run that statement before you run the queries).

Do you see similar query plans and I/O statistics between the developer's workstation and your server?

Are we comparing a developer's workstation with no load with a production server with a full-work load?

If so, I would start looking at the production server to see if you see signs of CPU pressure, memory pressure, I/O bottlenecks, etc.

|||

I will try to get a couple of queries and compare them as suggested.

The developer's workstation has no load and the production server does have other work going on but this server does have plenty of resources left and it is a much larger box than the developer's workstation. I will go ahead and grab some perfmon counters to verify this too.

sql

performance question - SQL2k sp3

We moved a large database & application from a single server with RAID
drives to a clustered server with a SAN and are not seeing any performance
gains. Statistics were updated, procs recompiled, etc. after the move. The
CPU load is lower (as seen in perfmon), and the SAN disks are also not
working nearly as hard as the RAID was, but the application shows no speed
improvement. Any thoughts on where to look next?
thx.
k
Hi
Generally, moving to a SAN will not improve performance, but might decrease
it due to the higher IO latency.
Disk layout is important, make sure your transaction logs are on a seperate
volume, with RAID-1 or RAID 10. If possible, don't put your data on RAID-5,
but RAID-10.
Run profiler to find your slowest queries and see if you can not optimize
them with indexing.
Regards
Mike
"wasnotwas" wrote:

> We moved a large database & application from a single server with RAID
> drives to a clustered server with a SAN and are not seeing any performance
> gains. Statistics were updated, procs recompiled, etc. after the move. The
> CPU load is lower (as seen in perfmon), and the SAN disks are also not
> working nearly as hard as the RAID was, but the application shows no speed
> improvement. Any thoughts on where to look next?
> thx.
> k
>
>

Saturday, February 25, 2012

Performance Monitors with SAN

We have recently moved our database to a SAN and I am trying to monitor performance. Does anyone know of a good way to monitor performance going to the SAN? I have been watching things like %Disk time and Avg Disk Queue Length, but does anyone know if these are acurrate when referring to a SAN? My %Disk Time is going up to numbers as high as 1200. The Disk queue length seems kind of low for seeing that high disk time as well.

Any help would be great.

Thanks much.I a junior DBA here and the senior dba in charge of our sql cluster monitors disk write bytes/sec, disk read bytes/sec, and average disk queue length among others things and I'm pretty sure our stuff's on a SAN. He says anything approaching 1 or above for queue length is cause for alarm. I think read & write throughput are specific to the hardware.

Wish I could give you a better answer...|||So what the performance monitor is telling you is that your disk is writing twelve times as fast as it can (not real likely using conventional hardware, but it happens frequently using a SAN). That would tend to lead to really short disk queue lengths.

I'd suggest that you talk to your SAN vendor. They should be able to give you some really good ideas on what you can monitor, especially within the SAN drivers themselves (if you are using SAN specific drivers).

You obviously have to adjust any counters delivered with the OS, since they are tuned for a very different world than a SAN. A good first guess is to scale the stock values by about a factor of 20, but you'll probably have to adjust that once you get a better feel for how your particular configuration performs.

-PatP|||We already did ask the SAN vender and they told us to purchase this software package they created to monitor performance. Personally I don't think that is necessary, so I was hoping I could monitor performance through these counters. I just don't know how they should be adjusted for the SAN.