בהתאם לדרישות התעבורה והעיבוד, יכול להיות שתצטרכו לשנות את גודל הזיכרון של הערימה או את גודל המטא-נתונים של המחלקה בצמתים שמריצים רכיבים של ענן פרטי שמבוססים על Java.
בקטע הזה מפורטים גדלי הזיכרון המומלצים והמוגדרים כברירת מחדל ב-Java heap, וגם התהליך לשינוי ברירות המחדל. בסוף, בקטע הזה מוסבר איך לשנות הגדרות אחרות של JVM באמצעות קובצי מאפיינים.
גדלים מומלצים של זיכרון Heap
בטבלה הבאה מפורטים גדלי ברירת המחדל וגדלי הזיכרון המומלצים ב-Java Heap לרכיבי ענן פרטי מבוססי-Java:
| רכיב | שם קובץ המאפיינים | גודל ברירת המחדל של ה-heap |
מומלץ גודל הערימה |
|---|---|---|---|
| זמן ריצה | |||
| Cassandra | לא רלוונטי | הגדרה אוטומטית1 | מוגדרים אוטומטית1 |
| מעבד בקשות | message‑processor.properties |
512MB | 3GB עד 6GB2 |
| נתב | router.properties |
512MB | 512MB |
| Analytics | |||
| שרת Postgres | postgres‑server.properties |
512MB | 512MB |
| שרת Qpid | qpid‑server.properties |
512MB | 2GB עד 4GB |
| ניהול | |||
| שרת ניהול | management‑server.properties |
512MB | 512MB |
ממשק משתמש חדש של Edge (edge-management-ui) |
לא רלוונטי | אפליקציית נייטיב3 | אפליקציית נייטיב3 |
| SymasLDAP | לא רלוונטי | אפליקציית נייטיב3 | אפליקציית נייטיב3 |
| מטפל בגן חיות | zookeeper.properties |
2048MB | 2048MB |
| הערות | |||
1 Cassandra מחשב באופן דינמי את גודל ה-heap המקסימלי כשהוא מופעל. נכון לעכשיו, זה חצי מנפח הזיכרון הכולל של המערכת, עד למקסימום של 8,192MB. מידע נוסף על הגדרת גודל ה-heap זמין במאמר שינוי גודל הזיכרון של ה-heap. |
|||
| 2 למעבדי בקשות, Apigee ממליצה להגדיר את גודל ה-heap בין 3GB ל-6GB. הגדילו את גודל ה-heap מעבר ל-6GB רק אחרי שביצעתם בדיקות ביצועים.
אם השימוש ב-heap מתקרב למגבלה המקסימלית במהלך בדיקת הביצועים, צריך להגדיל את המגבלה המקסימלית. מידע נוסף על הגדרת גודל ה-heap זמין במאמר שינוי גודל הזיכרון של ה-heap. |
|||
| 3 לא כל הרכיבים של ענן פרטי מוטמעים ב-Java. מכיוון שהן לא מבוססות על Java, לאפליקציות שפועלות באופן מקורי בפלטפורמה המארחת אין גודלי ערימה של Java שניתנים להגדרה. במקום זאת, הן מסתמכות על המערכת המארחת לניהול הזיכרון. | |||
כדי לקבוע כמה זיכרון כולל Apigee ממליצה להקצות לרכיבים מבוססי-Java בצומת, מוסיפים את הערכים שרשומים למעלה לכל רכיב בצומת הזה. לדוגמה, אם הצומת מארח גם את שרתי Postgres וגם את שרתי Qpid, Apigee ממליצה שהקצאת הזיכרון המשולבת תהיה בין 2.5GB ל-4.5GB.
רשימת החומרה הנדרשת (כמו זיכרון RAM) מופיעה במאמר בנושא דרישות ההתקנה.
שינוי הגדלים של זיכרון הערימה
כדי לשנות את הגדרות הזיכרון של הערימה, עורכים את קובץ המאפיינים של הרכיב. לדוגמה, כדי לערוך את מעבד ההודעות, צריך לערוך את הקובץ /opt/apigee/customer/application/message-processor.properties.
אם הקובץ message-processor.properties לא קיים, או אם הקובץ התואם .properties לא קיים עבור רכיב Edge כלשהו, צריך ליצור אותו ואז לשנות את הבעלות על הקובץ למשתמש 'apigee', כמו בדוגמה הבאה:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
אם הרכיב מותקן בכמה מכונות, כמו מעבד הבקשות, צריך לערוך את קובץ המאפיינים בכל המכונות שמארחות את הרכיב.
בטבלה הבאה מפורטים המאפיינים שצריך לערוך כדי לשנות את גודלי ה-heap:
| נכס | תיאור |
|---|---|
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.