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

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

במאמר הזה מוסבר איך להפעיל את התכונה 'ביטול כפילויות של מחרוזות' במעבדי ההודעות של Apigee Edge.

התכונה String Deduplication (ביטול כפילויות של מחרוזות) היא תכונה ב-Java שעוזרת לחסוך בזיכרון שתופסים אובייקטים כפולים של מחרוזות באפליקציות Java. היא מצמצמת את הזיכרון שבשימוש של אובייקטים מסוג String בזיכרון הערימה של Java על ידי שיתוף של מערך התווים הזהה בין ערכי String כפולים או זהים.

מעבד ההודעות של Apigee Edge הוא רכיב מבוסס-Java. שימוש בביטול כפילויות של מחרוזות במעבד הודעות יכול לשפר את הביצועים של שרתי proxy של API על ידי צמצום השימוש בזיכרון, במיוחד אם שרתי ה-proxy של ה-API עושים שימוש רב במחרוזות.

אפשר להשתמש בתכונה String Deduplication רק עם G1 Garbage Collector ‏ (G1GC) באפליקציות Java. אם רוצים להפעיל את התכונה הזו במעבד ההודעות, צריך להפעיל את G1GC או להפעיל גם את G1GC וגם את ביטול הכפילויות של מחרוזות במעבד ההודעות.

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

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

בקטע הזה מוסבר איך מפעילים את התכונה String Deduplication (ביטול כפילויות של מחרוזות) במעבדי ההודעות של Edge. אפשר להפעיל את התכונה 'ביטול כפילויות של מחרוזות' באמצעות המאפיין useStringDeduplication ברכיב מעבד בקשות. כברירת מחדל, הערך של המאפיין הזה מוגדר כ-false במעבדי ההודעות. כדי להגדיר מאפיין כלשהו ב-Message Processor, משתמשים בטוקן בהתאם לתחביר שמתואר במאמר איך מגדירים את Edge.

כדי להפעיל את התכונה String Deduplication (ביטול כפילויות של מחרוזות) במעבדי ההודעות, פועלים לפי השלבים הבאים:

  1. איתור הטוקן של המאפיין useStringDeduplication
  2. הפעלת useStringDeduplication ב-מעבד בקשות

איתור הטוקן של המאפיין useStringDeduplication

כדי לאתר את האסימון לשימוש ב-useStringDeduplication, פועלים לפי השלבים הבאים:

  1. מחפשים את המאפיין useStringDeduplication בספריית המקור של Message Processor‏ /opt/apigee/edge-message-processor/source באמצעות הפקודה הבאה:
    grep -ri "useStringDeduplication" /opt/apigee/edge-message-processor/source
  2. הפלט של הפקודה הזו מציג את האסימון של המאפיין useStringDeduplication של מעבד ההודעות, באופן הבא:
    /opt/apigee/edge-message-processor/source/conf/system.properties:useStringDeduplication={T}conf_system_useStringDeduplication{/T}

    כאשר המחרוזת שבין התגים {T}{/T} היא שם האסימון שאפשר להגדיר בקובץ .properties של מעבד ההודעות. לכן, האסימון של הנכס useStringDeduplication הוא:

    conf_system_useStringDeduplication

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

בשלבים הבאים מוסבר איך להפעיל את התכונה 'ביטול כפילויות של מחרוזות' במעבדי ההודעות של Apigee:

  1. פותחים את הקובץ /opt/apigee/customer/application/message-processor.properties במכונה של מעבד ההודעות בעורך. אם הקובץ לא קיים, יוצרים אותו. לדוגמה:
    vi /opt/apigee/customer/application/message-processor.properties
  2. מוסיפים את השורה הבאה לקובץ:
    conf_system_useStringDeduplication=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. אם יש לכם יותר ממעבד הודעות אחד, צריך לחזור על השלבים האלה בכל מעבדי ההודעות.

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

בקטע הזה מוסבר איך לוודא שההגדרה 'ביטול כפילויות של מחרוזות' הופעלה בהצלחה במעבדי ההודעות.

גם אם משתמשים באסימון conf_system_useStringDeduplication כדי להפעיל את ביטול הכפילויות של מחרוזות במעבד ההודעות, צריך לוודא שהמאפיין בפועל useStringDeduplication הוגדר עם הערך החדש באופן הבא:

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

    התוצאה לדוגמה מהפקודה הקודמת אחרי שמפעילים את התכונה String Deduplication ב-Message Processor היא כזו:

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

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

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

מה הלאה?

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