אילו מדדים בודקים בבדיקת עומסים? המדריך המלא להבנת ביצועי המערכת
בדיקת עומסים (Load Testing) היא אחת הבדיקות החשובות בתהליך הבטחת האיכות של מערכות תוכנה. המטרה שלה היא לבדוק כיצד מערכת מתנהגת כאשר משתמשים רבים מבצעים פעולות במקביל, האם זמני התגובה נשארים תקינים, האם השרתים מצליחים להתמודד עם כמות הבקשות והאם המשתמשים מקבלים שירות יציב ורציף.
אבל איך יודעים אם מערכת באמת עומדת בעומס? האם מספיק לבדוק כמה שניות לוקח לעמוד להיטען? האם צריך למדוד את צריכת המעבד? מה המשמעות של Throughput, מה ההבדל בין Average Response Time ל-P95 ואיך מזהים נקודת כשל?
כדי להעריך נכון את ביצועי המערכת, צריך להכיר מספר מדדים מרכזיים, להבין מה כל אחד מהם מספר לנו ולבחון אותם יחד. במדריך הזה נסקור את המדדים החשובים ביותר בבדיקות עומסים, נסביר כיצד מפרשים אותם ונראה איך בונים תמונת ביצועים אמיתית שאפשר להסיק ממנה מסקנות.
- מהם המדדים המרכזיים בבדיקת עומסים.
- איך מודדים זמני תגובה ואחוזוני ביצועים.
- מה ההבדל בין Throughput ל-Requests Per Second.
- איך בודקים CPU, זיכרון, רשת ומסד נתונים.
- איך מזהים שגיאות, צווארי בקבוק ונקודות כשל.
- איך מנתחים תוצאות ומחליטים אם המערכת עומדת בדרישות.
1. זמן תגובה – Response Time
זמן תגובה הוא אחד המדדים החשובים ביותר בבדיקת עומסים. הוא מודד כמה זמן חולף מהרגע שבו נשלחת בקשה למערכת ועד שמתקבלת התשובה הרלוונטית.
לדוגמה, משתמש נכנס לאתר, מקליד פרטי התחברות ולוחץ על כפתור הכניסה. זמן התגובה הוא הזמן שעובר מרגע שליחת בקשת ההתחברות ועד לקבלת התשובה מהשרת.
במערכת עמוסה, זמן התגובה עלול לעלות בגלל עומס על השרת, שאילתות איטיות במסד הנתונים, בעיות תקשורת או מחסור במשאבי מחשוב.
סוגי מדידות של זמן תגובה
- Average Response Time: זמן התגובה הממוצע של כלל הבקשות שנמדדו.
- Minimum Response Time: זמן התגובה הקצר ביותר שנמדד.
- Maximum Response Time: זמן התגובה הארוך ביותר שנמדד.
- Median Response Time: זמן התגובה החציוני, שבו 50% מהבקשות הסתיימו בזמן זה או מהר יותר.
- P90: 90% מהבקשות הסתיימו בזמן זה או מהר יותר.
- P95: 95% מהבקשות הסתיימו בזמן זה או מהר יותר.
- P99: 99% מהבקשות הסתיימו בזמן זה או מהר יותר.
חשוב להבין: ממוצע לבדו עלול להטעות. נניח שמרבית המשתמשים מקבלים תגובה בתוך שנייה אחת, אך חלק קטן מהם ממתין 12 שניות. הממוצע עשוי להיראות סביר, למרות שקיימת בעיה אמיתית בחוויית המשתמש.
לכן בבדיקות עומסים מקצועיות נהוג להתייחס במיוחד לאחוזונים P90, P95 ו-P99, שמאפשרים לזהות גם את הבקשות האיטיות יותר.
נניח שנמדדו 10,000 בקשות:
- Average Response Time: 1.2 שניות.
- P90: 1.8 שניות.
- P95: 2.4 שניות.
- P99: 5.5 שניות.
המשמעות היא ש-99% מהבקשות הסתיימו בתוך 5.5 שניות או פחות, אך קיים זנב של בקשות איטיות יותר שדורש בדיקה.
2. תפוקה – Throughput
Throughput הוא מדד שמייצג את כמות העבודה שהמערכת מצליחה לבצע בפרק זמן נתון. בבדיקות עומסים הוא משמש להערכת היכולת של המערכת לטפל בכמות גדולה של בקשות או פעולות.
לדוגמה, מערכת שמצליחה לעבד 500 בקשות בשנייה מציגה תפוקה גבוהה יותר ממערכת שמצליחה לעבד 100 בקשות בשנייה, בהנחה שמדובר באותן פעולות ובאותם תנאי מדידה.
איך מודדים Throughput?
המדידה יכולה להתבצע באמצעות מספר פרמטרים:
- Requests Per Second (RPS): מספר הבקשות שהמערכת מעבדת בשנייה.
- Transactions Per Second (TPS): מספר העסקאות העסקיות שהמערכת משלימה בשנייה.
- Pages Per Minute: מספר העמודים שהמערכת מצליחה לספק בדקה.
- Messages Per Second: מספר ההודעות שהמערכת מעבדת בשנייה.
חשוב להבחין בין בקשה טכנית לבין עסקה עסקית. לדוגמה, תהליך רכישה באתר עשוי לכלול מספר בקשות API: הוספת מוצר לעגלה, חישוב מחיר, בדיקת מלאי, ביצוע תשלום ועדכון הזמנה. לכן RPS ו-TPS אינם בהכרח אותו דבר.
במהלך הבדיקה נרצה לראות כיצד התפוקה משתנה כאשר מספר המשתמשים עולה. אם מוסיפים משתמשים אך התפוקה מפסיקה לגדול, ייתכן שהגענו למגבלה של אחד מרכיבי המערכת.
3. מספר משתמשים במקביל – Concurrent Users
מדד נוסף הוא מספר המשתמשים הפעילים במערכת בו-זמנית. הוא מאפשר להבין כיצד המערכת מתנהגת כאשר משתמשים רבים מבצעים פעולות באותו זמן.
לדוגמה, אתר מסחר אלקטרוני עשוי להתמודד בדרך כלל עם 200 משתמשים במקביל, אך בתקופת מבצעים מספר המשתמשים עשוי לעלות ל-2,000 ואף יותר.
במהלך בדיקת עומסים ניתן להגדיר תרחישים שונים:
- 100 משתמשים במקביל.
- 500 משתמשים במקביל.
- 1,000 משתמשים במקביל.
- 2,000 משתמשים במקביל.
לאחר כל שלב בודקים כיצד משתנים זמני התגובה, התפוקה, שיעור השגיאות וצריכת המשאבים.
נקודה חשובה: מספר משתמשים וירטואליים בבדיקה אינו תמיד זהה למספר המשתמשים הפעילים בו-זמנית במובן העסקי. יש להגדיר האם מדובר במשתמשים ששולחים בקשות ברציפות, משתמשים שממתינים בין פעולות או משתמשים שמחזיקים חיבור פתוח. מודל העומס צריך לשקף את התנהגות המשתמשים האמיתית.
4. שיעור שגיאות – Error Rate
אחד המדדים הקריטיים ביותר בבדיקות עומסים הוא שיעור השגיאות. מערכת יכולה להציג זמני תגובה טובים ותפוקה גבוהה, אבל אם חלק גדול מהבקשות נכשלות, היא אינה באמת עומדת בעומס.
Error Rate הוא אחוז הבקשות שנכשלו מתוך כלל הבקשות שנשלחו או עובדו, בהתאם להגדרת המדידה.
הנוסחה הבסיסית:
לדוגמה, אם נשלחו 100,000 בקשות ומתוכן 500 נכשלו, שיעור השגיאות הוא 0.5%.
אילו סוגי שגיאות בודקים?
- HTTP 500: שגיאה פנימית בשרת.
- HTTP 502: Bad Gateway – בעיה בתקשורת בין רכיבי שרתים.
- HTTP 503: Service Unavailable – השירות אינו זמין.
- HTTP 504: Gateway Timeout – רכיב ביניים לא קיבל תשובה בזמן.
- Connection Timeout: לא התקבלה תשובה במסגרת הזמן שהוגדרה.
- Connection Refused: ניסיון החיבור נדחה.
- Business Errors: שגיאות עסקיות, כמו דחיית עסקה או כשל בתהליך שמירה.
חשוב להפריד בין שגיאה טכנית לבין שגיאה עסקית. לדוגמה, בקשת תשלום שנדחתה בגלל כרטיס אשראי לא תקין אינה בהכרח כשל ביצועים. לעומת זאת, אם מערכת התשלומים אינה מצליחה להשלים עסקאות בגלל עומס, מדובר בבעיה משמעותית.
לכן לא מספיק לבדוק רק קודי HTTP. יש לבדוק גם את תוכן התשובות ואת התוצאה העסקית של הפעולה.
5. שימוש במעבד – CPU Utilization
CPU Utilization מודד את אחוז השימוש במעבד של השרת במהלך הבדיקה.
כאשר המעבד מגיע לניצולת גבוהה לאורך זמן, ייתכן שהשרת מתקשה להתמודד עם כמות הפעולות הנדרשת. מצב כזה עשוי לגרום לעלייה בזמני התגובה, לירידה בתפוקה ואף לכשלים.
לדוגמה:
- CPU של 30% – ייתכן שקיימת קיבולת פנויה משמעותית.
- CPU של 65% – ניצולת בינונית עד גבוהה, בהתאם לאופי המערכת.
- CPU של 90% ומעלה לאורך זמן – עשוי להעיד על עומס משמעותי.
- CPU של 100% – המעבד נמצא בניצולת מלאה ועלול להפוך לצוואר בקבוק.
עם זאת, אין אחוז CPU אחד שמתאים לכל מערכת. שרת שנמצא ב-85% ניצולת אך עומד ביעדי הביצועים עשוי להיות תקין, בעוד שרת שמגיע ל-60% ומציג זמני תגובה חריגים דורש חקירה.
כדאי לבדוק גם ניצולת CPU לפי תהליך, מספר ליבות, עומס על תהליכי מערכת ונתוני CPU של כל שרת בנפרד.
6. צריכת זיכרון – Memory Utilization
זיכרון RAM הוא משאב מרכזי בתפקוד המערכת. במהלך בדיקת עומסים חשוב לבדוק כמה זיכרון המערכת צורכת וכיצד הצריכה משתנה כאשר מספר המשתמשים עולה.
מדדים מרכזיים:
- Memory Usage: כמות הזיכרון שנמצאת בשימוש.
- Available Memory: כמות הזיכרון הפנוי.
- Memory Growth: קצב הגידול בצריכת הזיכרון לאורך זמן.
- Swap Usage: שימוש בזיכרון משני כאשר הזיכרון הפיזי אינו מספיק.
- Garbage Collection: פעילות שחרור זיכרון בסביבות התומכות בכך.
בעיה נפוצה היא Memory Leak – מצב שבו רכיב במערכת ממשיך להחזיק בזיכרון שאינו נחוץ ואינו משחרר אותו כראוי.
בבדיקה קצרה ייתכן שלא נזהה את הבעיה, אך בבדיקה ממושכת ניתן לראות כיצד צריכת הזיכרון עולה בהדרגה עד לפגיעה בביצועים או לקריסת התהליך.
לכן חשוב לשלב גם בדיקות עומס ממושכות ולא להסתפק בבדיקות קצרות.
7. ביצועי מסד הנתונים – Database Performance
מסד הנתונים הוא לעיתים קרובות אחד מצווארי הבקבוק המרכזיים במערכות מידע. כאשר משתמשים רבים מבצעים פעולות במקביל, מספר השאילתות גדל, העומס על בסיס הנתונים עולה וזמני התגובה עלולים להיפגע.
במהלך בדיקת עומסים חשוב לבחון את המדדים הבאים:
- Query Response Time: הזמן שלוקח לשאילתת SQL להסתיים.
- Active Connections: מספר החיבורים הפעילים למסד הנתונים.
- Connection Pool Usage: ניצולת מאגר החיבורים של האפליקציה.
- Lock Wait Time: זמן ההמתנה לנעילות של נתונים.
- Deadlocks: מצבים שבהם תהליכים ממתינים זה לזה ונוצר מבוי סתום.
- Transactions Per Second: מספר העסקאות שמסד הנתונים מעבד בשנייה.
- Disk I/O: פעילות הקריאה והכתיבה בדיסק.
- Slow Queries: שאילתות שזמן הביצוע שלהן ארוך מהמצופה.
לדוגמה, ייתכן שהשרת האפליקטיבי מציג ניצולת CPU של 40% בלבד, אך זמני התגובה של המערכת גבוהים מאוד. בדיקה של מסד הנתונים עשויה לחשוף שאילתות איטיות, מחסור באינדקסים או המתנה לנעילות.
לכן בדיקת עומסים איכותית חייבת לכלול גם ניטור של שכבת הנתונים ולא רק של שרתי האפליקציה.
8. מדדי רשת – Network Performance
התקשורת בין המשתמש, שרתי האפליקציה, בסיס הנתונים ושירותים חיצוניים משפיעה באופן ישיר על ביצועי המערכת.
גם מערכת עם שרתים חזקים ומסד נתונים מהיר יכולה לסבול מביצועים נמוכים בגלל בעיות רשת.
המדדים המרכזיים:
- Bandwidth: רוחב הפס הזמין לתעבורת נתונים.
- Latency: זמן המעבר של נתונים בין נקודות תקשורת.
- Packet Loss: אחוז חבילות המידע שאבדו בדרך.
- Network Throughput: כמות הנתונים העוברת ברשת בפרק זמן נתון.
- Connections: מספר חיבורי הרשת הפעילים.
- Retransmissions: שידור חוזר של חבילות מידע שלא הגיעו כראוי.
לדוגמה, אם מערכת תלויה בשירות חיצוני לצורך אימות משתמשים, עיכוב ברשת או בשירות החיצוני עלול להאריך את זמן התגובה של התהליך כולו.
חשוב לבדוק גם האם כלי העומסים עצמו אינו מוגבל ברוחב הפס או בכוח העיבוד, משום שמגבלה במחולל העומס עלולה להציג תמונה שגויה של יכולת המערכת.
9. שיעור ניצולת משאבים – Resource Utilization
מעבר ל-CPU ולזיכרון, יש לבחון את כלל המשאבים שהמערכת צורכת במהלך הבדיקה.
המדדים החשובים כוללים:
- ניצולת דיסקים.
- זמני קריאה וכתיבה לדיסק.
- מספר פעולות I/O בשנייה.
- מספר תהליכים ו-Threads פעילים.
- מספר חיבורים פתוחים.
- ניצולת שרתי Cache.
- עומס על רכיבי Middleware.
מדדים אלו מאפשרים להבין האם המערכת מנצלת את המשאבים שלה בצורה יעילה והאם רכיב מסוים מגביל את הביצועים הכוללים.
10. זמינות ויציבות – Availability & Stability
מערכת אינה נמדדת רק במהירות שלה, אלא גם ביכולת שלה להמשיך לעבוד לאורך זמן ללא קריסות, ניתוקים או פגיעה בתפקוד.
בבדיקות עומסים חשוב לעקוב אחר:
- Uptime: משך הזמן שבו המערכת זמינה.
- Service Availability: אחוז הזמן שבו השירות מצליח לספק מענה.
- Crash Events: מספר קריסות של רכיבים.
- Restart Events: מספר הפעלות מחדש של שירותים.
- Connection Drops: מספר חיבורים שנותקו.
- Recovery Time: משך הזמן הנדרש למערכת לחזור לפעילות תקינה לאחר כשל.
בבדיקה ממושכת, חשוב לוודא שהמערכת אינה רק מצליחה להתחיל לעבוד תחת עומס, אלא ממשיכה לתפקד בצורה יציבה לאורך זמן.
11. זמן המתנה בתורים – Queue Length & Queue Time
במערכות מודרניות רבות, בקשות אינן מטופלות באופן מיידי אלא נכנסות לתורים וממתינות לעיבוד. לדוגמה, מערכת עשויה להשתמש ב-RabbitMQ, Kafka או מנגנון תורים פנימי.
כאשר קצב הכניסה של הבקשות גבוה מקצב העיבוד שלהן, התור מתחיל לגדול.
המדדים שחשוב לבדוק:
- Queue Length: מספר ההודעות או המשימות שממתינות לעיבוד.
- Queue Wait Time: משך הזמן שבו משימה ממתינה בתור.
- Processing Rate: קצב עיבוד ההודעות.
- Consumer Lag: הפער בין הודעות שנוצרו לבין הודעות שעובדו.
- Failed Messages: מספר ההודעות שלא עובדו בהצלחה.
לדוגמה, מערכת שמקבלת 1,000 הודעות בשנייה אך מצליחה לעבד רק 700 הודעות בשנייה תצבור פער של 300 הודעות בכל שנייה, כל עוד קצב הכניסה נשאר גבוה מקצב העיבוד.
גם אם המשתמש אינו רואה שגיאה, הצטברות התור עלולה לגרום לעיכובים משמעותיים בביצוע פעולות עסקיות.
12. שיעור הצלחה של תהליכים עסקיים – Business Transaction Success Rate
אחד המדדים החשובים ביותר מנקודת המבט של הלקוח העסקי הוא שיעור ההצלחה של התהליכים העסקיים.
מערכת יכולה להחזיר HTTP 200 לכל הבקשות, אך עדיין לא להשלים את הפעולה העסקית הנדרשת.
לדוגמה, משתמש מבצע הזמנה באתר. התהליך כולל מספר שלבים:
- בחירת מוצר.
- הוספה לעגלת הקניות.
- חישוב מחיר ומשלוח.
- ביצוע תשלום.
- יצירת הזמנה.
- קבלת אישור הזמנה.
אם התהליך נעצר בשלב יצירת ההזמנה, ייתכן שהשרת החזיר תשובה תקינה מבחינה טכנית, אך מבחינה עסקית הפעולה נכשלה.
לכן יש להגדיר מראש אילו תהליכים נחשבים להצלחה מלאה ולמדוד את שיעור ההשלמה שלהם לאורך הבדיקה.
טבלת סיכום: המדדים המרכזיים בבדיקת עומסים
| מדד | מה הוא בודק? | מה מחפשים? |
|---|---|---|
| Response Time | זמן תגובה | עמידה ביעדי זמן ואחוזונים |
| Throughput | קצב עיבוד | שמירה על תפוקה תחת עומס |
| Concurrent Users | משתמשים במקביל | יכולת להתמודד עם עומס משתמשים |
| Error Rate | שיעור שגיאות | זיהוי כשלים ועלייה בשגיאות |
| CPU | ניצולת מעבד | זיהוי מגבלות עיבוד |
| Memory | צריכת זיכרון | זיהוי דליפות ומחסור בזיכרון |
| Database | ביצועי מסד נתונים | שאילתות, נעילות וחיבורים |
| Network | ביצועי תקשורת | Latency, רוחב פס ואובדן חבילות |
| Queue Metrics | תורים והודעות | הצטברות משימות ועיכובים |
| Availability | זמינות ויציבות | קריסות, ניתוקים והתאוששות |
| Business Success Rate | הצלחת תהליכים עסקיים | השלמת פעולות מקצה לקצה |
איך מנתחים את המדדים ביחד? דוגמה מעשית
נניח שאנחנו בודקים מערכת לניהול חשבונות. במהלך הבדיקה הגדלנו בהדרגה את מספר המשתמשים מ-100 ל-1,000.
נאספו הנתונים הבאים:
| משתמשים במקביל | זמן תגובה ממוצע | RPS | שיעור שגיאות | CPU |
|---|---|---|---|---|
| 100 | 0.4 שניות | 80 | 0.0% | 25% |
| 300 | 0.7 שניות | 210 | 0.1% | 48% |
| 500 | 1.3 שניות | 310 | 0.3% | 72% |
| 800 | 3.8 שניות | 330 | 2.5% | 93% |
| 1,000 | 8.2 שניות | 290 | 8.0% | 99% |
מה ניתן ללמוד מהתוצאות?
- עד 500 משתמשים המערכת מציגה התנהגות סבירה יחסית, בהתאם ליעדים שיוגדרו.
- ב-800 משתמשים מתחילה עלייה משמעותית בזמני התגובה ובשיעור השגיאות.
- התפוקה כמעט אינה גדלה בין 500 ל-800 משתמשים, למרות תוספת משמעותית של עומס.
- ב-1,000 משתמשים התפוקה אפילו יורדת, בזמן שה-CPU מתקרב לניצולת מלאה.
המסקנה הראשונית היא שקיים צוואר בקבוק באזור שבין 500 ל-800 משתמשים. עם זאת, אין לקבוע שהמעבד הוא בהכרח הגורם היחיד. יש להצליב את הנתונים עם מדדי מסד הנתונים, תורים, רשת וזמני המתנה ברכיבים השונים.
זה בדיוק ההבדל בין איסוף נתונים לבין ניתוח מקצועי של בדיקת עומסים.
אילו כלים משמשים למדידת מדדי ביצועים?
קיימים מספר כלים נפוצים לביצוע בדיקות עומסים ולניטור ביצועי מערכות. לכל כלי יכולות שונות, ולכן לעיתים משלבים מספר כלים באותה בדיקה.
Apache JMeter
כלי קוד פתוח ופופולרי לבדיקות עומסים. מאפשר ליצור תרחישי בדיקה, לדמות משתמשים רבים, למדוד זמני תגובה, תפוקה ושגיאות ולנתח תוצאות.
k6
כלי לבדיקות ביצועים המבוסס על JavaScript. מאפשר להגדיר תרחישי עומס באמצעות קוד, להפעיל בדיקות אוטומטיות ולמדוד מדדים כגון Response Time, Throughput ו-Error Rate.
Gatling
כלי לבדיקות עומסים המתאים גם לתרחישים מורכבים ולבדיקות אוטומטיות בסביבות פיתוח ו-CI/CD.
Grafana ו-Prometheus
כלים המשמשים לניטור, איסוף נתונים והצגת מדדי ביצועים לאורך זמן. הם מאפשרים להציג גרפים של CPU, זיכרון, זמני תגובה, תעבורת רשת ומדדים נוספים.
APM – Application Performance Monitoring
פתרונות APM מאפשרים לעקוב אחר ביצועי האפליקציה ולנתח את זמני העיבוד לאורך שרשרת הבקשה, כולל קריאות לשירותים חיצוניים, מסדי נתונים ורכיבי תוכנה פנימיים.
לקריאה נוספת על תהליך הביצוע, מומלץ לעיין במדריך בדיקת עומסים – איך מבצעים Load Testing?.
איך יודעים אם תוצאות בדיקת העומסים טובות?
אין ערך אחיד שנחשב תקין לכל המערכות. מערכת בנקאית, אתר מסחר, מערכת ERP ואפליקציה סלולרית עשויים להציג דרישות ביצועים שונות לחלוטין.
לכן לפני הבדיקה יש להגדיר יעדי ביצועים ברורים, המכונים Performance SLAs או SLOs.
דוגמאות ליעדים אפשריים:
- 95% מהבקשות יסתיימו בתוך שתי שניות.
- שיעור השגיאות הטכניות יהיה נמוך מ-0.5%.
- המערכת תתמוך ב-1,000 משתמשים במקביל.
- התפוקה תהיה לפחות 300 בקשות בשנייה.
- צריכת הזיכרון לא תמשיך לעלות לאורך בדיקה ממושכת.
- כל התהליכים העסקיים הקריטיים יושלמו בהצלחה.
אלו דוגמאות בלבד ולא תקן מחייב. יש לקבוע את היעדים בהתאם לצורכי העסק, לארכיטקטורה, לתשתיות ולחוויית המשתמש הנדרשת.
טעויות נפוצות בניתוח מדדי בדיקת עומסים
התמקדות בזמן תגובה ממוצע בלבד
ממוצע עלול להסתיר משתמשים שחווים זמני תגובה חריגים. חשוב לבדוק גם P90, P95 ו-P99.
התעלמות משגיאות עסקיות
בדיקה שמודדת רק קודי HTTP עלולה לפספס תהליכים שנכשלו מבחינה עסקית. יש לבדוק גם את התוצאה בפועל.
בדיקת שרת האפליקציה בלבד
הבעיה עשויה להימצא במסד הנתונים, בשירות חיצוני, ברשת או בתור הודעות. יש לנטר את כלל רכיבי המערכת הרלוונטיים.
בדיקה ללא תרחיש משתמשים מציאותי
שליחת בקשות רציפה ללא זמני המתנה וללא שילוב תהליכים עסקיים אינה תמיד משקפת את אופי השימוש האמיתי. חשוב לבנות מודל עומס המבוסס על דפוסי שימוש צפויים.
התעלמות ממגבלות כלי הבדיקה
גם מחולל העומס עלול להגיע למגבלת CPU, זיכרון או רשת. במקרה כזה התוצאות אינן משקפות בהכרח את יכולת המערכת הנבדקת.
בדיקה קצרה מדי
בדיקה קצרה עשויה שלא לחשוף בעיות כמו דליפות זיכרון, הצטברות תורים או ירידה הדרגתית בביצועים. יש להתאים את משך הבדיקה למטרתה.
הקשר בין בדיקות עומסים לבדיקות ביצועים ובדיקות Stress
חשוב להבחין בין סוגי בדיקות ביצועים שונים. בדיקת עומסים בוחנת כיצד המערכת מתפקדת תחת עומס צפוי או מוגדר. בדיקת Stress מנסה להעמיס על המערכת מעבר לגבולות העבודה המתוכננים, כדי לזהות את נקודת הכשל ואת אופן ההתאוששות.
בדיקות ביצועים הן תחום רחב יותר, הכולל גם מדידות של מהירות, יציבות, מדרגיות ויעילות משאבים.
להעמקה בנושא מומלץ לקרוא:
- בדיקות ביצועים – המדריך המלא
- Load Testing לעומת Stress Testing – מה ההבדל?
- בדיקות עומסים מול בדיקות ביצועים – מה ההבדל?
- איך כותבים תרחיש לבדיקת עומסים? מדריך מעשי
צ'קליסט לבודק תוכנה: מה חשוב לבדוק במהלך בדיקת עומסים?
לפני שמסיימים בדיקת עומסים, כדאי לוודא שכל המדדים החשובים נאספו ותועדו:
- ☐ זמני תגובה ממוצעים ומקסימליים.
- ☐ אחוזוני P90, P95 ו-P99.
- ☐ Throughput ו-RPS.
- ☐ מספר משתמשים וירטואליים ומשתמשים פעילים במקביל.
- ☐ שיעור שגיאות טכניות ועסקיות.
- ☐ צריכת CPU בכל שרת רלוונטי.
- ☐ צריכת RAM ומגמות גידול בזיכרון.
- ☐ זמני תגובה של מסד הנתונים.
- ☐ מספר חיבורי Database ונעילות.
- ☐ מדדי רשת, Latency ו-Packet Loss.
- ☐ עומסים והצטברות בתורים.
- ☐ הצלחה מלאה של תהליכים עסקיים.
- ☐ זמינות המערכת והתאוששות מתקלות.
- ☐ השוואה ליעדי הביצועים שהוגדרו מראש.
שאלות נפוצות על מדדים בבדיקת עומסים
מהו המדד החשוב ביותר בבדיקת עומסים?
אין מדד אחד שמספיק לבדו. בדרך כלל חשוב לבחון יחד את זמני התגובה, האחוזונים, התפוקה ושיעור השגיאות. לאחר מכן יש להצליב את הנתונים עם ניצולת משאבי המערכת.
מה ההבדל בין Response Time ל-Throughput?
Response Time מודד כמה זמן לוקח לבקשה לקבל מענה, ואילו Throughput מודד כמה בקשות או פעולות המערכת מצליחה לעבד בפרק זמן נתון.
מה זה P95 בבדיקת עומסים?
P95 הוא אחוזון 95 של זמני התגובה. כלומר, 95% מהבקשות הסתיימו בזמן השווה לערך שנמדד או נמוך ממנו, ו-5% מהבקשות ארכו יותר.
האם CPU של 100% תמיד מעיד על כשל?
לא בהכרח, אך ניצולת מלאה לאורך זמן היא סימן שדורש בדיקה. צריך לבחון האם המערכת עדיין עומדת ביעדי זמן התגובה והתפוקה והאם קיימת השפעה על שיעור השגיאות.
מהו שיעור שגיאות תקין בבדיקת עומסים?
היעד נקבע בהתאם לדרישות המערכת. במערכות קריטיות ניתן לדרוש שיעור שגיאות טכניות קרוב לאפס, בעוד שבמערכות אחרות יוגדר סף שונה. חשוב להפריד בין שגיאות טכניות לבין תוצאות עסקיות צפויות.
האם צריך לבדוק גם את מסד הנתונים בבדיקת עומסים?
בהחלט. מסד הנתונים עשוי להפוך לצוואר בקבוק גם כאשר שרתי האפליקציה עצמם אינם עמוסים. חשוב למדוד זמני שאילתות, חיבורים, נעילות ופעולות קריאה וכתיבה.
באילו כלים ניתן לבצע בדיקות עומסים?
כלים נפוצים הם Apache JMeter, k6 ו-Gatling. לצורך ניטור וניתוח ניתן לשלב כלים כמו Grafana, Prometheus ופתרונות APM.
סיכום: בדיקת עומסים טובה מתחילה במדדים הנכונים
בדיקת עומסים אינה מסתכמת בהפעלת משתמשים וירטואליים ובבדיקה האם המערכת נשארת זמינה. המטרה האמיתית היא להבין כיצד המערכת מתנהגת תחת עומס, לזהות את המגבלות שלה ולוודא שהיא עומדת בדרישות העסקיות והטכניות.
זמן תגובה, Throughput, שיעור שגיאות, CPU, זיכרון, ביצועי מסד נתונים, מדדי רשת ותהליכים עסקיים הם חלק בלתי נפרד מתהליך הבדיקה.
היכולת החשובה של בודק התוכנה אינה רק להפיק דוח עם מספרים, אלא להבין מה המספרים אומרים, לזהות קשר בין המדדים, לאתר צווארי בקבוק ולהציג מסקנות ברורות לצוותי הפיתוח, התשתיות והניהול.
בסופו של דבר, מערכת שעובדת היטב עם עשרה משתמשים אינה בהכרח מערכת שתעמוד בהצלחה באלף משתמשים. רק מדידה נכונה, ניתוח מעמיק ותכנון תרחישים מציאותיים מאפשרים להעריך את יכולת המערכת להתמודד עם עומסים בעולם האמיתי.
באתר TESQA תמצאו מדריכים מעשיים בנושא QA, בדיקות ידניות, בדיקות אוטומציה, Playwright, בדיקות ביצועים ובדיקות עומסים, עם הסברים ודוגמאות שיסייעו לכם להתפתח מקצועית בתחום.
לקרוא מאמרים זה נחמד אבל לא יביא אותך לתוצאה שאתה רוצה, בדיוק בשביל זה הכנו עבורך את הקורס הדיגיטלי המהיר, תוך שעתיים וחצי תלמד את תחום הבדיקות ידניות, תוכל להתחיל לעבוד מהבית דרך FIVERR או ולהתכונן נכון לראיונות עבודה שיעזרו לך לצלוח אותם. כנס כאן הקורס ממוקד בבדיקות תוכנה ידניות הנותן בסיס חזק לתחום.
לעבוד מהבית כבודק תוכנה עם FIVERR >> לחץ כאן