
הטקסט המלא של הדקות הראשונות בהרצאה «הרצאה 4 - קורס Load Runner הראשון» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום, אנחנו מתחילים הרצאה רביעית בנושא בדיקות המוסעים ללואוד ראנר. רק נבדוק שהקובץ מתחיל לגדול, זאת ההקלטה מתחילה כמו שצריך, ואנחנו נרוץ.
אוקיי, מורידים את הסקייפ, כרגיל, כדי שיהיו לנו פחות הפרעות באמצע. למעשה, ההרצאה הרביעית מדברת על הסצנריו, היא מדברת על התסריט. אנחנו למדנו התקנות, למדנו טסט-פלנד וכרגע אנחנו דירגנו על השלב של הכנת סקריפטים כי הכנת סקריפטים מכסים בקורס נפרד, בהרצאות נפרדות וישר אנחנו הולכים לשלב הרביעי של הכנת התסריטים.
אנחנו נוכל להבדיל בין סוגי תסריטים, יש שני סוגים מרכזיים של התסריטים בבדיקות העומסים. נוכל לקשר בסוף ההרצאה בין מטרה כמותית שדיברנו עליה בשיעור שני לתסריט, וגם ניגש לכלי עצמו, נשחק קצת עם הכלי כדי לחוש את התחושות הלואוד ראנר האמיתי, וזהו, בואו נתחיל.
כמו שאמרתי, אנחנו בשלב השלישי, הוא לא שלב הרביעי, אמרתי שלב רביעי כי Plan Low Test מתחלק לשני השלבים, אנחנו בשלב השלישי של הכנת תסריט.
והיום אנחנו נבין מה זה תסריט, איך הוא בנוי ולמה הוא חשוב לנו. כמובן יש שלב רביעי של Execution ושלב החמישי של ניתוח, על זה אני כבר לא מדבר, אתם כבר מספיק זוכרים את זה ואני כבר לא רוצה להציג.
מה זה סצנריו? סצנריו זה קובץ, קובץ עם סיומת של SCR ולואוד ראנר שמגדיר מה לעשות עם הווירצ'ואל יוזר, מה לעשות עם הקריפט שהכנו.
הוא גם מגדיר כמה ווירצ'ואל יוזר יש לנו וגם מגדיר מה המטרה. הוא גם אומר על איזה מחשב להריץ את הבדיקות שלנו, האם על המחשב הנוכחי או על מחשב מרוחק וגם כמובן באיזה תנאים להריץ את הסקריט שלנו, מתי להעלות כמות היוזרים, מתי להוריד כמות היוזרים, מתי לסיים, מתי להתחיל, כל הדברים האלה הם מכוסים בסצנריו, אוקיי?
כמובן שאנחנו גם אוספים משאבים של המחשב הנוכחי, מחשבים של המחשבים הרוחקים, שרתים, וב סרווירים, וכל זה מוגדר בסצנריו.
כלי שאחראי על הסצנריו בלואוד ראנר, הוא מגיע עם ההתקנה והוא נקרא קונטרולר, הוא זה ששולט בכל הארצות, הוא הכלי המרכזי שמאוד חשוב להבין אותו. ויש לו שני תפקידים, שלב ראשון זה לתכנן את כל הדברים שיש בסצנריו, ושלב שני זה גם לעשות את האקזקיושן, את הארצה עצמה גם נעשית בתוך הקונטרולר.
קונטרולר מסוגל להריץ בו זמנית כמה virtual user, אנחנו יכולים להגיד מתי להתחיל, הכלי עצמו בעצם אומר לנו באיזה שלב נמצא virtual user. האם הוא בשלב התחלתי של ההכנה, האם הוא בשלב הריצה, האם הוא פתאום עצר או עצר לרקע ויחזור בהמשך.
בעזרת קונטרולר אפשר לדעת באיזה מצב נמצא כל virtual user. אם יש הודעת שגיאה שמגיעה מvirtual user או virtual user נכשל מאיזושהי סיבה, אנחנו רואים את זה בקונטרולר.
את כל הניטור של המערכת רואים בקונטרולר. ואחרי שסיימנו את ההרצאה, קונטרולר אוסף את כל המידע עליו מכל ה-Load Runner Generators, מכל ה-Hosts שהפציצו, עשו לנו את העומס, ומעביר את זה ל-Analyzer, לכלי הנוסף, שעליו נדבר בהמשך סדרת ההרצאות שלנו.
בואו נראה סוף סוף מה זה קונטרולר. בואו בזמן הזה נבדוק שהכל בסדר, שהכל רץ, ונלך למקום הקבוע שלנו, התקנת לואוד ראנר. יש שני דרכים להגיע לקונטרולר. דרך אחת, דרך הפורטל שנקרא לואוד ראנר, שבתוכו יש את כל הכלים.
בואו נראה אותו. בזמן שהוא עולה, אני אראה לכם גם את הדרך הנוספת להגיע ללואוד ראנר, היא מתוך אפליקיישן קונטרולר. שני דרכים, כל אחד מהם זה.
אז בואו נלך מפה. אני התקנתי גרסה 9 במקום 11 שהייתה מותקנת לפני זה, מסיבות אישיות שלי אז אל תבהלו אותו דבר אין שום דבר מיוחד runloads test זאת הקטגוריה שאנחנו מעלים הנה זה הloadrunner controller יש בתוכו אופציה להגדיר את הסוג של הסצנריו שלנו את הגול שלנו בחלק הזה אתם רואים את כל הסקריפטים בהמשך אנחנו נראה מה אנחנו, או איך אנחנו
משתמשים בכל הדברים כאן. בואו נחזור למצגת. בואו נזכר מה זה מטרת בדיקות העומסים ומהו סנאריו גול. בואו נניח שיש לנו מטרה כמותית שמופיעה בתד שמאל וקובעה בתד שמאל, שאומרת, אנחנו רוצים לבצע טרנזקציית חיפוש search, כאשר הזמן תגובה צריך להיות 8 שניות, הוא יכול להיות גם פחות וזה בסדר, תוך כדי זמן עבודה רגיל במהלך היום,
כאשר 2,000 יוזרים עובדים בו זמנית במערכת, ואפשר שהזמן תגובה יהיה 12 שניות עבור אותה טרנזקציית חיפוש, במהלך זמן עומס, שעת עומס, מה זה שעת עומס?
5,000 משתמשים נמצאים במערכת ועובדים על המערכת שלה. איך כל הדבר הזה יתורגם לקונטרולר? בשלב הראשון רוצים לבחור את הסקריפט בשם search, אוקיי?
אנחנו צריכים להגדיר שאלפיים יוזרים יעבדו על הפעולת search, אוקיי? שזו האופציה הראשונה, ואנחנו מצפים שבמהלך הריצה הזמן הגובה יהיה שמונה שניות, ובנוסף יהיו לנו גם עוד שלושת אלפים יוזרים נוספים, כדי להגיע ל-5,000 קונקרנט יוזרס שיעבדו בזמן
העומס, והזמן התגובה יהיה 12 שניות. זה למעשה תרגום מהמטרה כמותית לסצנריו, ועוד דוגמה שיכולה להיות זה פעולת אפדייט עבור 1,000 יוזרים תתחיל להתבצע.
אז מה אנחנו מגדירים? בשלב ראשון אנחנו בוחרים את ה-Script Update, ואנחנו משתמשים באלף קונקרנט יוזר בשביל הפעולה הזאת, אוקיי?
בואו נחזור חזרה לכלי ונדבר על שני סוגי סצנריו. יש סצנריו שנקרא Manual וסצנריו גול אוריינטד סצנריו.
מה זה אומר Manual? אנחנו יכולים לבחור אחד-אחד את הסקריפט שלנו ולהגדיר לו כמות היוזרים, כמות הווירצ'ואל יוזר שירוצו על הסקריפט הזה. כמובן גם נוכל להגיד על איזה הוסט להרים.
לעומת זאת יש Goal Oriented Scenario כאשר פחות יש לנו שליטה על בחירת קריפטים על בחירת virtual user per script אנחנו רק מדברים על Goal אנחנו אומרים המטרה שלנו שהמערכת תעמוד ב-5000 קונקרנט יוזר ורק בוחרים כמות הקריפטים ואז LoadRunner בעצמו מחליט כמה יוזרים ירוצו
פר סקריפט מסוים ואיך הם יעלו. למעשה Manual הרבה יותר נוח לנו להבין ויש לו הרבה יתרונות. כאשר אנחנו מדברים על מערכות גדולות של 5,000 concurrent users, אז מאוד קשה לתכנן סקריפט כזה, סצנריו כזה, שאנחנו צריכים לבחור
100 יוזרים פעולה מסוימת, 200 נוספים לפעולה נוספת, בגלל זה אנחנו נבחר את ה-goal-oriented סצנריו. יש גם אופציה נוספת של ה-checkbox כאן, הוא מאפשר לנו להשתמש ב-percentage mode, זאת אומרת, לא רק להגיד שאנחנו רוצים מיוזרים לסקריפטים מסוימים, אנחנו רק יכולים להגיד 20%,
30% ומערכת כבר תעשה את החישובים בעצמה. בואו נראה איך כל הדברים האלה מתבצעים. נגיד יש לנו שני סקריפטים, אחד נקרא לוגין והשני Flight Order, ואנחנו בוחרים במניו על הסצנריו.
אני מוסיף את הראשון ואני כמובן מוסיף את השני. ופותח, לוקח קצת זמן לעלות לקונטרולר, הנה הוא עלה, קודם כל אני תמיד אתן שם לסצנריו שלי, נגיד אנחנו מדברים על 100 קון קארן יוזר, בואו ניתן לזה שם יותר משמעותי, אני חושב שזה מספיק, מספיק לשלב הזה,
יש לי סקריפט אחד, סקריפט שני, החלוקה דפולטיבית היא 50 אחוז ו-50 אחוז, אז בואו נעשה קצת אחרת, אנחנו יכולים להגיד, אנחנו מאמינים ש-70% כרגע עושים את הלוגין, ורק 30% מזמינים באמת את הטיסה, אוקיי?
בואו נראה מה יש לנו פה עוד. יש לנו אופציה לבחור Load Generator, אוקיי? החלוקה הדיפולטיבית זה להגיד, אם יש לי עכשיו חמישה Load Generator, תחלק שווה בשווה בין כל ה-Load Generator.
אבל זה לא המצב שלנו, המצב שלנו מניון. אני אבחר את ה-Load Generator שאני רוצה, אוקיי? ומה ה-load generator שאני מוסיף? זה שנמצא ב-localOS, אוקיי?
הנה, הוא מופיע כאן. אז בואו ננסה להשתמש ב-localOS, ואני מאוד מקווה שהוא יצליח להתחבר. בואו נבדוק את לשונית run, יש לנו גם לשונית run, ששם התבצעת הריצה, אנחנו נגיע לשם גם כן.
ובואו נעשה עוד משהו, נבדוק שבאמת localOS עובד. וכאן אני משאיר את האופציה הדיפוליטיבית שהיא או-load בו-ג'נרטור, זאת אומרת שיש לי רק כרגע אג'נט אחד שהורד את העמדה שלי ואין לי משהו אחר להראות לכם שהורד את העמדה אחרת.
כאן אתם רואים את המדרגות של העלייה, בואו נראה. מעלה עשרה וירצ'ואל יוזרס, אוקיי? כל שתיים, כל חמש עשרה שניות. זאת אומרת, אתם רואים, הוא יעלה שתיים, אחרי זה עוד שתיים, עוד שתיים, עוד שתיים ועוד שתיים, בסדר?
אז זה הגול שלנו. אנחנו אמרנו 100 קונקרנט יוזרס, נכון? זאת אומרת שאנחנו צריכים להחליף את כמות היוזרים שאנחנו באמת מעלים וזה נעשה במקום אחר עוד מעט אנחנו נגיע לזה בואו נראה מה יקרה אם אנחנו נרוץ עם עשרה יוזרים בסדר אני עושה סטארט אתם רואים יש פה חלוקה של שש ושתיים שמונה
שתיים כרגע ממתינים לעלות כל חמש עשרה שניות בואו תגבו אחרי השעון הנה הם נכשלו, אנחנו לא נחקור למה, כי יכול להיות שהסקריפט לא בנוי כמו שצריך. את כל הדברים האלה אנחנו נחקור אחר כך, אבל זה למעשה הרעיון של הרצאה.
כולם נכשלים כרגע, בסדר? בואו נעצור את הרצאה. בסופו של דבר אתם יכולים לראות מספר גרפים, מה קרה להרצאה, לנתח את התוצאות, ורק בשביל סיבה הם נכשלו ב-Virtual User Transaction, ב-Innie Transaction, בואו נראה מה הערעור אולי.
תן לנו קצת מושג מה קרה, אם נפעל to connect, בסדר גמור, אנחנו לא ננתח את זה כרגע, אבל זה למעשה דוגמה איך ההרצאה הזאת מתבצעת, בסדר?
בואו ניקח עוד, דוגמה לסנאריו, אני בונה ניוסר, אני לא שומר על זה, בואו לא נשתמש באופצייט פרסנטיץ', אלא באופן ידני נוכל להוסיף את הווירצ'ל יוזר, בעצמנו אוקיי פעם שני סקריפטים ראשון וסקריפט שני זאת הלשונית של הלואוד
ג'נרטור בואו נראה כמה לואוד ג'נרטור יש לנו כרגע הנה יש לנו אחד בוא נעשה לו קונקט דיאלוג הלוס שלנו הוא מוכן יכול להיות שזאת הסיבה דרך אגב שמקודם ההרצאה שלנו נכשלה כי פשוט לא עשינו קונקט ללואוד ג'נרטור אוקיי בואו נמשיך הלאה כרגע יש לנו 20 וירצ'ואל יוזר זאת החלוקה עשרה עבור סקריפט ראשון
ועוד עשרה עבור סקריפט שני סך הכל 20 וירצ'ל יוזר ובואו נריב את זה. בסדר גמור ההודעה לגבי הריזל בואו נראה שניים עלו הם עדיין נכשלים כנראה בעיה נוספת