none
請幫忙分析一下此服務器的性能 RRS feed

  • 問題

  • 最近有一台SQL SERVER2005的服務器問題會出現影響緩慢的情況,以下是我用sys.dm_os_wait_stats動態性能視圖查到的的等待事件,請求大家幫我分析一下問題出在哪個環節,謝謝!
    select * from sys.dm_os_wait_stats where wait_time_ms>0 order by wait_time_ms desc

     

    Wait_Type Wait_Task_Count wait_time_ms max_wait_time_ms signal_wait_time
    CLR_AUTO_EVENT 116 10659937 679375 312
    LAZYWRITER_SLEEP 46408 10528218 2624703 415343
    SOSHOST_MUTEX 40131537 8022312 859 4026140
    SQLTRACE_BUFFER_FLUSH 1402 5608812 4046 609
    OLEDB 770172 3281390 56421 0
    CXPACKET 32325 2185687 114625 117765
    SOS_SCHEDULER_YIELD 865157 1828562 2093 1828328
    CMEMTHREAD 74480 1591593 1625 1404703
    MSQL_DQ 35752 582765 56421 0
    WRITELOG 47612 549359 796 33765
    SLEEP_TASK 41760 249953 1359 230437
    ASYNC_NETWORK_IO 38002 131265 1921 39078
    DTC 265 27203 640 609
    PAGELATCH_EX 46073 26000 359 25343
    PAGEIOLATCH_SH 3007 23593 484 46
    SOS_RESERVEDMEMBLOCKLIST 2921 23453 62 296
    MSQL_XP 652 16343 2140 0
    SLEEP_BPOOL_FLUSH 1718 13546 125 875
    LATCH_EX 1492 5875 312 2656
    CLR_MANUAL_EVENT 32 5859 828 0
    TRANSACTION_MUTEX 247 2984 546 250
    PAGEIOLATCH_EX 354 2671 468 15
    IO_COMPLETION 929 1406 187 0
    PAGELATCH_UP 28 656 218 546
    PAGELATCH_SH 24 140 62 62
    LCK_M_S 2 78 78 0
    EXECSYNC 123 62 15 62
    PAGEIOLATCH_UP 16 15 15 0
    2007年7月2日 上午 02:59

所有回覆

  •  

    您好:

    如果方便告知的話。

    可否簡介一下您的SQL Server供哪些服務使用,有幾台AP Server(功能概述)連至您的SQL Server。分別處理何種資料。

     

    CPU/RAM的量跟使用率。

     

    您覺得緩慢是在哪一台AP Server執行哪些查詢時緩慢。或是全部都緩慢?是否是查特定資料表時才慢。

     

    有這些資訊比較能分析問題來源。

     

    以下是額外的判斷方法,如果您不是前端程式開發者,可進行以下程序,來抓出原因。

    =====================================================================================

    您可以使用SQL Profiler新增一個追蹤,使用Windows帳戶進入(或SQL帳戶),在[事件]=>[可用的事件類型],使用預設項目再加入SP: StmtComplete。然後選執行。可監測到所有進入的SQL Command及耗用資源細節。

     

    一般的處理辦法

    1.選出一些特別高Loading的(CPU Time、Reads量特高),來進行Table OR View的資料索引建立。(如果不會判讀。可以選一行高Loading的貼在板上。)

    2.有效保持您的ldf成長量,可排除您的SQL Server在非程式設計上所造成的緩慢。

    3.嘗試對緩慢的資料表(可能資料過於大量),分析後進行資料表分割。

    4.若有處理序死結發生,嘗試進行程序上的修正。(請程式開發者使用預存開發,減少交易時間跟無效資料傳出的造成的逾時跟降低死結率。)

    2007年7月2日 上午 05:21