הגדרת גודל זיכרון הערימה (heap) בשרתי ה-Qpid

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

שרת Qpid של Apigee Edge הוא רכיב מבוסס-Java, וגודל זיכרון הערימה שמוגדר כברירת מחדל הוא 512 MB. עם זאת, גודל הזיכרון המוקצה (heap) שמוגדר כברירת מחדל עשוי שלא להספיק לכל תרחישי השימוש ב-Apigee Edge. יכול להיות שתצטרכו לשנות את גודל הזיכרון של הערימה בשרתי Qpid בהתאם לדרישות התנועה והעיבוד שלכם, או כדי לפתור בעיות שקשורות לזיכרון.

גודל הזיכרון של הערימה באפליקציית Java נשלט באמצעות הפרמטרים של שורת הפקודה של Java:‏ -Xms (גודל הערימה המינימלי) ו--Xmx (גודל הערימה המקסימלי). בשרתי Qpid של Apigee Edge, המאפיינים האלה נשלטים באמצעות bin_setenv_min_mem ו-bin_setenv_max_mem. מידע נוסף על הנכסים האלה זמין במאמר בנושא שינוי הגדרות הזיכרון של Java.

במאמר הזה מוסבר איך להגדיר את גודל הזיכרון של הערימה בשרתי Qpid של Apigee Edge.

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

שינוי זיכרון הערימה בשרתי Qpid

בקטע הזה מוסבר איך לשנות את גודל הזיכרון של הערימה בשרתים של Qpid. אפשר להגדיר זיכרון heap מינימלי ומקסימלי באמצעות המאפיינים bin_setenv_min_mem ו-bin_setenv_max_mem ברכיב השרת Qpid.

כדי לשנות את גודל הזיכרון של הערימה בשרתים של Qpid, מבצעים את השלבים הבאים:

  1. פותחים את הקובץ /opt/apigee/customer/application/qpid-server.properties במכונת השרת Qpid בעורך. אם הקובץ לא קיים, יוצרים אותו. לדוגמה:
    vi /opt/apigee/customer/application/qpid-server.properties
  2. מוסיפים את השורות הבאות לקובץ:
  3. bin_setenv_min_mem=minimum_heap_in_megabytes
    bin_setenv_max_mem=maximum_heap_in_megabytes

    לדוגמה, אם רוצים לשנות את גודל הערימה המינימלי והמקסימלי בשרת Qpid ל-1 GB ול-2 GB בהתאמה, צריך להוסיף את השורות הבאות לקובץ הזה:

    bin_setenv_min_mem=1024m
    bin_setenv_max_mem=2048m
  4. שומרים את השינויים.
  5. מוודאים שקובץ המאפיינים הזה נמצא בבעלות המשתמש apigee. לדוגמה:
    chown apigee:apigee /opt/apigee/customer/application/qpid-server.properties
  6. מפעילים מחדש את שרת Qpid באמצעות הפקודה הבאה:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  7. אם יש לכם יותר משרת Qpid אחד, צריך לחזור על השלבים האלה בכל שרתי Qpid.

אימות ההגדרה של זיכרון הערימה בשרתי Qpid

בקטע הזה מוסבר איך לוודא שהשינויים בזיכרון הערימה בוצעו בהצלחה בשרתי Qpid.

גם אם השתמשתם במאפיינים bin_setenv_min_mem ו-bin_setenv_max_mem כדי לשנות את גודל הזיכרון של הערימה בשרת Qpid, אתם צריכים לוודא שפרמטרי שורת הפקודה בפועל של Java‏ -Xms ו--Xmx הוגדרו עם הערכים החדשים באופן הבא:

  1. כדי לבדוק אם הפרמטרים של שורת הפקודה -Xms ו--Xmx הוגדרו עם הערכים החדשים של שרת Qpid, מריצים את הפקודה הבאה:
    ps -ef | grep qpid-server | egrep -o 'Xms[0-9a-z]+|Xmx[0-9a-z]+' | tr '\r' ' '
  2. אם הזיכרון המינימלי והמקסימלי של הערימה שונו בשרת Qpid, הפקודה הקודמת מציגה את הערך החדש שמופיע עבור -Xms ו--Xmx.

    תוצאת הדוגמה מהפקודה הקודמת, אחרי ששיניתם את הערימה המינימלית והמקסימלית בשרת Qpid, היא כדלקמן:

    Xms1024m
    Xmx2048m

    בפלט לדוגמה, אפשר לראות שהערכים החדשים של ערימת המינימום והמקסימום הוגדרו.

  3. אם עדיין מוצגים הערכים הישנים של -Xms ו--Xmx, צריך לוודא שביצעתם את כל השלבים שמתוארים במאמר שינוי גודל הזיכרון של הערימה בשרתים של Qpid בצורה נכונה. אם פספסתם שלב כלשהו, חזרו על כל השלבים בצורה נכונה.
  4. אם עדיין אין לך אפשרות לשנות את זיכרון הערימה, אפשר לפנות אל התמיכה של Apigee.

מה השלב הבא?

הגדרת גודל זיכרון הערימה במעבדי הודעות