interhost

הבלוג
הכל על שרתים, תקשורת ולינוקס

ארכיון פוסטים מהחודש "נובמבר, 2010"

כלי לבדיקת תקינות רוחב פס בשרתי לינוקס

יום שבת, 27 בנובמבר, 2010

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

iperf מאפשר לבדוק האם ה-bandwidth שהשרת צריך לקבל (החוצה upload או פנימה download) הוא פרטי ונקי ושאין עומס על הקו. כמובן, בכדי לאמת שאכן אנו בודקים את הפס בין השרת לחוות השרתים רצוי להפעיל את הקליינט בשרת מרוחק "בטוח" תקין. ז"א רצוי להתקין את קליינט אחד למשל באותו חוות שרתים בשרת ליד ואחד מחוץ לחוות השרתים וכך יהיה לכם אומדן להשוואה.

אם לשרת הקרוב השגיאה הינה 0.01% זה אומר שזה המאה אחוז שלכם ממנו ואתם לוקחים את נקודת היחוס. השגיאה לשרת קרוב יכולה לנבוע מהרבה סיבות, לדוגמא שגיאות בפורט (כבל רשת דפוק), דיסקים איטיים בשרת, שגיאות בזכרון, סוויטץ עמוס, חומת אש שמגינה מפלי "הצפה" (flood) – לכן אם תהיה לכם נקודת יחוס תוכלו להשוות את התוצאות של בדיקה לשרת המרוחק עם השרת המקורב ולדעת שההבדל ביניהם הוא בעצם תלוי בחוות השרתים והלאה.

במערכת הפעלה Debian ההתקנה בשרת פשוטה מאוד:

apt-get install iperf

בצד השרת המרוחק

iperf -s -u

השרת המרוחק יתפקד כ-סרבר (server), אנא ודאו שפורט UDP 5001 פנימה פתוח, זה הפורט הדיפולטיבי ש-iperf עובד איתו במצב UDP. ולמה UDP? כי UDP הוא פרוטוקול ללא בקרת שגיאות, בניגוד ל-TCP, ולכן אם יש בעיות על הקו הפאקטות של UDP יפלו ע"י הסוויטצים והנתבים בדרך. -u אומר שאנחנו עובדים בפרוטוקול UDP בשרת והפרמטר -s אומר ש-iperf רץ במצב "שרת" (server).

בצד השרת הנבדק (השרת שאת הקו שלו בודקים)

מריצים:

iperf -c <כתובת שרת מרוחק> -u -b 10M

10M- מסמל את גודל רוחב הפס שאותו רוצים לבדוק. בצורת ריצה כזו iperf בודק את ההעלאה מן השרת הנוכחי ולשרת המרוחק במהירות עשר מגהביט, בפרוטוקול UDP. (אל תשכחו לוודא שפורט 5001 UDP פתוח החוצה).
-c אומר שהכלי ירוץ במצב "לקוח" (client). והפרמטר -b מסמל שאנחנו רוצים לקבוע את מהירות קצב העברת הנתונים לשרת המארח.

לאחר מספר שניות יופיע הפלט שנראה כך:

iperf

iperf

סימנתי באדום את מה שמעניין אותנו מהפלט "Lost/Total Datagrams" מה שמצביע כמה פאקטות "נפלו" בדרת לשרת המרוחק. אם המספר גבוהה בהשוואה למספר הפאקטות שנפלו בדרך לשרת המקורב (נקודת היחוס שלנו) זה מראה על מצב חשוד. תריצו את הדיקה עוד כמה פעמים שיהיה לכם ערך גם ערך ממוצע וגם לראות שזה לא היה נקודתי. תנסו להוריד או לעלות את מהירות הבדיקה ולראות האם זה משפיע על כמות ה- dropped packets (פאקטות שנפלו).

אם הנתונים שאספנו מראים על יותר מ-1% LOSS (איבוד פאקטות) הבדל מנקודת היחוס אפשר לפנות בגב זקוף לספק התשתית ולטעון לבעיות על הקו המסופק לשרת.

בהצלחה!