הפעלת G1GC במעבדי ההודעות

אתה צופה בתיעוד של Apigee Edge.
הצג תיעוד של Apigee X.

במסמך הזה מוסבר איך מפעילים את התכונה GarGage First Garbage Collector (G1GC) במעבדי ההודעות של Apigee Edge.

מעבד ההודעות של Apigee Edge פועל במכונה הווירטואלית (Java VM) של Java ומשתמש בברירת המחדל של Garbage Collector, בהתאם לחומרה ולהגדרות של מערכת ההפעלה. בנסיבות מסוימות ובהתאם לצרכים שלך, ייתכן שתרצו לשנות את הסוג של מנגנון פינוי האשפה, שמשמש את מעבד ההודעות.

G1GC הוא אוסף אשפה מדור קודם בעל השהיה נמוכה בסגנון Java HotSpot עבור מכונות, שמשפר את הביצועים הכוללים של מעבד ההודעות. בדרך כלל היא מתאימה לאפליקציות עם קבוצות נתונים בינוניות עד גדולות, שבהן זמן התגובה חשוב יותר מהתפוקה הכוללת. לדוגמה: אם גודל הערימה גדול (יותר מ-3GB), כדאי להשתמש ב-G1GC.

בדרך כלל מומלץ להגדיר פרמטר JVM נוסף UseStringDeduplicationביחד עם G1GC. הפרמטר הזה מבצע אופטימיזציה לשימוש בזיכרון הערימה של ה-Java על ידי יצירת ערכי מחרוזת זהים או זהים.

לפני שמתחילים

הפעלת G1GC במעבדי ההודעות

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

כדי להפעיל את G1GC במעבדי ההודעות, יש לבצע את השלבים הבאים:

  1. איתור אסימון לנכס useG1GC
  2. הפעלת G1GC במעבד ההודעות

איתור אסימון לשימוש בנכס G1GC

בשלבים הבאים מתואר איך לאתר את האסימון של נכס useG1GC:

  1. מחפשים את הנכס useG1GC בספריית המקור של מעבד ההודעות /opt/apigee/edge-message-processor/source באמצעות הפקודה הבאה:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/source
    
  2. הפלט של הפקודה הזו מראה את האסימון לנכס של מעבד ההודעות 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:

  1. יש לפתוח בכלי את הכלי לעריכת הודעות בקובץ /opt/apigee/customer/application/message-processor.properties. אם הקובץ כבר לא קיים, יוצרים אותו. למשל:
    vi /opt/apigee/customer/application/message-processor.properties
    
  2. מוסיפים את השורה הבאה לקובץ הזה:
    conf_system_useG1GC=true
    
  3. שומרים את השינויים.
  4. יש לוודא שקובץ הנכסים הזה נמצא בבעלות המשתמש apigee. למשל:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. מפעילים מחדש את מעבד ההודעות באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. אם יש לכם יותר ממעבד הודעות אחד, חוזרים על השלבים האלה בכל מעבדי ההודעות.

אימות ההגדרה של G1GC במעבדי ההודעות

בקטע הזה מוסבר איך לוודא שהגדרות G1GC שונו במעבדי ההודעות.

למרות שהשתמשת באסימון conf_system_useG1GC כדי להפעיל את G1GC במעבד ההודעות, עליך לאמת שהנכס useG1GC הוגדר בפועל עם הערך החדש:

  1. מחפשים את הנכס useG1GC בספרייה /opt/apigee/edge-message-processor/conf ובודקים אם הוא הוגדר עם הערך החדש. למשל:
    grep -ri "useG1GC" /opt/apigee/edge-message-processor/conf
    
  2. אם ה-G1GC מופעל במעבד ההודעות, הפקודה הקודמת מציגה את הערך החדש בקובץ system.properties.

    התוצאה לדוגמה מהפקודה הקודמת, אחרי שהפעלתם את G1GC במעבד ההודעות, היא:

    /opt/apigee/edge-message-processor/conf/system.properties:useG1GC=true
    

    בפלט לדוגמה, יש לשים לב שהנכס useG1GC הוגדר עם הערך החדש true ב-system.properties. פירוש הדבר ש-G1GC מופעל בהצלחה במעבד ההודעות.

  3. אם הערך הישן של הנכס useG1GC עדיין מופיע, יש לוודא שפעלת לפי כל השלבים המתוארים בהפעלה של G1GC במעבדי ההודעות. אם פספסת שלב, יש לחזור על כל השלבים שוב.
  4. אם אתם עדיין לא מצליחים להפעיל את G1GC, צרו קשר עם התמיכה של Apigee Edge.

מה השלב הבא?

הפעלה של ביטול כפילויות במחרוזות במעבדי הודעות