
הטקסט המלא של הדקות הראשונות בהרצאה «JMeter Timers» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בשיעורים האחרונים למדנו להכין סקריפט ב-J-Meter שידמה פעולה של משתמש אמיתי על אתר מסוים או מול אתר מסוים. אמרנו שיש לנו את ה-Trade שהיא קבוצה של יוזרים שאנחנו יכולים לסמלץ כמות מסוימת של משתמשים שתהיה בתוכה ועל ידי כך בעצם לדמות עומס על אותו צד שרת שאותו אנחנו רוצים לבדוק.
J-Meter הוא סוג של בדיקה בעצם על ידי פעולות מקליינט סייד או מהצד הלקוח, בודק את הפעילות של השרת, של הסרבר סייד. בודקי תוכנה בדרך כלל בודקים פונקציונליות של צד הלקוח.
J-Meeter במובן הזה בודק את צד השרת או את התנהגות השרת מול עומסים של משתמשים. על מנת להגביר ולעבות את הידע שלנו ב-J-Meeter נלמד היום על אלמנט חשוב שנקרא טיימר.
מה זה טיימר? טיימר זה מפסק או משעה של פעילות מבחינת ה-J-Meter. אז אנחנו יכולים להסתכל ולראות שיש לנו פה סוגים שונים של טיימרים, מפסקים, משעים של J-Meter, שאנחנו יכולים לשלב בתוך ה-Transaction Control שלנו, בתוך הקבוצת טרדים שלנו, או ישירות מול הטרד עצמו.
אנחנו יכולים להפעיל אותו. אם יש לנו כמה טרדים בתוך Group, אז אנחנו יכולים להוסיף טיימר שישפיע על שני ריקווסטים שנמצאים לתוכו. אבל בואו נסביר קודם מהו בעצם הטיימר, למה הצורך שלו הוא כל כך חשוב.
הטיימר בעצם נועד על מנת לרסן את ה-J-Meeter. ה-J-Meeter, מבחינת העבודה שלו, פועל בצורה מהירה מאוד, כמו שטף של חשמל או שטף של קוד.
הוא רץ בין טרד לטרד במהלך הסקריפט שלנו, ומבצע אותם במהירות תשומה ועל ידי כך הוא מפעיל בעצם את השרת. הוא מפעיל את השרת לפעול, הוא שולח לו ריקווסטים והשרת מגיב בריספונס.
ההתנהגות של ה-J-Meeter היא התנהגות של רובוט, התנהגות של מכונה, זאת אומרת שליחה מסיבית של ריקווסטים בזמן קצר מאוד לעבר השרת.
למה יש לנו בעיה עם זה? קודם כל יכול להיגרם נזק לצד השרת. דמיה של שליחה סימולטנית בו זמנית של עשרות ריקווסטים או מאות או אלפי ריקווסטים עלולה לגרום לשרת לא להצליח להתגבר על העומס ולייצר תקלות בעיות או אפילו קריסה של השרת אנחנו לא רוצים שזה יקרה סיבה נוספת שאנחנו נשתמש ב-J-Meter זה לאפשר הפוגה הגיונית או הפוגה רציונלית אנושית בין ריקווסט לריקווסט זאת
אומרת אנחנו נרצה לייצר מצד אחד עומס סביר על השרת ולא לגרום לקריסה שלו, אלא אם כן אנחנו נרצה לבדוק סטרס טסטינג או בדיקת עומס קיצוני על השרת, אבל בדרך כלל נרצה לבדוק ביצועים או עומסים בצורה סבירה על השרת.
הסיבה השלישית היא שאנחנו נרצה לדמות התנהגות באמת של אנשים אמיתיים ולא של מכונה ששולחת ריקווסטים בצורה מסיבית. ועל ידי כך בעצם ה-J-Meeter, אנשים שהמציאו את הג'יימיטר או כתבו את הכלי הזה נתנו לנו את היכולת להוסיף בעצם את הטיימר.
אז יש לנו פה כל מיני סוגים של טיימרים שתכף נדבר עליהם. יש לנו עוד יכולת, אם אני מדבר על הטרד שלי שנמצא פה בתוך הקונטרולר, אז אני יכול להוסיף פה think time to children.
מה זה אומר? זה אומר שהוא הוסיף לנו איזשהו אלמנט, איזשהו טרד, שבעצם משה את הפעילות של ההפעלה הזאת של ה-request שנמצא בתוך get home page, הוא משה אותה בצורה כזאתי שאנחנו יכולים לשלוט על הרצף של הפעולות.
אז יש לנו פה הגדרה של מיליסקנד רנדום דיליי וקונסטנט דיליי. על הקונסטנט דיליי של ההפוגה הזאת תצטרף איזשהו רנדום דיליי שבעצם ייצור לנו זמן פעולה אנושי.
זאת אומרת, אנחנו רואים את הדף שלנו, בואו שנייה נלך לדף שלנו, יש לנו את ה-new tools, אז אני לוחץ sign-on, מחכה כמה שניות, מכניס את השם ואת הפספורט, אתם רואים, זה לוקח לי כמה שניות עד שאני מבצע את הפעולות האלה, זה לא קורה מיידי, ולכן אני רוצה שגם ה-jaymeet יתנהג פחות או יותר בצורה הזאתי.
אז לפני שהוא מבצע את ה-sign-on שיבצע איזשהו טיימינג, איזשהו טיימר, איזשהו הפסקה.
איזשהו אשייה, אז אני עושה פה enable ופה שתלתי think time וכאן אני ארצה בין ה-requests אסיין-און לסאב-מיט אני ארצה לשתול עוד טיימר אז יש לי פה אסיין-און אני אעשה add פה אני אעשה טיימר אז איזה טיימר אני אוכל להוסיף קודם כל חשוב לזכור שהטיימר מתבצע לפני ה-request זאת אומרת כל טיימר
שאני מוסיף ל-request עצמו הוא יבוצע לפני ה-request שאליו הוא שייך זאת אומרת דוגמא אם אני אוסיף לרקווסט הזה של סיינון קונסטנט טיימר אז של 30 מילי שנייה זה שליש שנייה בוא נגיד נעשה אותו קצת יותר אנחנו יכולים לשחק עם זה נגיד שאנחנו נותנים לו שנייה אז ההשעיה היא תהיה לפני הפעולה של הטרד עצמו לפני הפעולה הזאת של שליחת הרקווסט של מרקורי סיינון זה פרט
חשוב שצריך להגיד על הטיימר אז אז יש לנו פה השהיה שהיא בעצם קבועה קונסטנט ואנחנו רוצים לפעמים להשתמש גם בהשהיה שהיא לא קבועה זאת אומרת לא כל הזמן את אותו ההשהיה לא כל הזמן את אותם 300 מיליסקנד או שנייה שלמה אז יש לנו גם גאוסיאן מה זה אומר גאוסיאן גאוסיאן זה אומר שאני אוסיף פה לריקווסט הזה טיימר אבל הפעם אני אוסיף גאוסיאן גאוסיאן זה טיימר נפוץ שהוא בעצם איזשהו רצף שהוא משתנה
בין פעולה לפעולה בגלל שיש לו את המשתנה של deviation יש לו את ההשתנות אז יש לו constant ו-deviation זאת אומרת יש לו איזשהו שינוי בזמן שהוא יחכה בין כל פעם ופעם שהוא ירוץ זאת אומרת אם אני אפעיל את ה-thread שלי בלופ נגיד שאני רוצה להריץ אותו 10 פעמים רק את שני ה-requests האלה ואני
אני ארצה לבצע number of thread, אני ארצה לבצע בוא נגיד 4, אני אתן לו איזה כמה שניות ramp-up, זאת אומרת כמה שניות להגיע ל-4 user-in בו זמנית שהם מבצעים sign-on, אז בעצם הגאוסיאן רנדום כל פעם שהוא ייכנס הוא יחכה זמן אחר בגלל שיש לו deviation.
אני יכול להגדיל את ה-deviation, יכול להגדיל את הטיימינג וככה אני יכול בעצם ליצור איזשהו עומס. זאת אומרת, לפי הטרד הזה, יהיו לי ארבע משתמשים בו זמנית שכל הזמן מבצעים במשך עשר פעמים, עשר לופים, ריצה על השרת ומבצעים גישה להום-פייג' וסיין-און.
בואו נקטין קצת את הכמות של המשתמשים הקונקרנט, ניתן להם שלוש שניות, כל אחד בשנייה, ואת זה נעשה חמש, רק חמש פעולות שיחזרו כל הזמן על הלופ הזה ואז זה יפסיק, זאת אומרת הלופ של המשתמשים.
בואו נריץ ונראה מה קורה חשוב לראות כאן יש