בהתאם לדרישות התעבורה והעיבוד שלכם, ייתכן שתצטרכו לשנות את גודל זיכרון הערימה או את גודל המטא-נתונים של המחלקה בצמתים שמריצים בהם רכיבי ענן פרטי שמבוסס על Java.
בקטע הזה מוצגים הגדלים המומלצים של זיכרון ערימה (heap) שמוגדרים כברירת מחדל ב-Java, וגם התהליך לשינוי ברירות המחדל. לבסוף, בקטע הזה מוסבר איך לשנות הגדרות JVM אחרות באמצעות קובצי מאפיינים.
גודל ברירת המחדל של זיכרון ערימה (heap) וגדלים מומלצים
בטבלה הבאה מפורטים הגדלים המומלצים של זיכרון ערימה (heap) שמוגדרים כברירת מחדל ב-Java לרכיבי ענן פרטי שמבוסס על Java:
רכיב | שם קובץ המאפיינים | ברירת מחדל גודל ערימה (heap size) |
מומלץ גודל ערימה |
---|---|---|---|
זמן ריצה | |||
קסנדרה | לא רלוונטי | מוגדר באופן אוטומטי1 | מוגדר באופן אוטומטי1 |
מעבד בקשות | message‑processor.properties |
512MB | 3GB – 6GB 2 |
נתב | router.properties |
512MB | 512MB |
Analytics | |||
שרת Postgres | postgres‑server.properties |
512MB | 512MB |
שרת Qpid | qpid‑server.properties |
512MB | 2GB - 4GB |
ניהול | |||
שרת ניהול | management‑server.properties |
512MB | 512MB |
UI | ui.properties |
512MB | 512MB |
OpenLDAP | לא רלוונטי | אפליקציה מותאמת3 | אפליקציה מותאמת3 |
מטפל בגן חיות | zookeeper.properties |
2,048MB | 2,048MB |
הערות | |||
1 Cassandra מחשבת באופן דינמי את גודל הערימה המקסימלי כשהיא מופעלת. נכון לעכשיו, זהו חצי מזיכרון המערכת הכולל, עם 8,192MB לכל היותר. למידע על הגדרת גודל הערימה (heap) אפשר לקרוא את המאמר שינוי גודל זיכרון הערימה. |
|||
2 לגבי מעבדי הודעות, ההמלצה של Apigee היא להגדיר את גודל הערימה
בין 3GB ל-6GB. צריך להגדיל את הערימה (heap) מעבר ל-6GB רק אחרי
ביצוע בדיקות ביצועים.
אם השימוש בערימה (heap) מתקרב למגבלה המקסימלית במהלך בדיקת הביצועים, צריך להגדיל את המגבלה. למידע על הגדרת גודל הערימה (heap) אפשר לקרוא את המאמר שינוי הגודל של זיכרון הערימה. |
|||
3 לא כל הרכיבים של הענן הפרטי מוטמעים ב-Java. מאחר שהן לא מבוססות על Java, לאפליקציות שפועלות במקור בפלטפורמת המארח אין גודלי ערימה של Java שניתנים להגדרה. במקום זאת, הן מסתמכות על מערכת המארח לניהול זיכרון. |
כדי לקבוע כמה מהזיכרון הכולל של Apigee מומלץ להקצות לרכיבים מבוססי Java בצומת, צריך להוסיף את הערכים המפורטים למעלה לכל רכיב בצומת הזה. לדוגמה, אם הצומת שלך מארח גם את שרתי Postgres וגם את שרת Qpid, Apigee ממליצה שהקצאת הזיכרון המשולבת תהיה בין 2.5GB ל-4.5GB.
כאן תוכלו למצוא רשימה של כל רכיבי החומרה הנדרשים (כמו RAM).
שינוי הגודל של זיכרון הערימה (heap)
כדי לשנות את ההגדרות של זיכרון הערימה, צריך לערוך את קובץ המאפיינים של הרכיב. לדוגמה, עבור מעבד ההודעות, עורכים את הקובץ /opt/apigee/customer/application/message-processor.properties
.
אם הקובץ message-processor.properties
לא קיים, או אם קובץ ה-.properties
המתאים לא קיים לרכיב כלשהו ב-Edge, יוצרים אותו ואז משנים את הבעלות על הקובץ למשתמש ה-"apigee", כפי שניתן לראות בדוגמה הבאה:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
אם הרכיב מותקן בכמה מכונות, כמו מעבד ההודעות, צריך לערוך את קובץ המאפיינים בכל המחשבים שמארחים את הרכיב.
בטבלה הבאה מפורטים המאפיינים שאפשר לערוך כדי לשנות את הגודל של הערימה:
נכס | התיאור |
---|---|
bin_setenv_min_mem |
גודל הערימה המינימלי. ברירת המחדל מבוססת על הערכים שמופיעים בקטע ברירת המחדל וגדלים מומלצים של זיכרון ערימה. ההגדרה הזו תואמת לאפשרות |
bin_setenv_max_mem |
גודל הערימה (heap) המקסימלי. ברירת המחדל מבוססת על הערכים שמופיעים בקטע ברירת המחדל וגדלים מומלצים של זיכרון ערימה. ההגדרה הזו תואמת לאפשרות |
bin_setenv_meta_space_size |
גודל ברירת המחדל של המטא-נתונים של הכיתה. ערך ברירת המחדל מוגדר לערך של
ההגדרה הזו תואמת לאפשרות |
כשמגדירים מאפיינים של גודל ערימה בצומת, צריך להשתמש בסיומת "m" כדי לציין מגה-בייט, כפי שמוצג בדוגמה הבאה:
bin_setenv_min_mem=4500m bin_setenv_max_mem=4500m bin_setenv_meta_space_size=1024m
לאחר הגדרת הערכים בקובץ המאפיינים, יש להפעיל מחדש את הרכיב:
/opt/apigee/apigee-service/bin/apigee-service component restart
לדוגמה:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
שינוי מאפייני JVM אחרים
עבור הגדרות Java שאינן נשלטות על ידי המאפיינים המפורטים למעלה, אפשר גם להגדיר את בקובץ המאפיינים הבא עבור כל רכיב Edge:
bin_setenv_ext_jvm_opts
: מגדירים כל מאפיין Java שלא צוין על ידי מאפיינים אחרים. לדוגמה:bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500
עם זאת, אין להשתמש ב-
bin_setenv_ext_jvm_opts
כדי להגדיר את-Xms
,-Xmx
או-XX:MetaspaceSize
, כי הערכים האלה נשלטים על ידי המאפיינים שמפורטים למעלה.
לטיפים נוספים על הגדרת זיכרון לרכיבי ענן פרטי, תוכלו לקרוא את המאמר הזה בפורומים של Edge.