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

אתם קוראים את מסמכי התיעוד של Apigee Edge.
למעבר אל מסמכי התיעוד של Apigee X
info

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

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

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

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

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

  • אם אינך מכיר את איסוף האשפה ואת הסוגים השונים של אוספי האשפה ב- ג'אווה, קרא את יסודות איסוף האשפה ב-Java.
  • אם אתם לא מכירים את G1GC, כדאי לקרוא את המאמר Getting started with the G1 Garbage Collector.
  • אם אתם לא יודעים איך להגדיר מאפיינים ל-Edge ב-ענן פרטי, קראו את המאמר איך מגדירים את Edge.

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

בקטע הזה מוסבר איך להפעיל את G1GC ב-Edge Message Processor. אפשר להפעיל את 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.

מה הלאה?

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