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

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

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

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

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

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

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

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

בקטע הזה מוסבר איך להפעיל את G1GC במעבד ההודעות של Edge. אפשר להפעיל את G1GC באמצעות המאפיין useG1GC ברכיב מעבד בקשות. כברירת מחדל, המאפיין הזה מוגדר לערך false במעבדי ההודעות. כדי להגדיר מאפיין כלשהו ב-Message Processor, משתמשים בטוקן בהתאם לתחביר שמתואר במאמר איך מגדירים את 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 של Message Processor באופן הבא:
    /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 ב-Message Processor, צריך לוודא שהמאפיין בפועל useG1GC הוגדר עם הערך החדש באופן הבא:

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

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

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

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

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

מה הלאה?

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