כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
במסמך הזה מוסבר איך מפעילים את Garbage First Garbage Collector (G1GC) במעבדי הודעות של Apigee Edge.
מעבד ההודעות של Apigee Edge פועל במכונה וירטואלית של Java (JVM) ומשתמש בברירת המחדל של איסוף האשפה – טורי או מקביל, בהתאם לתצורות החומרה ומערכת ההפעלה. בנסיבות מסוימות ובהתאם לצרכים שלך, כדאי לשנות את סוג סלקטור האשפה שבו נעשה שימוש במעבד ההודעות.
ה-G1GC הוא אוסף אשפה בסגנון שרת בסגנון שרת, עם השהיה נמוכה ל-VM של Java HotSpot, שמשפר את הביצועים הכוללים של מעבד ההודעות. בדרך כלל הוא מיועד לאפליקציות עם קבוצות נתונים בגודל בינוני עד גדול, שבהן זמן התגובה חשוב יותר מהתפוקה הכוללת. לדוגמה: מומלץ להשתמש ב-G1GC אם גודל הערימה (heap) גדול (גדול מ-3GB).
בדרך כלל מומלץ להגדיר פרמטר JVM נוסף UseStringDeduplication
ביחד עם G1GC. הפרמטר הזה מבצע אופטימיזציה של השימוש בזיכרון ערימה של Java, כי לערכי המחרוזת הכפולים או הזהים יש מערך תווים זהה.
לפני שמתחילים
- אם אינך מתמצא בנושא איסוף אשפה וסוגים שונים של שירותים לאיסוף אשפה ב-Java, מומלץ לקרוא את המאמר Java Garbage Collection Basics.
- אם אתם לא מכירים את G1GC, כדאי לקרוא את המאמר תחילת השימוש ב-G1 Garbage Collector.
- אם אתם לא יודעים איך להגדיר מאפיינים ל-Edge ב-Private Cloud, קראו את ההוראות להגדרה של Edge.
הפעלת G1GC במעבדי הודעות
בקטע הזה מוסבר איך מפעילים את G1GC במעבד ההודעות של Edge. ניתן להפעיל את G1GC
דרך המאפיין useG1GC
ברכיב מעבד ההודעות. כברירת מחדל, המאפיין הזה מוגדר
כ-false
במעבדי הודעות. כדי להגדיר מאפיין כלשהו במעבד ההודעות, צריך להשתמש באסימון בהתאם לתחביר המתואר בקטע איך מגדירים את Edge.
כדי להפעיל את G1GC במעבדי הודעות, יש לבצע את הפעולות הבאות:
איתור אסימון לנכס useG1GC
בשלבים הבאים מוסבר איך לאתר את האסימון של מאפיין useG1GC:
- מחפשים את המאפיין
useG1GC
בספריית המקור של מעבד ההודעות/opt/apigee/edge-message-processor/source
באמצעות הפקודה הבאה:grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
-
בפלט של הפקודה הזו מוצג האסימון של המאפיין
useG1GC
של מעבד ההודעות באופן הבא:/opt/apigee/edge-message-processor/source/conf/system.properties:useG1GC={T}conf_system_useG1GC{/T}
כאשר המחרוזת בין תגי
{T}{/T}
היא שם האסימון שניתן להגדיר בקובץ.properties
של מעבד ההודעות. לכן, האסימון של הנכסuseG1GC
הוא:conf_system_useG1GC
הפעלת G1GC במעבדי הודעות
בשלבים הבאים מוסבר איך להפעיל את G1GC במעבדי ההודעות של Apigee:
-
פותחים את הקובץ
/opt/apigee/customer/application/message-processor.properties
במחשב שבמעבד ההודעות. אם הקובץ עדיין לא קיים, יוצרים אותו. לדוגמה:vi /opt/apigee/customer/application/message-processor.properties
-
מוסיפים את השורה הבאה לקובץ הזה:
conf_system_useG1GC=true
- שומרים את השינויים.
-
צריך לוודא שקובץ המאפיינים הזה הוא בבעלות המשתמש של
apigee
. לדוגמה:chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
-
מפעילים מחדש את מעבד ההודעות באמצעות הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- אם יש לכם יותר ממעבד הודעות אחד, צריך לחזור על השלבים האלה בכל מעבדי ההודעות.
אימות של תצורת G1GC במעבדי ההודעות
בקטע הזה מוסבר איך לוודא שההגדרה של G1GC שונתה בהצלחה במעבדי ההודעות.
למרות שמשתמשים באסימון conf_system_useG1GC
כדי להפעיל את G1GC במעבד ההודעות, צריך לוודא שהנכס useG1GC
בפועל הוגדר עם
הערך החדש באופן הבא:
-
מחפשים את הנכס
useG1GC
בספרייה/opt/apigee/edge-message-processor/conf
ובודקים שהוא הוגדר עם הערך החדש. לדוגמה:grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
-
אם ה-G1GC הופעל בהצלחה במעבד ההודעות, הפקודה הקודמת תציג את הערך החדש בקובץ
system.properties
.זו התוצאה לדוגמה מהפקודה הקודמת, אחרי שהפעלתם את G1GC במעבד ההודעות:
/opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
בפלט לדוגמה, שימו לב שהנכס
useG1GC
הוגדר עם הערך החדשtrue
ב-system.properties
. קוד זה מציין ש-G1GC הופעל בהצלחה במעבד ההודעות. -
אם הערך הישן של הנכס
useG1GC
עדיין מופיע, חשוב לוודא שביצעתם את כל השלבים המפורטים בקטע הפעלת G1GC במעבדי הודעות בצורה נכונה. אם החמצת שלב כלשהו, יש לחזור על כל השלבים בצורה נכונה. - אם עדיין אין לך אפשרות להפעיל את G1GC, אפשר לפנות לתמיכה של Apigee Edge.