במאמר הזה מוסבר איך להפעיל את יחידת המעקב אחר ביצועים (PMU) במכונות Compute Engine מסוג A4X, C4A, C4 או M4. אחרי שמפעילים את PMU, אפשר להשתמש בו כדי לבצע אופטימיזציה של עומסי עבודה שרגישים לביצועים, כמו מחשוב עתיר ביצועים (HPC) או למידת מכונה (ML), על ידי זיהוי צווארי בקבוק באפליקציה וטיפול בהם.
מידע נוסף על הדרישות וההגבלות שחלות כשמפעילים את PMU במופע של מחשוב זמין במאמר סקירה כללית על PMU.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
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 .
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות להפעלת PMU במכונת Compute חדשה או קיימת, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד מוגדר מראש עם ההרשאות שנדרשות להפעלת PMU במכונת Compute חדשה או קיימת. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי להפעיל את PMU במכונת חישוב חדשה או קיימת, נדרשות ההרשאות הבאות:
-
כדי ליצור מכונות וירטואליות:
-
compute.instances.createבפרויקט - כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' - כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ ה-snapshot - כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה - כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט - כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט - כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה - כדי להגדיר מטא-נתונים של המכונה הווירטואלית:
compute.instances.setMetadataבפרויקט - כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית - כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית - כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית - כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט - כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק - כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
-
-
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי לעדכן מכונת חישוב:
compute.instances.updateבמכונת החישוב
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
הפעלת PMU במכונות וירטואליות
כדי להפעיל את PMU במכונות וירטואליות, אפשר להשתמש באחת מהשיטות הבאות:
- הפעלת PMU במכונת חישוב קיימת
- הפעלת PMU במהלך יצירת מכונת חישוב
- הפעלת PMU במהלך יצירת תבנית של הגדרות מכונה
אחרי שמפעילים את PMU במופע מחשוב אחד או יותר, אפשר להתקין תוכנה למעקב אחרי ביצועים במופעי המחשוב ולהשתמש בה.
הפעלת PMU במכונת חישוב קיימת
לפני שמפעילים את PMU במופע קיים של Compute, צריך לוודא שמופע ה-Compute משתמש בסדרת מכונות ופלטפורמת CPU נתמכות. כדי לאמת את סדרת המכונות ופלטפורמת המעבד שמופע המחשוב משתמש בהם, צריך לעיין בפרטים של מופע המחשוב.
אם מופע המחשוב לא משתמש בסדרת מכונות נתמכת, צריך להחליף את סוג המכונה של מופע המחשוב. אפשר לעשות את זה באחת משתי דרכים: העברת עומס העבודה למופע חדש של מחשוב שמשתמש בסוג מכונה נתמך, או שינוי סוג המכונה להגדרות נתמכות:
אם אתם צריכים להעביר את מכונת החישוב הקיימת למכונת חישוב חדשה כדי לשנות את סוג המכונה, אתם צריכים ליצור מכונת חישוב חדשה שבה PMU מופעל באזור שבו פלטפורמת ה-CPU שבה אתם רוצים להשתמש עם אירועי PMU זמינה.
אם אפשר לשנות את סוג המכונה, צריך לבצע את השלבים הבאים:
כדי לוודא שפלטפורמת CPU נתמכת זמינה באזור שבו קיים מופע Compute, אפשר לעיין באזורים ובאזורי זמינות.
אם פלטפורמת CPU נתמכת לא זמינה באזור של מופע Compute, צריך להעביר את מופע Compute לאזור שבו יש פלטפורמת CPU נתמכת.
שינוי סוג המכונה. כדי להפעיל את סוג ה-PMU הארכיטקטוני או הרגיל, אפשר לציין כל סוג מכונה A4X, C4A, C4 או M4. עם זאת, כדי להפעיל את סוג ה-PMU המשופר, צריך לציין אחד מסוגי המכונות הבאים מסוג C4 או M4:
כל סוג מכונה C4 עם 144 או 288 יחידות vCPU
אחד מסוגי המכונות הבאים של M4:
m4-megamem-112m4-megamem-224m4-ultramem-56m4-ultramem-112m4-ultramem-224
לא צריך להפסיק את מופע המחשוב כדי להפעיל את PMU. עם זאת, כדי שהשינוי ייכנס לתוקף, צריך להפעיל מחדש את מופע המחשוב כמו שמתואר בקטע הזה.
כדי להפעיל את PMU במכונת חישוב קיימת, בוחרים באחת מהאפשרויות הבאות:
gcloud
יוצרים קובץ YAML ריק.
כדי לייצא את המאפיינים של מכונת Compute לקובץ ה-YAML שיצרתם, משתמשים בפקודה
gcloud compute instances export:gcloud compute instances export INSTANCE_NAME \ --destination=YAML_FILE \ --zone=ZONEמחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute.
YAML_FILE: הנתיב לקובץ ה-YAML שיצרתם בשלב הקודם.
ZONE: האזור שבו קיימת מכונת ה-Compute.
בקובץ ההגדרות ב-YAML, בשדה
advancedMachineFeatures, מוסיפים את השדהperformanceMonitoringUnit. אם השדהadvancedMachineFeaturesלא קיים, מוסיפים אותו גם כן:advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPEמחליפים את
PMU_TYPEבאחד מהערכים הבאים:סוג PMU ארכיטקטוני:
ARCHITECTURALסוג PMU רגיל:
STANDARDסוג PMU משופר:
ENHANCED
כדי לעדכן את מכונת ה-Compute ולהפעיל אותה מחדש, משתמשים בפקודה
gcloud compute instances update-from-fileעם הדגל--most-disruptive-allowed-actionשמוגדר לערךRESTART:gcloud compute instances update-from-file INSTANCE_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONEמחליפים את
YAML_FILEבנתיב לקובץ ה-YAML עם נתוני ההגדרה ששיניתם בשלב הקודם.
REST
כדי להציג את המאפיינים של מכונת חישוב קיימת, שולחים בקשת
GETאל ה-methodinstances.get:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAMEמחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו יצרתם את מופע Compute.
ZONE: האזור שבו קיימת מכונת ה-Compute.
INSTANCE_NAME: השם של מכונת ה-Compute.
כדי לעדכן את מכונת החישוב ולהפעיל אותה מחדש, שולחים בקשת
PUTאל ה-methodinstances.updateבאופן הבא:בכתובת ה-URL של הבקשה, כוללים את פרמטר השאילתה
mostDisruptiveAllowedActionשמוגדר לערךRESTART.בגוף הבקשה, משתמשים ב
GETפלט הבקשה מהשלב הקודם. עם זאת, בשדהadvancedMachineFeatures, צריך להוסיף את השדהperformanceMonitoringUnitכדי להפעיל את ה-PMU. אם השדהadvancedMachineFeaturesלא קיים בפלט של הבקשה, צריך להוסיף אותו גם כן:
בקשת
PUTדומה לבקשה הבאה:PUT https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }מחליפים את
PMU_TYPEבאחד מהערכים הבאים:סוג PMU ארכיטקטוני:
ARCHITECTURALסוג PMU רגיל:
STANDARDסוג PMU משופר:
ENHANCED
מידע נוסף על עדכון המאפיינים של מופע חישוב זמין במאמר בנושא עדכון מאפייני מופע.
הפעלת ה-PMU בזמן יצירת מכונת חישוב
אפשר ליצור מופע של Compute עם PMU מופעל רק באזור שמכיל פלטפורמת CPU נתמכת. רשימת המעבדים הזמינים לפי אזור מופיעה במאמר אזורים ותחומים זמינים.
כדי ליצור מכונת חישוב עם PMU מופעל, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור מכונת Compute עם PMU מופעל, משתמשים בפקודה gcloud compute instances create עם הדגל --performance-monitoring-unit:
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--performance-monitoring-unit=PMU_TYPE \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME: השם של מכונת ה-Compute.
MACHINE_TYPE: סוג המכונה של מופע Compute. אם רוצים להפעיל את סוג ה-PMU המשופר במופע של Compute, אפשר להפעיל אותו רק אם מופע ה-Compute משתמש בסוג מכונה נתמך.
PMU_TYPE: סוג ה-PMU שרוצים להפעיל במופע של Compute. מציינים אחד מהערכים הבאים:סוג PMU ארכיטקטוני:
architecturalסוג PMU רגיל:
standardסוג PMU משופר:
enhanced
ZONE: האזור שבו יוצרים את מכונת ה-Compute.
REST
כדי ליצור מכונת חישוב עם PMU מופעל, שולחים בקשת POST אל ה-method instances.insert.
בגוף הבקשה, כוללים את השדה performanceMonitoringUnit:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"advancedMachineFeatures": {
"performanceMonitoringUnit": "PMU_TYPE"
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מכונת ה-Compute.
ZONE: האזור שבו יוצרים את מכונת ה-Compute.
INSTANCE_NAME: השם של מכונת ה-Compute.
MACHINE_TYPE: סוג המכונה של מופע Compute. אם רוצים להפעיל את סוג ה-PMU המשופר במופע של Compute, אפשר להפעיל אותו רק אם מופע ה-Compute משתמש בסוג מכונה נתמך.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
PMU_TYPE: סוג ה-PMU שרוצים להפעיל במופע של Compute. מציינים אחד מהערכים הבאים:סוג PMU ארכיטקטוני:
ARCHITECTURALסוג PMU רגיל:
STANDARDסוג PMU משופר:
ENHANCED
מידע נוסף על יצירת מכונת מחשוב זמין במאמר בנושא יצירה והפעלה של מכונה של Compute Engine.
הפעלת ה-PMU במהלך יצירת תבנית של הגדרות מכונה
אם רוצים ליצור תבנית של הגדרות מכונה אזורית שבה מוגדרת הפעלה של PMU, צריך לוודא שלפחות תחום (zone) אחד באזור שנבחר מכיל פלטפורמת מעבד (CPU) נתמכת. רשימת המעבדים (CPU) שזמינים לפי אזור מופיעה במאמר אזורים ותחומים זמינים.
אחרי שיוצרים תבנית של הגדרות מכונה שבה מצוין להפעיל את PMU, אפשר להשתמש בתבנית כדי לבצע את הפעולות הבאות:
מפעילים את PMU במכונות של קבוצת מופעי מכונה מנוהלים (MIG) כשמבצעים את הפעולות הבאות:
כדי ליצור תבנית של הגדרות מכונה שבה מוגדרת הפעלה של PMU, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור תבנית של הגדרות מכונה שמציינת הפעלה של PMU, משתמשים בפקודה gcloud compute instance-templates create עם הדגל --performance-monitoring-unit.
לדוגמה, משתמשים בפקודה הבאה כדי ליצור תבנית של מופע אזורי. כדי ליצור תבנית גלובלית של הגדרות מכונה, משתמשים באותה פקודה בלי הדגל --instance-template-region.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE \
--performance-monitoring-unit=PMU_TYPE
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
REGION: האזור שבו רוצים ליצור את תבנית הגדרות המכונה.
MACHINE_TYPE: סוג המכונה של מופעי Compute. אם רוצים להפעיל את סוג ה-PMU המשופר במופע של Compute, אפשר להפעיל אותו רק אם מופע ה-Compute משתמש בסוג מכונה נתמך.
PMU_TYPE: סוג ה-PMU שרוצים לכלול בתבנית של הגדרות המכונה. מציינים אחד מהערכים הבאים:סוג PMU ארכיטקטוני:
architecturalסוג PMU רגיל:
standardסוג PMU משופר:
enhanced
REST
כדי ליצור תבנית של הגדרות מכונה שמציינת הפעלה של PMU, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור תבנית של הגדרות מכונה גלובלית: שימוש ב-method
instanceTemplates.insert.כדי ליצור תבנית של הגדרות מכונה אזורית:
regionInstanceTemplates.insertmethod.
בגוף הבקשה, כוללים את השדה performanceMonitoringUnit.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה אזורית שמציינת הפעלה של PMU, שולחים בקשת POST באופן הבא:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"advancedMachineFeatures": {
"performanceMonitoringUnit": "PMU_TYPE"
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: המזהה של הפרויקט שבו רוצים ליצור את תבנית של הגדרות מכונה.
REGION: האזור שבו רוצים ליצור את תבנית הגדרות המכונה.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג המכונה של מופעי Compute. אם רוצים להפעיל את סוג ה-PMU המשופר במופע של Compute, אפשר להפעיל אותו רק אם מופע ה-Compute משתמש בסוג מכונה נתמך.
PMU_TYPE: סוג ה-PMU שרוצים לכלול בתבנית של הגדרות המכונה. מציינים אחד מהערכים הבאים:סוג PMU ארכיטקטוני:
ARCHITECTURALסוג PMU רגיל:
STANDARDסוג PMU משופר:
ENHANCED
מידע נוסף על יצירת תבנית של הגדרות מכונה זמין במאמר יצירת תבניות של הגדרות מכונה.