SQL Server 2008

  • How can I find out if my SQL Server is under stress? Here is the version information,

    Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)

    Apr 2 2010 15:48:46

    Copyright (c) Microsoft Corporation

    Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

    I am not sure what information should be provided. I will provide more if needed. Thanks in advance for helping me.

  • What do you mean by stress more concretely?

    It can be anything from IO bottlenecks, high CPU utilization, Memory issues (memory pressure) , blocking and deadlocking ...

    Igor Micev,My blog: www.igormicev.com

  • Generally speaking, there are two approaches to this. The first way is to use the DMVs to find out what's going on. Tim Ford has put together a good "periodic table of DMVs" that may be able to help you, but this is only a reference. You're going to have to dig into each one to figure out how to best use it. He published this at http://thesqlagentman.com/periodic-table/ if you're interested in it.

    The second approach is to use software to monitor your server. The activity monitor in SSMS can tell you what's going on right now, but it doesn't handle history. There are products out there (SQL Sentry, Red Gate SQL Monitor, etc.) that will keep track of history and load, but they all cost money.

    To help any further, IgorMi is right - we're going to need some information about what's you're after.

  • A good start is a book. On this site you have some books: http://www.sqlservercentral.com/Books/

    One really good is

    "Troubleshooting SQL Server

    A Guide for the Accidental DBA

    Jonathan Kehayias and Ted Krueger"

    Regards

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • I want to find out if my server has IO bottlenecks and also Memory pressure. What information do i need to provide here? Thanks

  • For IO bottlenecks you need sys.dm_io_virtual_file_stats and sys.dm_io_pending_io_requests

    For Memory pressure you can use sys.dm_os_buffer_descriptors, sys.dm_os_performance_counters and others.

    The full grouped list of the dynamic views is here http://technet.microsoft.com/en-us/library/ms188754.aspx

    For e.g. you can find the Page Life Expectancy using this query

    SELECT

    ple.[Node]

    ,LTRIM(STR([PageLife_S]/3600))+':'+REPLACE(STR([PageLife_S]%3600/60,2),SPACE(1),'0')+':'+REPLACE(STR([PageLife_S]%60,2),SPACE(1),'0') [PageLife]

    ,ple.[PageLife_S]

    ,dp.[DatabasePages] [BufferPool_Pages]

    ,CONVERT(DECIMAL(15,3),dp.[DatabasePages]*0.0078125) [BufferPool_MiB]

    ,CONVERT(DECIMAL(15,3),dp.[DatabasePages]*0.0078125/[PageLife_S]) [BufferPool_MiB_S]

    FROM

    (

    SELECT [instance_name] [node],[cntr_value] [PageLife_S] FROM sys.dm_os_performance_counters

    WHERE [counter_name] = 'Page life expectancy'

    ) ple

    INNER JOIN

    (

    SELECT [instance_name] [node],[cntr_value] [DatabasePages] FROM sys.dm_os_performance_counters

    WHERE [counter_name] = 'Database pages'

    ) dp ON ple.[node] = dp.[node]

    Regards

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • here is the result from the query, How should I interpret it? Thanks.

    NodePageLifePageLife_SBufferPool_PagesBufferPool_MiBBufferPool_MiB_S

    12:08:19436995359046 41867.547 0.958

    000 13:30:31486311318060 10297.344 0.212

    001 12:42:02457221296655 10130.117 0.222

    002 9:53:55356351443304 11275.813 0.316

    003 13:12:14475341301027 10164.273 0.214

  • Grace09 (11/19/2013)


    here is the result from the query, How should I interpret it? Thanks.

    NodePageLifePageLife_SBufferPool_PagesBufferPool_MiBBufferPool_MiB_S

    12:08:19436995359046 41867.547 0.958

    000 13:30:31486311318060 10297.344 0.212

    001 12:42:02457221296655 10130.117 0.222

    002 9:53:55356351443304 11275.813 0.316

    003 13:12:14475341301027 10164.273 0.214

    PLE is just one of the many performance counters. Having PLE in 9-13 hours is just a perfect situation. With this results you don't have a memory pressure.

    Regards,

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • Are you just curious how your system is performing? Taking a baseline? Or is an issue you are dealing with and need help with? If you are having some performance issues please describe them and someone should be able to help you get the metrics you need.



    Microsoft Certified Master - SQL Server 2008
    Follow me on twitter: @keith_tate

    Forum Etiquette: How to post data/code on a forum to get the best help[/url]

  • Thank you, IgorMi. Since PLE is just one of performance counters. Do I need to look at other performance counter to determine the memory issue? Or as long as PLE is in good number, that's good enough? I was reading somewhere to use sys.dm_os_ring_buffers to determine the memory pressure. I don't quite understand the result from querying sys.dm_os_ring_buffers table, which make me curious. Sorry if I ask some 'silly' questions. I am kind of new to the sql server performance troubleshooting. Thanks!

    IgorMi (11/19/2013)


    Grace09 (11/19/2013)


    here is the result from the query, How should I interpret it? Thanks.

    NodePageLifePageLife_SBufferPool_PagesBufferPool_MiBBufferPool_MiB_S

    12:08:19436995359046 41867.547 0.958

    000 13:30:31486311318060 10297.344 0.212

    001 12:42:02457221296655 10130.117 0.222

    002 9:53:55356351443304 11275.813 0.316

    003 13:12:14475341301027 10164.273 0.214

    PLE is just one of the many performance counters. Having PLE in 9-13 hours is just a perfect situation. With this results you don't have a memory pressure.

    Regards,

    IgorMi

  • This is a clustered server. There are lots of databases on the server. Every once a while they ask me to add some databases up there in order to save some cost, which make me worried about the memory and IO performance. Check the CPU from task manager, cpu utilization seems to be fine.

    Keith Tate (11/19/2013)


    Are you just curious how your system is performing? Taking a baseline? Or is an issue you are dealing with and need help with? If you are having some performance issues please describe them and someone should be able to help you get the metrics you need.

  • Grace09 (11/19/2013)


    You can use this link http://blogs.msdn.com/b/mvpawardprogram/archive/2012/06/04/using-sys-dm-os-ring-buffers-to-diagnose-memory-issues-in-sql-server.aspx

    As you can see you can only see some info that you can see at other places on your system as well. However it's a useful dynamic view.

    Thank you, IgorMi. I was reading somewhere to use sys.dm_os_ring_buffers to determine the memory pressure. I don't quite understand the result from querying sys.dm_os_ring_buffers table, which make me curious.

    IgorMi (11/19/2013)


    Grace09 (11/19/2013)


    here is the result from the query, How should I interpret it? Thanks.

    NodePageLifePageLife_SBufferPool_PagesBufferPool_MiBBufferPool_MiB_S

    12:08:19436995359046 41867.547 0.958

    000 13:30:31486311318060 10297.344 0.212

    001 12:42:02457221296655 10130.117 0.222

    002 9:53:55356351443304 11275.813 0.316

    003 13:12:14475341301027 10164.273 0.214

    PLE is just one of the many performance counters. Having PLE in 9-13 hours is just a perfect situation. With this results you don't have a memory pressure.

    Regards,

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • This performance counters poster is still pretty excellent.

    http://www.quest.com/backstage/images/promotions/SQLServer-Perfmonance-Poster.pdf

    You can additionally use the OS performance monitor (perfmon.exe) to obtain the counters' values and make a comparison, in order to conclude how good is behaving your system.

    Grace09 (11/19/2013)


    This is a clustered server. There are a lots of databases on the server. Every once a while they ask me to add some databases up there in order to save some cost, which make me worried about the memory and IO performance. Check the CPU from task manager, cpu utilization seems to be fine.

    Keith Tate (11/19/2013)


    Are you just curious how your system is performing? Taking a baseline? Or is an issue you are dealing with and need help with? If you are having some performance issues please describe them and someone should be able to help you get the metrics you need.

    Igor Micev,My blog: www.igormicev.com

  • Are you in a virtualized environment or bare metal?



    Microsoft Certified Master - SQL Server 2008
    Follow me on twitter: @keith_tate

    Forum Etiquette: How to post data/code on a forum to get the best help[/url]

  • Sounds like you need a baseline of the server and compare it after you add a new database. I would recommend you use Glenn Berry's DMV scripts to create that baseline:

    http://sqlserverperformance.wordpress.com/tag/dmv-queries/

    Also, if you want to create a system to capture the results check out Ted Krueger's blog post on that:

    http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/sql-server-baseline-collection

    Glenn does an excellent job on giving you the metrics you need and describing what you should look for. If you have any specific questions please ask the forum.



    Microsoft Certified Master - SQL Server 2008
    Follow me on twitter: @keith_tate

    Forum Etiquette: How to post data/code on a forum to get the best help[/url]

Viewing 15 posts - 1 through 14 (of 14 total)

You must be logged in to reply to this topic. Login to reply