במאמר הזה מוסבר איך לבדוק את הביצועים של רשת Tier_1 לכל מכונה וירטואלית. כדי לעשות זאת, יוצרים שתי מכונות וירטואליות ומזרימים תעבורה הלוך ושוב כדי לבחון את ביצועי הרשת. כדי להשתמש בתכונה הזו, צריך ליצור את המכונה הווירטואלית עם מערכות הפעלה שתומכות בממשק הרשת הווירטואלית של Google (gVNIC). כדי להשתמש בביצועים של רשת Tier_1 בכל מכונה וירטואלית, צריך מכונות וירטואליות גדולות יותר. לכן, צריך לוודא שיש לכם מספיק מכסת CPU כדי ליצור את המכונות הווירטואליות.
לפני שמתחילים
- חשוב לוודא שאתם משתמשים באימג' ציבורי שתומך ב-gVNIC או יוצרים אימג' בהתאמה אישית בפרויקט.
- מוודאים שיצרתם כללי חומת אש ב-VPC כדי לאפשר תעבורת נתונים נכנסת (ingress) ביציאה TCP:5001, או ביציאה אחרת שתבחרו, כדי לאפשר בדיקות ביצועים של
iperf. - כדי לבצע את ההשוואה, צריך להשתמש בגרסה 2 של iPerf ולא בגרסה 3.
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud init
-
- הגדרת אזור ותחום כברירת מחדל
REST
כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.
התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.
מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .
הגדרת מכונות וירטואליות לצורך השוואה לשוק
יוצרים שתי מכונות עם n2-standard-64 vCPU עם ביצועי רשת Tier_1 לכל מכונה וירטואלית, וההגדרה הכי גבוהה של יחידת שידור מקסימלית (MTU). כך המכונות הווירטואליות מקבלות רוחב פס מקסימלי של עד 75Gbps ליציאה (באמצעות כתובות IP פנימיות).
gcloud
כדי ליצור תמונה, משתמשים בפקודה gcloud compute images create.
gcloud compute images create IMAGE_NAME \ --project=PROJECT_ID \ --source-image-family=SOURCE_IMAGE_FAMILY \ --source-image-project=SOURCE_IMAGE_PROJECT \ --guest-os-features=GVNIC
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: שם הפרויקט.
- IMAGE_NAME: השם של התמונה שרוצים ליצור.
- SOURCE_IMAGE_FAMILY: הגרסה הנדרשת של תמונה ציבורית. לצורך הבדיקה הזו, משתמשים ב-
ubuntu-2004-lts. - SOURCE_IMAGE_PROJECT: השם של הפרויקט שמכיל את תמונת המקור. לצורך הבדיקה הזו, משתמשים ב-
ubuntu-os-cloud.
דוגמה
gcloud compute images create benchmark-image-test \ --project=my-project \ --source-image-family=ubuntu-2004-lts \ --source-image-project=ubuntu-os-cloud \ --guest-os-features=GVNICיוצרים רשת VPC במצב אוטומטי שמשתמשת בהגדרת ה-MTU המקסימלית:
gcloud compute networks create NETWORK_NAME \ --project=PROJECT_ID \ --subnet-mode=AUTO --mtu=8896
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: שם הפרויקט.
- NETWORK_NAME: שם לרשת.
יוצרים שתי מכונות זהות:
gcloud compute instances create \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE \ --machine-type=n2-standard-64 \ --image=projects/PROJECT_NAME/global/images/IMAGE_NAME \ --network=NETWORK_NAME \ --network-interface=nic-type=GVNIC \ --network-performance-configs=total-egress-bandwidth-tier=TIER_1מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME_1, VM_NAME_2: השמות של המופעים של המכונות הווירטואליות שרוצים ליצור.
- PROJECT_ID: שם הפרויקט.
- ZONE: האזור של המכונה הווירטואלית. שתי המכונות הווירטואליות צריכות להיות באותו אזור.
- PROJECT_NAME/global/images/IMAGE_NAME: שם הפרויקט ושם התמונה.
- NETWORK_NAME: השם של הרשת שהגדרתם עם הגדרת ה-MTU המקסימלית.
ביצוע ההשוואה לשוק
שתי המכונות הווירטואליות צריכות להיות באותו אזור ובאותה רשת VPC. במהלך הבדיקה, שתי המכונות הווירטואליות האלה מבצעות בדיקה דו-כיוונית של נתיב רשת ה-VPC.
אימות הגדרת ה-MTU
כדי לוודא שהגדרת ה-MTU המקסימלית מוגדרת ברשת הענן הווירטואלי הפרטי (VPC), משתמשים בפקודה ifconfig במערכת ההפעלה של אחת מהמכונות הווירטואליות.
בחלון הטרמינל, מריצים את הפקודה הבאה:
/sbin/ifconfig | grep mtu
ערך ה-MTU שדווח צריך להיות 8896.
ens4: flags=4163 mtu 8896 lo: flags=73 mtu 65536
אימות ההגדרה של מכונה וירטואלית
כדי לוודא שהרשת Tier_1 מופעלת במכונות הווירטואליות, בודקים את המאפיינים של המכונות הווירטואליות.
gcloud
כדי להציג את המכונות, משתמשים בפקודה gcloud compute instances describe.
gcloud compute instances describe VM_NAME_1 \
--project=PROJECT_ID \
--zone=ZONE \
--format="text(networkPerformanceConfig)"
gcloud compute instances describe VM_NAME_2 \
--project=PROJECT_ID \
--zone=ZONE \
--format="text(networkPerformanceConfig)"
מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME_1: השמות של מופעי המכונות הווירטואליות שרוצים להציג.
- VM_NAME_2: השמות של מופעי המכונות הווירטואליות שרוצים להציג.
- PROJECT_ID: שם הפרויקט.
- ZONE: האזור של המכונה הווירטואלית. שתי המכונות הווירטואליות צריכות להיות באותו אזור.
בתגובה אמורים להופיע הנתונים הבאים:
networkPerformanceConfig.totalEgressBandwidthTier: TIER_1
שימוש ב-iPerf כדי לבצע את ההשוואה במערכות מבוססות Debian
gcloud
אם עדיין לא עשיתם זאת, צריך להשלים את השלבים במאמר הגדרת מכונות וירטואליות להשוואה.
אחרי ששתי המכונות הווירטואליות פועלות, משתמשים ב-SSH כדי להתחבר לאחת מהן.
gcloud compute ssh VM_NAME_1 \ --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME_1: השם של המכונה הווירטואלית הראשונה.
- PROJECT_ID: שם הפרויקט.
במכונה הווירטואלית הראשונה, מבצעים את השלבים הבאים:
מתקינים את
iperf.sudo apt-get update && sudo apt-get install iperf
מקבלים את כתובת ה-IP הפנימית של המכונה הווירטואלית. חשוב לשמור את כתובת ה-IP הפנימית לשימוש בהמשך.
ip a
מפעילים את שרת iPerf.
iperf -s
הפקודה הזו מפעילה שרת שמקשיב לחיבורים כדי לבצע את הבדיקה. משאירים את שרת iPerf פועל למשך הבדיקה.
בטרמינל לקוח נפרד, מתחברים למכונה הווירטואלית השנייה באמצעות SSH.
gcloud compute ssh VM_NAME_2 \ --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME_2: השם של המכונה הווירטואלית השנייה.
- PROJECT_ID: שם הפרויקט.
במכונה הווירטואלית השנייה, מבצעים את השלבים הבאים:
מתקינים את iPerf.
sudo apt-get update && sudo apt-get install iperf
מריצים את בדיקת iperf ומציינים את כתובת ה-IP של המכונה הווירטואלית הראשונה כיעד.
iperf -t 30 -c internal_ip_of_instance_1 -P 16
הבדיקה תימשך 30 שניות. אם iPerf לא מצליח להגיע למכונה הווירטואלית השנייה, יכול להיות שתצטרכו לשנות את הרשת או את הגדרות חומת האש במכונות הווירטואליות, או אולי במסוף Cloud de Confiance .
התוצאות אמורות להיראות כמו בדוגמה הבאה. הוא מציג את מגבלת רוחב הפס של יציאת הנתונים של 75Gbps עבור
n2-standard-64עם Tier_1 networking מופעל, מעבר למגבלת רוחב הפס של יציאת הנתונים של 32Gbps כברירת מחדל.------------------------------------------------------------ Client connecting to 10.128.0.10, TCP port 5001 TCP window size: 1.59 MByte (default) ------------------------------------------------------------ [ 12] local 10.128.0.11 port 57722 connected with 10.128.0.10 port 5001 [ 11] local 10.128.0.11 port 57720 connected with 10.128.0.10 port 5001 [ 16] local 10.128.0.11 port 57730 connected with 10.128.0.10 port 5001 [ 6] local 10.128.0.11 port 57710 connected with 10.128.0.10 port 5001 [ 13] local 10.128.0.11 port 57724 connected with 10.128.0.10 port 5001 [ 8] local 10.128.0.11 port 57712 connected with 10.128.0.10 port 5001 [ 9] local 10.128.0.11 port 57716 connected with 10.128.0.10 port 5001 [ 14] local 10.128.0.11 port 57726 connected with 10.128.0.10 port 5001 [ 15] local 10.128.0.11 port 57728 connected with 10.128.0.10 port 5001 [ 10] local 10.128.0.11 port 57718 connected with 10.128.0.10 port 5001 [ 4] local 10.128.0.11 port 57706 connected with 10.128.0.10 port 5001 [ 5] local 10.128.0.11 port 57708 connected with 10.128.0.10 port 5001 [ 3] local 10.128.0.11 port 57704 connected with 10.128.0.10 port 5001 [ 17] local 10.128.0.11 port 57732 connected with 10.128.0.10 port 5001 [ 7] local 10.128.0.11 port 57714 connected with 10.128.0.10 port 5001 [ 18] local 10.128.0.11 port 57734 connected with 10.128.0.10 port 5001 [ ID] Interval Transfer Bandwidth [ 12] 0.0-30.0 sec 7.63 GBytes 2.19 Gbits/sec [ 11] 0.0-30.0 sec 17.7 GBytes 5.07 Gbits/sec [ 16] 0.0-30.0 sec 9.15 GBytes 2.62 Gbits/sec [ 6] 0.0-30.0 sec 43.8 GBytes 12.6 Gbits/sec [ 13] 0.0-30.0 sec 23.6 GBytes 6.76 Gbits/sec [ 8] 0.0-30.0 sec 13.3 GBytes 3.80 Gbits/sec [ 9] 0.0-30.0 sec 9.29 GBytes 2.66 Gbits/sec [ 14] 0.0-30.0 sec 19.6 GBytes 5.62 Gbits/sec [ 15] 0.0-30.0 sec 12.5 GBytes 3.58 Gbits/sec [ 10] 0.0-30.0 sec 11.1 GBytes 3.19 Gbits/sec [ 4] 0.0-30.0 sec 19.0 GBytes 5.43 Gbits/sec [ 5] 0.0-30.0 sec 7.32 GBytes 2.10 Gbits/sec [ 3] 0.0-30.0 sec 8.78 GBytes 2.51 Gbits/sec [ 17] 0.0-30.0 sec 17.5 GBytes 5.02 Gbits/sec [ 7] 0.0-30.0 sec 33.4 GBytes 9.57 Gbits/sec [ 18] 0.0-30.0 sec 7.64 GBytes 2.19 Gbits/sec [SUM] 0.0-30.0 sec 261 GBytes 74.9 Gbits/sec
הסרת משאבים אחרי בדיקת ביצועים
כדי להימנע מחיובים על התמונה ומכונות וירטואליות נוספות, צריך להסיר את המשאבים שיצרתם במהלך בדיקת ההשוואה.
gcloud
משתמשים בפקודה
gcloud compute instances deleteכדי להסיר את המכונות שיצרתם לבדיקת ביצועים.gcloud compute instances delete \ VM_NAME_1 VM_NAME_2 \ --project=PROJECT_ID \ --zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
- VM_NAME_1, VM_NAME_2: השמות של שני המופעים של מכונות וירטואליות שרוצים למחוק.
- PROJECT_ID: שם הפרויקט.
- ZONE: האזור של המכונה הווירטואלית. שתי המכונות הווירטואליות צריכות להיות באותו אזור.
משתמשים בפקודה
gcloud compute networks deleteכדי להסיר את הרשת שיצרתם לבדיקת ביצועים.gcloud compute networks delete NETWORK_NAME \ --project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- NETWORK_NAME: השם של הרשת שרוצים למחוק.
- PROJECT_ID: שם הפרויקט.
משתמשים בפקודה
gcloud compute images deleteכדי להסיר את התמונה שיצרתם לבדיקת ביצועים.gcloud compute images delete IMAGE_NAME \ --project=PROJECT_IDמחליפים את מה שכתוב בשדות הבאים:
- IMAGE_NAME: השם של התמונה שרוצים למחוק.
- PROJECT_ID: שם הפרויקט.
המאמרים הבאים
- מידע על התמחור של רשתות Tier_1
- אפשר לעיין ברמות רוחב הפס כדי לראות סוגי מכונות נוספים.