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

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

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

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

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

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

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

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

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

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

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

איתור אסימון לנכס useG1GC

בשלבים הבאים מוסבר איך לאתר את האסימון בנכס 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.

מה השלב הבא?

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