[Articles/HomeNetPerf/includes/inc_head.htm]

NetCHEIF Articles

  דף הבית | פורום | בלוג | צור קשר | חיפוש | אודות

 

בדיקת ביצועים קווית ואלחוטית ברשת הביתית

מבוא

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

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

 

תוכנת הבדיקה

לאחר בדיקה של מספר כלים ושיטות, בחרתי לבסס את בדיקת הביצועים על כלי ותיק, המבוסס על קוד פתוח, שמסוגל להתמודד עם כל הטכנולוגיות הקוויות והאלחוטיות החדשות.  מדובר בכלי חינמי ופשוט לתפעול חינמי שנקרא Iperf שרץ על פלטפורמות שונות כולל לינוקס, יוניקס וגרסאות Windows השונות.

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

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

את הכלי ניתן להוריד מכאן.

 

התקנת Iperf

קובץ ה-RAR שהורדת כולל מחיצה ראשית בשם "iPerf-1.70-win32".  בתוך המחיצה יש קובץ בודד שנקרא iperf.exe וספריה בשם DOC.  קובץ ה-EXE הוא התוכנה עצמה ואין צורך בשום התקנה מיוחדת שלה.  ספרית ה-DOC כוללת קובץ בשם index.html שהוא התיעוד של התוכנה בממשק WEB-י.

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

  • להעתיק את ספרית "iPerf-1.70-win32" לדיסק הקשיח.

  • לפתוח את הספריה "iPerf-1.70-win32" במיקומה החדש.

  • ליצור לקובץ iperf.exe קיצור דרך (shortcut) על ידי לחיצה עם הכפתור הימני של העכבר עליו ובחירה באופציה Create Shortcut.

  • ללחוץ, באמצעות את הכפתור הימני של העכבר, על קובץ ה-Shortcut ולבחור באופציה Properties.

  • בחלון שיפתח, לבחור בטאב shortcut ולהוסיף בתחילת שדה ה-target את הפקודה cmd /k.  כלומר אם בשדה ה-target רשום לדוגמא D:\Utils\iperf.exe, אחרי השינוי יהיה רשום שם cmd /k D:\Utils\iperf.exe.  ניתן להיעזר בתמונה המופיעה משמאל.

עתה, לחיצה כפולה מהירה (double click) על ה-shortcut תפתח חלון DOS במיקום בו נמצאת התוכנה.

 

אופן ההפעלה של iperf

לצורך הרצת iperf נדרשים לפחות שני מחשבים – אחד שמשמש כ-"שרת" (server) ואחד שמשמש כ-"לקוח" (client).  מחשב הלקוח מייצר זרמי נתונים ב-TCP או UDP, משדר אותם אל השרת ומודד את קצב התעבורה של הרשת הנושאת אותם.

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

בתמונה המסך משמאל ניתן לראות את התוצאה של Iperf ברשת קווית של 1Gbit.  בבדיקה, שנערכה מול כתובת IP שמספרה 10.0.0.10, שארכה 30 שניות (פרמטר ה-t) שהועברו בה 4 זרמים בו זמנית (פרמטר ה-P), נרשמה תעבורה של כ-220Mbps בכל זרם ובסה"כ נרשמו ביצועים של 890Mbps — ניצול של 89% מרוחב הפס התיאורטי.

כיוון שתוכנת iperf היא קטנה ורזה, ומכיוון שהיא רצה בסביבת DOS ומתמקדת בבדיקת ביצועי התקשורת, היא אינה משתמשת בדיסק הקשיח וחתימת ה-CPU והזיכרון הנדרשת על ידה היא מינימאלית.  כיוון שכך, שאין כמעט חשיבות למפרט החומרה של המחשבים המשמשים "שרת" ו-"לקוח".

 

ה-Syntax של iperf

על מנת להריץ את iperf בגרסת "שרת" יש להקליד בחלון DOS את הפקודה:

iperf -s [options]

על מנת להריץ את iperf בגרסת "לקוח" יש להקליד בחלון DOS את הפקודה:

iperf -c {ip-address of server} [options]

כאשר {ip-address of server} היא כתובת ה-IP של המחשב עליו רץ iperf בגרסת השרת.  בהרצה ניתן להוסיף פרמטרים שונים הקובעים את אופן ביצוע הבדיקה והצגת התוצאות.  לדוגמא:

iperf -c 10.0.0.10 -t 60 -i 10 -P 2 -f m -w 128KB

הפקודה הרשומה לעיל תריץ את iperf מול שרת בכתובת 10.0.0.10, למשך 60 שניות (פרמטר ה-t) כאשר כל 10 שניות (פרמטר ה-i) תדווח התוצאה העדכנית.

בבדיקה יורצו שני תהליכים (פרמטר ה-P), התוצאות יוצגו ב-Mbps (פרמטר ה-f) וחלון הבדיקה יהיה בגודל של 128KB (פרמטר ה-w).

משמאל ניתן לראות את הפקודה עצמה ואת תוצאת ההרצה של פקודה זו.

מידע מפורט לגבי הפרמטרים השונים של Iperf ניתן לקבל על ידי הרצת הפקודה iperf -h או באמצעות המדריכים הנמצאים כאן או כאן.

 

הפעלה גרפית של iperf

מי שנרתע מהממשק ה-DOS-י של Iperf ומעוניין בממשק גרפי המבוסס על JAVA, יכול להשתמש בכלי הנקרא Jperf. כפי שניתן לראות בתמונה משמאל, Jperf מספק גם גרפים נאים של תוצאות הבדיקה.

את תוכנת jperf ניתן להוריד מכאן.

הגדרת הפרמטרים לתוכנה נעשית באמצעות שלושת החלונות הנמצאים משמאל לגרף.  כל בחירה שנעשית בחלונות, מגדירה באופן אוטומטי את הפרמטר הרלוונטי.  בחלק העליון של החלון ניתן לראות את הפקודה שנבנתה, באופן אוטומטי, כתוצאה מהבחירות שנעשו בחלונות משמאל.  על מנת להריץ את הבדיקה יש ללחוץ על כפתור ה-RUN הנמצא בחלק הימני העליון.

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

יש לשים לב שעל מנת להריץ את התוכנה נדרשת התקנת Java על המחשב שניתן להוריד אותה מכאן.

לעומת iperf שבה כמעט ואין חשיבות לחומרה, כאשר נעשה שימוש ב-jperf התמונה משתנה.  כיוון שמדובר בתוכנת Windows הרצה על מנוע Java יש חשיבות גבוהה יותר למפרט החומרה.

 

כיצד נבדקים הביצועים של נתבים

החל מראשית 2010, בדיקת ביצועי הנתבים נעשית על ידי באמצעות iperf באופן המתואר להלן.

על מנת למדוד את ביצועי הנתב, אני נעזר בשני מחשבים.  על אחד מהם אני מריץ את תוכנה iperf בתצורת "שרת" ובשני בתצורת "לקוח".  המחשב שמשמש כ-"לקוח" משדר מידע את השרת ומודד את קצב ההעברה מולו.  בסיום ההעברה מחשב ה-"לקוח" מציג את התוצאות. 

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

מחשב ה-"שרת" ממוקם אף הוא בממ"ד והוא מתחבר אל הנתב בחיבור קווי -- כלומר באמצעות כבל רשת.  במחשב "השרת" מותקן כרטיס היכול לתפקד הן ב-100Mbps והן ב-1Gbps.  במידה והנתב שנבדק תומך ב-1Gbps, הרשת הקווית מופעלת במהירות זו.

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

  • מיקום A -- המחשב נמצא בתוך הממ"ד ומרוחק כמטר אחד מהנתב.

  • מיקום B -- המחשב נמצא מחוץ לממ"ד, במרחק אווירי של כ-5 מטר מהנתב כאשר יש ביניהם קו ראיה.

  • מיקום C -- המחשב נמצא מחוץ לממ"ד, כשמפרידים בינו לבין הנתב שני ארונות וקיר הבטון של הממ"ד.  המרחק האווירי בין שתי הנקודות הוא כ-4 מטר.

  • מיקום D -- המחשב נמצא מחוץ לממ"ד, כשמפריד בינו לבין הנתב קיר הבטון של הממ"ד ועוד קיר לבנים.  בנוסף קיים במחצית הדרך עמוד בטון וקיר לבנים נמוך.  המרחק האווירי בין שתי הנקודות הוא כ-13 מטר.

  • מיקום E -- המחשב נמצא מחוץ לממ"ד, כשמפרידים בינו לבין הנתב קיר הבטון של הממ"ד, קיר בטון נוסף, שני קירות לבנים וארון אחד.  המרחק האווירי בין שתי הנקודות הוא כ-15 מטר.

מבנה פקודת ה-iperf שאני משתמש בה הוא:

iperf -c 10.0.0.10 -t 30 -P 2 -w 128KB

 

הפקודה הרשומה לעיל מבוצעת 4 פעמים באמצעות קובץ batch הכולל 4 שורות של הפקודה הרשומה לעיל. 

כפי שניתן לראות בתמונה משמאל (שבוצעה במיקום A), מופקות מהבדיקה 4 תוצאות ביצועים (מסומנות בריבוע אדום).

בסוף הבדיקה אני מבצע ממוצע של 4 הבדיקות.  במקרה זה הממוצע הוא 84.2Mbps.  תוצאה זו מפורסמת בסקירה.

כאמור על בדיקה זו אני חוזר ב-5 הנקודות השונות שתוארו -- A‏‏, B‏‏, C‏‏, D‏‏ ו-E.

 

בדיקת עומסים (כמות Connections)

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

לצורך כך אני נעזר בתוכנת uTorrent ובאמצעותה אני מוריד 9 קבצים במקביל, כאשר מספר ה-connections בתוכנה מוגדר ל-500 הבדיקה מבוצעת ממחשב המחובר באופן קווי אל הנתב.  במידה והנתב תומך בחיבור של 1Gbps הבדיקה תבוצע ממחשב התומך במהירות זו.

בבדיקה אני משתמש בגרסא האחרונה של תוכנת uTorrebt כפי שמתפרסמת באתר של התוכנה.  הקבצים שמורדים הם 9 גרסאות שונות של מערכת ההפעלה ubunto המבוססת על Linux.  בקובץ ה-RAR הזה ניתן למצוא את ה-LINK-ים ל-9 קבצים אלה.

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

  • חלון גירסת ה-uTorrent בה נעשה שימוש - uTorrent 2.0 Build 18296.

  • חלון המראה את מספר ה-Connections המוגדרים בתוכנה - 500.

  • חלון המראה את מספר ה-connections הפתוחים בפועל בעת צילום המסך - 509.

  • בשורת הסטטוס רשומה מהירות ההורדה בפועל בעת צילום המסך - 455.5KB/s.

  • גרף המראה את היציבות במהירות ההורדה במשך הדקות הראשונות מתחילת ההורדה.

  • מי שמכיר את uTorrent, יכול לראות את הפרטים לגבי כל קובץ שהורד.

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