none
דרך לקבל התרעה, כאשר השרת נהיה עמוס וכבד RRS feed

  • שאלה

  • היי,

    מידי פעם השרת שלנו (sql server 2008 sp3) עמוס, כיאה וכיאות למערכת שעובדת.

    שמתי לב שכשזה מתרחש,  ה-Waiting Tasks ב-Activity monitor גדל, ורואים שיש משימות מחכות ונערמות לביצוע (התמונה להלן לא מציגה מצב עמוס, זה רק לצורך המחשה).

    אני מניחה שהמידע של Waiting Tasks נמצא בVIEW sys.dm_os_waiting_tasks,

    אבל לא ממש הבנתי את הקורלציה בין הVIEW לבין המספר שמופיע ב-Activity monitor כאשר השרת עמוס.

    מעבר לכך לסיכומו של עניין,

    אני מחפשת דרך לקבל איזושהי התרעה, ברגע שמצב כזה מתרחש - לקבל התרעה כאשר השרת נהיה עמוס וכבד, כדי שנוכל לחקור מיידית ולא לחכות לתגובות של משתמשים "היי, המערכת נהיית איטית" וכד'.

    הנחתי שאמצא משהו שקשור ל-XE, אבל לא מצאתי משהו קונקרטי.

    אשמח לכיוונים.

    תודה מראש,

    רוני.

    יום שלישי 08 ינואר 2013 16:03

תשובות

  • הי רוני,

    עכשיו אני מבין טוב יותר את כוונתך.

    זה בהחלט נכון שעומס על השרת יתבטא בכמות Waiting Tasks גדולה יותר, וזה בהחלט רעיון טוב לנטר את כמות ה-Waiting Tasks על מנת להתריע על עומס חריג על השרת. הדרך לעשות זאת היא באמצעות ניטור העמודה "waiting_tasks_count" ב-sys.dm_os_wait_stats. את יכולה פשוט לסכום את העמודה הזאת ולשמור את התוצאה בטבלה, נניח פעם בדקה. עכשיו את יכולה ליצור התראה (Job, Alert, Trigger) שתופעל בכל פעם שכמות ה-Waiting Tasks עולה באופן חריג מהממוצע.

    האתגר כאן הוא להגיע למצב שההתראה מופעלת כשיש בעיה אמיתית, ולא כשיש בעיה רגעית שנעלמת מיד או כשיש עליה בכמות ה-Waiting Tasks שנובעת מעונתיות (למשל, שעת השיא במשך היום). לשם כך צריך לעבוד עם ממוצעים נעים ולקחת בחשבון את המחזוריות של המערכת מבחינת עומס.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום חמישי 17 ינואר 2013 05:00
    • סומן כתשובה על-ידי Roni Vered Adar יום חמישי 17 ינואר 2013 13:07
    שבת 12 ינואר 2013 19:14
    מנחה דיון

כל התגובות

  • הי רוני,

    נשמע לי עבודה קלאסית ל SSIS

    מה דעתך על SSIS package ששולח מייל רק בתנאי שערך כלשהו מ DMV לדוגמא sys.dm_os_waiting_tasks יחזיר ערך שגבוה מסף מסוים?

    אם את רוצה אפשר לקחת את זה רחוק יותר ולצרף במייל דוח מפורט יותר (שיופק רק במקרה וזוהתה בעיה ) על כל מיני טבלאות מערכת  לדוגמא אפשר להשתמש בדוחות של

    performance dashboard

    מקווה שעזרתי,

    נועם

    יום שלישי 08 ינואר 2013 16:34
  • הי רוני,

    השאלה שלך מאוד כללית. זה כמו לשאול "איך מנטרים שרת SQL Server?"...

    כמו שאת יודעת, יש המון כלי ניטור, המון מדדים, המון אפשרויות...

    גם עומס על המערכת יכול להתבטא בהרבה דרכים - CPU גבוה, IO גבוה, הרבה נעילות...

    בקיצור, נסי למקד את השאלה...

    תודה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    יום שלישי 08 ינואר 2013 21:32
    מנחה דיון
  • תודה על התגובה,

    כן, אני יודעת שזו שאלה כללית, אבל זה בדיוק העניין.

    אני לא רוצה לנטר ספציפית את הCPU או IO או נעילות.

    אני רוצה לקבל התראה כללית, כאשר השרת עמוס, כדי לגשת אליו עוד לפני שהמשתמשים מתלוננים.
    הדבר היחיד הכללי ששמתי אליו לב, הוא שכאשר ערך ה-Waiting tasks ב-Activity monitor גבוה, זה מתקשר לעומס בשרת, ותהיתי אם אפשר לקבל את הפרט הזה בצורה אחרת.

    תודה,

    רוני.

    יום רביעי 09 ינואר 2013 10:09
  • הי רוני,

    עכשיו אני מבין טוב יותר את כוונתך.

    זה בהחלט נכון שעומס על השרת יתבטא בכמות Waiting Tasks גדולה יותר, וזה בהחלט רעיון טוב לנטר את כמות ה-Waiting Tasks על מנת להתריע על עומס חריג על השרת. הדרך לעשות זאת היא באמצעות ניטור העמודה "waiting_tasks_count" ב-sys.dm_os_wait_stats. את יכולה פשוט לסכום את העמודה הזאת ולשמור את התוצאה בטבלה, נניח פעם בדקה. עכשיו את יכולה ליצור התראה (Job, Alert, Trigger) שתופעל בכל פעם שכמות ה-Waiting Tasks עולה באופן חריג מהממוצע.

    האתגר כאן הוא להגיע למצב שההתראה מופעלת כשיש בעיה אמיתית, ולא כשיש בעיה רגעית שנעלמת מיד או כשיש עליה בכמות ה-Waiting Tasks שנובעת מעונתיות (למשל, שעת השיא במשך היום). לשם כך צריך לעבוד עם ממוצעים נעים ולקחת בחשבון את המחזוריות של המערכת מבחינת עומס.

    בהצלחה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    • הוצע כתשובה על-ידי pituachMVP, Moderator יום חמישי 17 ינואר 2013 05:00
    • סומן כתשובה על-ידי Roni Vered Adar יום חמישי 17 ינואר 2013 13:07
    שבת 12 ינואר 2013 19:14
    מנחה דיון
  • הי רוני,

    אשמח אם תוכלי לעדכן את הפורום בפתרון שהחלטת ליישם.

    אם יש לך עדיין שאלות פתוחות, את מוזמנת לשתף את הפורום.

    אם קיבלת עזרה מהפורום, אודה לך אם תסמני את התגובות הרלוונטיות כתשובות.

    תודה!

    -----------------------------
    גיא גלנצר
    יועץ ומדריך SQL Server
    Madeira - SQL Server Services
    http://www.madeira.co.il

    יום רביעי 16 ינואר 2013 01:59
    מנחה דיון