בהתאם לדרישות התעבורה והעיבוד, יכול להיות שתצטרכו לשנות את גודל הזיכרון של הערימה או את גודל המטא-נתונים של המחלקה בצמתים שמריצים רכיבים של ענן פרטי שמבוססים על Java.
בקטע הזה מפורטים הגדלים המומלצים וגודלי ברירת המחדל של הזיכרון של Java, וגם התהליך לשינוי ברירות המחדל. בסוף הקטע הזה מוסבר איך לשנות הגדרות אחרות של JVM באמצעות קובצי מאפיינים.
גודל ברירת המחדל והגודל המומלץ של זיכרון הערימה
בטבלה הבאה מפורטים הגדלים המומלצים וגודלי ברירת המחדל של זיכרון הערימה של Java לרכיבי ענן פרטי שמבוססים על 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 |
| ממשק משתמש | ui.properties |
512MB | 512MB |
| OpenLDAP | לא רלוונטי | אפליקציית נייטיב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 |
הגודל המינימלי של ה-heap. ערך ברירת המחדל מבוסס על הערכים שמפורטים בקטע גדלים מומלצים וגדלים שמוגדרים כברירת מחדל של זיכרון הערימה. ההגדרה הזו תואמת לאפשרות |
bin_setenv_max_mem |
גודל הערימה המקסימלי. ערך ברירת המחדל מבוסס על הערכים שמפורטים בקטע גדלים מומלצים וגדלים שמוגדרים כברירת מחדל של זיכרון הערימה. ההגדרה הזו תואמת לאפשרות |
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.