Skip to main content

Performance Recommendations you DO NOT want to do in your Azure SQL DB

שלום לכולם
בתקופה האחרונה אני רואה טרנד מאד חזק של בלוגים ומאמרים שאומרים "אל תהיה טיפש.... אל תעשה את זה.." או בלוגים בסגנון של "רעיונות ממש - אבל ממש רעים..".
אז יילה גם אני ארחב על הגל הזה בהקשר של SQL Azure.
והיום ה - "אל תהיה טיפש" מספר 1:
 
יש בפורטל מסך השייך לכל בסיס נתונים ובו פעולות אפשריות על בסיס הנתונים - החל בפתיחת קריאה - עבור לשינוי יכולות וביצועים וכלה בהמלצות.
תחת הכותרת:
"SUPPORT + TROUBLESHOOTING"
יש 5 אפשרויות לחיצה
הראשונה בודקת מצב כללי של בסיס הנתונים.
האחרונה זו פתיחת קריאה ישר על בסיס הנתונים הזה - מאד נוח לשימוש וממליץ לפתוח קריאה מפה.
 

 

 
השניה מציגה סיכום קצר של נקודות 3 וארבע כלומר
 
Over view on Query insights - that is the same as query store
and Overview on Performance Recommendations.
 
זהו המסך:
 
 
 
 

המסך מחולק ל 4 חלקים - למעלה זהו החלק שאחראי על
 
 Overview on Performance Recommendations:
Create & Drop indexes & Fix Schema issues
 
כאשר בצד שמאל ההמלצות
באמצע סיכום של פעילות שמתבצעת עכשיו במידה ולחצת שאתה מוכן שיופעלו ההמלצות בצורה אוטמטית.
בצד ימין קישור למסך שמאפשר לך להחליט האם אתה מאשר שההמלצות יבוצעו אוטמטית.
 
בחלק התחתון של המסך יש סיכום של השאילות שמשפיעות ובעצם על פיהם ההמלצות נקבעות - שזהוא סוג של  אודיט מאד נוח ושימושי ומלמד מה עובר על המערכת - אבל לא עליו נדבר היום!.
 
בקיצור להלן 3 שלינקים שמסבירים היטב דברים על מסך זה:
 
 
מעולה - עכשיו כולם מומחים.
ועתה נסביר ממה צריך להיזהר כדי לא לצאת טיפשים:
 
יש לנו בסיס נתונים שעובדים עליו הרבה והוא גם מאד גדול
נכנסים אליו ומקבלים למעלה שורה סגולה עם המלצה
 
 
 
לוחצים על ההמלצה וההמלצה שלהם הייתה להוסיף דחוף אינדקס שישפר ביצועים
HIGH IMPACT
 
 
 

 
 
לוחצים על השורה - שמחים ומאושרים כדי לראות איזה אינדקס יציל לנו את המערכת:
 
 שימו לב לפרטים הרבים ואפילו - וזה חידוש ל
DISK SPACE NEEDED
 
וואו יש לנו פה 22 GB של אינדקס - די גדול.
 
אנו נמצאים בבסיס נתונים P1 - כלומר 500 GB.
שימו לב שהאינדקס יהיה 4.4% מבסיס הנתונים.

בואו נראה את הסקריפט שהם מציעים להריץ:
 
אפשר לומר שהם יודעים לכתוב SQL.
אחלה אינדקס.
 
עכשיו ל"אל תהיו טיפשים - 1"
כן אפשר לאפשר להם אוטמטית לבנות ואיפילו זה לא משפיע על המערכת ולא מסיים את המקום בלוג - הכל עובד חלק וזה יפה מאד.
אולם למה ??? למה הם לא הוסיפו
WITH (DATA_COMPRESSION =  <option>) 
דבר שהיה חוסך מספר לא מבוטל של GB.
 
לא מבין מדוע - אבל ההמלצה היא לא להדליק את האוטמציה אלא להשתמש בתבונה בהמלצות שלה
 
יום נפלא.
פיני



Comments

Popular posts from this blog

Extended Events in SQL Azure

Hi Everybody   Today an English post about 'Extended Events in SQL Azure', some of you shorten the name to 'EE' and some to 'XEvent'. I Love EE so this is how I will call it in this post.   This feature was introduce in SQL Server 2008 and its should help collecting DATA about what is running in the Server.   More Details about this SQL Server feature can be found in this Link: https://msdn.microsoft.com/library/bb630282.aspx?f=255&MSPPError=-2147217396   There are a few differences between EE in SQL Azure and regular SQL Server: In SQL Server versions the EE are on the Server level and therefore you create sessions on Server. In SQL Azure the server is a virtual entity - so the EE is in DB level and you create the session on DataBase. In SQL Server versions the EE can write to files on the server. SQL Azure does not have drives for files (SQL Azure is PAAS.....:-)). There is an option to write to blob storage, for this we need t...

על בעיות של ניהול פיתוח לענן

על ניהול סביבת פיתוח מול הענן:   הבעיה המרכזית בניהול פיתוח לענן שייכת לתחום הבדיקות  - שום ענן מקומי ושם אימולטור אינו מדמה במאה אחוזים את מה שקורה בענן עצמו. בכל רכיבי הבדיקות, על בעיה זו ניתן להתגבר בשיטת עבודה טובה והקמת מערכת בדיקות בענן עצמו. על ניהול גרסאות מול הענן:    במידה ואתם עובדים מול לקוחות רגילים ומול לקוחות הרוצים מוצרים בענן  - מהי הדרך הטובה ביותר לנהל את הפיתוח כך שאפשר יהיה לתחזק את שתי המערכות ואת שתי סביבות הבדיקות? אפשר לומר כי מטרת מנהל הפיתוח היא להקים סביבת פיתוח אחת - אם הדבר לא אפשרי צריך למצוא את הפתרון לסינכרון 2 הסביבות. Check List -   למנהל המבולבל - מה הצוות צריך לבצע לפני העלאה לענן: על הפרוייקט להיות מקומפל בסביבת VS2010 - רצוי 64 Bits ולא 32. יש להריץ בענן מקומי (אימולטור) ולראות שהכול עובד כהלכה במידה ואתה משתמש ב Registery או ב Event Log עליך ליצור קובץ StartUp command שבעצם ירוץ בעליית ה Role וייצור את מה שצריך במחשב המיועד לך בענן. יש ליצור חבילה להעלאה - רצוי לשמור חבילה זו עם מספר ותיאור כללי. יש להעלות ...

ועוד קצת על ניהול פיתוח לענן

היום עקב תקלה קטנה מול מיקרוסופט בוצע disable לחשבון. הדבר גרם לאתר לא לעבוד וכמובן 3 רולים נוטרלו. כשחזרו לחיים נדרשנו לעשות מחדש deploy ל 3 הרולים. (רוצים הסבר קטן לעבודה על הענן? ובכן תמצית הדבר הוא שכשאנו עוקפים נהלים שאנו יצרנו בשרתים שלנו מיקרוסופט - לא מרשים לעקוף וכך הכל חייב להתנהל לפי הספר... מה שתעלה לענן זה מה שירוץ ואם תשנה - השינויים יימחקו...) הבעיה החלה כאשר הסתבר שלא כל קבצי ה deploy נשמרו על מכונת הגירסה וכי אחד הקבצים שודרג לגירסא חדשה שטרם עלתה לענן.... הדבר גזל 4 שעות בנסיון להחזיר את הגירסה... מסקנתי היא כי חייב להיות נוהל שמירת קבצי deploy מיד אחרי העלתם לענן - ובכך לשמור גיבוי לעת צרה - נכון - אל תצעקו עליי - בוצע לייבל ב TFS - ואפשר למשוך ולקמפל - אבל תראו לי עובד אחד שעשה את זה תוך חמש דקות....? יש לציין לטובה את ה SQL Azure - שלו - לא קרה כלום כל העת... כל הכבוד ל SQL... ובנימה יותצר רצינית - אל תשכחו לגבות כל מה שעולה ... - במיוחד אצלך . אגב בענן עצמו - זה כבר יגובה אל דאגה... ערב טוב