מבוא ל- Real Application Testing - ilDBA Portal

מבוא ל- Real Application Testing

23/07/2014 | פורסם על ידי

הפעם רציתי לסקור feature שלם שנקרא RAT (או בשמו המלא Real Application Testing). ה- feature הזה הוא database option של Oracle Enterprise Edition והוא לא חדש בכלל. הוא הוצג ב- 11gR1 וגם נמצא בשימוש לא מועט בעולם. משום מה, אצלנו בארץ לא יוצא לי להיתקל בו יותר מדי, וחבל.

באורקל יש כלים שונים המאפשרים ל- DBA לבצע משימות מורכבות מאד בצורה קלה ויעילה. RAT הוא אחד מהכלים האלה, כשמטרתו היא לבצע וולידציה של כל שינוי שהוא על בסיס הנתונים. יש לו אינטגרציה מאד טובה ונוחה עם ה- OEM (Grid Control 11g/Cloud Control 12c) , אבל ניתן להשתמש בו גם בצורה עצמאית ישירות מול ה- database בעזרת packages יעודיים.

הקונספט

במהלך השנים הגדרתי ושדרגתי לא מעט מערכות. משדרוגים של ממש (למשל מ- 9i ל- 10g או 11g), דרך הסבה של מערכת ההפעלה (למשל אורקל על HP-UX ל- Linux), ועד שינויים בפרמטרים ובאופטימייזר (הגדרות זיכרון, מעבר מ- Rule Based optimizer ל- Cost Based Optimizer ועוד). במקרים רבים, לא משנה כמה בדקנו את המערכת אחרי ההסבה או השינוי, היו תקלות ובעיות לא צפויות. בשדרוגים בדרך כלל בעיות אלו התבטאו בביצועים ירודים (בעקבות שינויים באופטימייזר למשל, או אפילו שינויים בניהול הזיכרון של אורקל בין הגרסאות השונות), ולעיתים אפילו בבאגים של אורקל (למשל שאילתה שעבדה מצוין בעבר פתאום עפה עם ORA-600). וגם בשינויים קטנים יותר כגון מעבר מ- 32-bit ל- 64-bit, שינויי זיכרון או אופטימייזר, היו בעיות ביצועים, זיכרון או דברים לא צפויים אחרים.

כמובן, שברוב המקרים (כפי שכבר ציינתי), ניסינו כמה שיכולנו לבצע בדיקות. בבדיקות מהסוג הזה מרימים DB חדש עם ההגדרות החדשות (שינויי פרמטרים, שדרוג וכו') ומריצים עליו את האפליקציה והשאילתות. אבל עם השיטה הזאת יש בעיות:

  1. אי אפשר באמת להריץ את כל התהליכים של האפליקציה. במערכות מורכבות אנחנו לפעמים לא יודעים מה רץ, אנחנו מכירים תהליכים מרכזיים או תהליכים או משתמשים שעושים לנו בעיות ב- DB, אבל יכולים לרוץ כל מיני דוחות או תהליכים אחרים שאנחנו בכלל לא מכירים ולא יודעים לשחזר.
  2. אי אפשר להעמיס את סביבת הטסט כמו ה- production ולא משנה כמה ננסה.

RAT בא לפתור את הבעיה הזאת בדיוק. ל- feature הזה יש יכולת להריץ על סביבת טסט את מה שרץ ב- production ולנתר שינויים ובעיות. הוא עושה את זה בעזרת שני כלים (שבעצם הם הרכיבים שמרכיבים את RAT).

(SQL Performance Analyzer (SPA

ה- SPA הוא הכלי שבעזרתו אנחנו עושים unit test למערכת. ה- SPA יריץ את כל השאילתות שרצו על סביבת ה- production בצורה סדרתית וישווה execution plans, סטטיסטיקות וכו'. בעזרת ה- SPA נוכל לזהות שאילתות שמתנהגות שונה מכל מיני בחינות לאחר השדרוג או השינוי, למשל:

– שאילתות שניגשות ליותר או פחות מידע ב- buffer cache
– שאילתות שמבצעות יותר או פחות I/O
– כמות רשומות שחוזרת מהשאילתה
– זמני ריצה

בעזרת ה- SPA נוכל לזהות בעיות בשאילתות ספציפיות, כמו פרמטרים או בעיות אופטימייזר שיכולים להשפיע על ביצועי השאילתה, ואפילו בעיות של wrong results.

Database Replay

הכלי השני הוא המשלים של ה- SPA והוא נקרא database replay. המהות שלו היא להריץ את העומס שרץ על סביבת ה- production ולזהות בעיות של concurrency ו- scalability. Database Replay ינסה להריץ את העומס כפי שהוא היה בדיוק ב- production ולהשוות את המידע מה- AWR בין שתי הסביבות. בעזרתו נוכל לזהות שינויי התנהגות של הסביבה כולה כגון:

  • עומס על ה- SGA
  • ניהול הזיכרון של אורקל
  • ענייני נעילות

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

מתי נשתמש ב- RAT

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

בעזרת RAT אנחנו יכולים להיות רגועים הרבה יותר. אנחנו יכולים להריץ את העומס האמיתי של סביבת ה- production ולראות איך בסיס הנתונים מתנהג אחרי השינוי מכל ההיבטים, מה- SQL הבודד ועד התנהגות המערכת כולה.

גרסאות נתמכות

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

RAT הוצג לראשונה עם 11gR1 ומגרסא זו הוא קיים בתוך ה- DB. בנוסף לזה, הוא קיים גם ב- 9.2.0.8 ו- 10.2.0.4 ומעלה. בגרסאות אחרות של 9i ו- 10g יש חלק מהיכולות של המוצר שניתן להתקין כ- patch.

מטריצת הפעולות שאפשר לעשות בגרסאות השונות קצת מורכבת, והיא מתוארת בצורה מפורטת עם כל המידע הרלוונטי ב- MOS במאמר מספר 560977.1.

מקווה שנהניתם,
ניתן לפנות אלי תמיד במייל liron@brillix.co.il

לירון אמיצי – סמנכ"ל שירותי מומחה, בריליקס

The following two tabs change content below.
ירון אמיצי הוא סמנכ"ל שירותי מומחה בחברת בריליקס ו-DBA בכיר בעל נסיון של למעלה מ- 15 שנים. ללירון תואר Oracle Ace ומתמחה בנושאי ביצועים, תשתיות, פתרונות זמינות גבוהה, גיבויים ושחזורים. ללירון יש גם בלוג עצמאי בכתובת: https://amitzil.wordpress.com

תגובה אחת ל- “מבוא ל- Real Application Testing”

[…] הייתי רוצה לספר לכם קצת על מה שהיה בסדנה וקצת על היכולות של RAT (מעבר להקדמה שפרסמתי במאמר הקודם) […]

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

איך לבצע Sizing DB ב-Datacenter בארגונך בקלות (חלק א')

כחלק מהטמעות מוצרי IT תשתיתיים (כגון FWDB, מוצרי גיבוי, חוות Storage, מוצרי שו"ב ועוד…) בארגוני, אנו נדרשים המון פעמים לענות על שאלות לספקים כגון : מה גודל הכולל של ה –  Datacenter  ? מה חלוקת גודל ה [...]
מבוא

מבוא לבעיות ביצועים באורקל

The following two tabs change content below.BioLatest Posts עודד רז עודד רז, מנכ"ל חברת בריליקס ומייסד אתר זה. עודד הוא Oracle ACE Director ואחד מה-DBA-ים הבכירים ביותר בישראל, עם מעל 15 שנות ניסיון כ-DBA תשתיתי ואפליקטיבי. לעודד [...]

ה-SQL Performance Analyzer ב-Real Application Testing

בפוסט הקודם הזכרתי בקצרה את ה-SQL Performance Analyzer, בפוסט הזה אני אציג את ה-SPA, יתרונות וחסרונות של המוצר ואיך כדאי להשתמש [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: