אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X. מידע
במאמר הזה מוסבר איך להגדיר את פרק הזמן הקצוב לתפוקת קלט/פלט בנתבים של Apigee Edge.
הזמן הקצוב לתפוגה של קלט/פלט בנתב מייצג את הזמן שהנתב ממתין לקבלת תגובה ממעבד ההודעות, אחרי יצירת החיבור ושליחת הבקשה למעבד ההודעות. ערך ברירת המחדל של הזמן הקצוב לתפוגה של קלט/פלט בנתב הוא 57 שניות.
אפשר להגדיל או להקטין את הזמן הקצוב לתפוגה של קלט/פלט בנתבי תנועה (Routers) מהערך שמוגדר כברירת מחדל של 57 שניות בהתאם לצרכים שלכם. אפשר להגדיר אותו בדרכים הבאות:
- במארח וירטואלי
- בנתב
המאפיינים הבאים שולטים בפסק הזמן של קלט/פלט בנתבים:
| שם הנכס | מיקום | תיאור |
|---|---|---|
proxy_read_timeout
|
מארח וירטואלי |
ההגדרה קובעת את משך הזמן המקסימלי שבו הנתב ימתין לקבלת תגובה ממעבד ההודעות, אחרי יצירת החיבור ושליחת הבקשה למעבד ההודעות. אם לא מתקבלת תגובה ממעבד ההודעות במהלך פסק הזמן הזה, נגרם פסק זמן בנתב. כברירת מחדל, הערך של המאפיין הזה הוא הערך שמוגדר למאפיין אם משנים את המאפיין הזה עם ערך חדש של זמן קצוב לתפוגה עבור מארח וירטואלי ספציפי, השינוי ישפיע רק על שרתי proxy של API שמשתמשים במארח הווירטואלי הספציפי הזה. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
נתב |
ההגדרה קובעת את משך הזמן המקסימלי שבו הנתב (Router) ימתין לקבלת תגובה ממעבד ההודעות (Message Processor), אחרי יצירת החיבור ושליחת הבקשה למעבד ההודעות. אם לא מתקבלת תגובה ממעבד ההודעות במהלך פסק הזמן הזה, הנתב מפסיק את הפעולה. המאפיין הזה משמש לכל המארחים הווירטואליים בנתב הזה. ערך ברירת המחדל של המאפיין הזה הוא 57 שניות. אפשר לשנות את המאפיין הזה כמו שמוסבר בקטע הגדרת פסק זמן לקלט/פלט בנתבים שבהמשך, או להגדיר את המאפיין אפשר להגדיר את מרווח הזמן של המאפיין הזה למשהו אחר משניות באמצעות הסימון הבא: ms: milliseconds s: seconds (default) m: minutes h: hours d: days w: weeks M: months (length of 30 days) y: years (length of 365 days) |
conf_load_balancing_load.balancing.driver.nginx.upstream_next_timeout
|
נתב |
הזמן הכולל שהנתב ממתין לקבלת תשובה מכל מעבדי ההודעות, אחרי יצירת החיבור ושליחת הבקשה לכל מעבד הודעות. האפשרות הזו רלוונטית אם בהתקנת Edge יש כמה מעבדי הודעות, ואם מופעל ניסיון חוזר כשמתרחשות שגיאות. הערך שלו הוא אחד מהערכים הבאים:
בדומה לנכס |
לפני שמתחילים
לפני שמשתמשים בשלבים שמתוארים במאמר הזה, חשוב להבין את הנושאים הבאים:
- אם אתם לא מכירים את המאפיינים של מארחים וירטואליים, כדאי לקרוא את המאמר בנושא הפניה למאפיינים של מארחים וירטואליים.
- אם אתם לא יודעים איך מגדירים מאפיינים ל-Edge ב-Private Cloud, כדאי לקרוא את המאמר איך מגדירים את Edge.
- מקפידים לפעול בהתאם להמלצות בנושא השיטות המומלצות להגדרת פסק זמן לקלט/פלט.
הגדרת פסק זמן של קלט/פלט במארח וירטואלי
בקטע הזה מוסבר איך להגדיר פסק זמן של קלט/פלט במארח הווירטואלי שמשויך לארגון ולסביבה. אפשר להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במארח הווירטואלי באמצעות המאפיין proxy_read_timeout, שמייצג את הערך של הזמן הקצוב לתפוגה של קלט/פלט בשניות.
אפשר להגדיר את המארח הווירטואלי באחת מהדרכים הבאות:
- ממשק משתמש של Edge
- Edge API
ממשק משתמש של Edge
כדי להגדיר את המארח הווירטואלי באמצעות ממשק המשתמש של Edge:
- מתחברים אל ממשק המשתמש של Edge.
- עוברים אל ניהול > מארחים וירטואליים.
- בוחרים סביבה ספציפית שבה רוצים לבצע את השינוי.
- בוחרים את המארח הווירטואלי הספציפי שרוצים להגדיר לו את ערך הזמן הקצוב לתפוקת קלט/פלט.
- בקטע Properties (מאפיינים), מעדכנים את הערך של Proxy Read Timeout (זמן קצוב לתפוגה של קריאת פרוקסי) בשניות.
לדוגמה, אם רוצים לשנות את הזמן הקצוב לתפוגה ל-120 שניות, מקלידים 120 כמו שמוצג באיור הבא:
- שומרים את השינוי.
Edge API
כדי להגדיר את המארח הווירטואלי באמצעות Edge API:
- מקבלים את ההגדרה הנוכחית של המארח הווירטואלי באמצעות ה-API של
Get virtual host, כמו שמוצג בהמשך:
משתמש בענן ציבורי
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>משתמש בענן פרטי
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>כאשר:
{organization-name} הוא שם הארגון
{environment-name} הוא שם הסביבה
{virtualhost-name} הוא השם של המארח הווירטואלי
דוגמה להגדרת virtualhost
{ "hostAliases": [ "api.myCompany,com" ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false } - מוסיפים את המאפיין
proxy_read_timeoutלמטען הייעודי (payload) של JSON של הגדרת המארח הווירטואלי הקיים בקטעpropertiesעם הערך בשניות.לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט ל-120 שניות, מוסיפים את בלוק הקוד
propertiesכפי שמוצג בהמשך:דוגמה מעודכנת להגדרת מארח וירטואלי
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false } - שומרים את ההגדרות המעודכנות של המארח הווירטואלי בקובץ. לדוגמה,
virtualhost-payload.json. - מעדכנים את ההגדרה של
virtualhostבאמצעות API Update a virtual host באופן הבא:משתמש בענן ציבורי
curl -v -X POST Content-Type: application/json https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
משתמש בענן פרטי
curl -v -X POST Content-Type: application/json http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u <username>
כאשר:
{organization-name} הוא שם הארגון
{environment-name} הוא שם הסביבה
{virtualhost-name} הוא השם של המארח הווירטואלי
אימות של פסק זמן לקלט/פלט במארחים וירטואליים
בקטע הזה מוסבר איך לוודא ששיניתם את הזמן הקצוב לתפוגה של קלט/פלט במארח הווירטואלי באמצעות Edge API.
- מריצים את ה-API
Get virtual host כדי לקבל את ההגדרה של
virtualhostכמו שמוצג למטה:משתמש בענן ציבורי
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>משתמש בענן פרטי
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>כאשר:
{organization-name} הוא שם הארגון
{environment-name} הוא שם הסביבה
{virtualhost-name} הוא השם של המארח הווירטואלי
- מוודאים שהמאפיין
proxy_read_timeoutהוגדר לערך החדש.דוגמה מעודכנת להגדרת מארח וירטואלי
{ "hostAliases": [ "api.myCompany,com", ], "interfaces": [], "listenOptions": [], "name": "secure", "port": "443", "retryOptions": [], "properties": { "property": [ { "name": "proxy_read_timeout", "value": "120" } ] }, "sSLInfo": { "ciphers": [], "clientAuthEnabled": "false", "enabled": "true", "ignoreValidationErrors": false, "keyAlias": "myCompanyKeyAlias", "keyStore": "ref://myCompanyKeystoreref", "protocols": [] }, "useBuiltInFreeTrialCert": false }בדוגמה שלמעלה, שימו לב שהערך של
proxy_read_timeoutהוגדר כ-120 שניות. - אם עדיין מוצג הערך הישן של
proxy_read_timeout,, צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר הגדרת פסק זמן לקלט/פלט במארח וירטואלי. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה. - אם עדיין לא ניתן לשנות את הזמן הקצוב לתפוקה/תשומה, אפשר לפנות אל התמיכה של Apigee Edge.
הגדרת פסק זמן לקלט/פלט בנתבים
בקטע הזה מוסבר איך להגדיר פסק זמן לקלט/פלט בנתבים. אפשר להגדיר את הזמן הקצוב לתפוקת נתונים באמצעות המאפיין Router conf_load_balancing_load.balancing.driver.proxy.read.timeout, שמייצג את הערך של הזמן הקצוב לתפוקת נתונים בשניות.
כדי להגדיר פסק זמן לקלט/פלט בנתבים:
- במחשב של הנתב, פותחים את הקובץ הבא בעורך. אם הוא לא קיים, יוצרים אותו.
/opt/apigee/customer/application/router.properties
לדוגמה, כדי לפתוח את הקובץ באמצעות
vi, מזינים את הפקודה הבאה:vi /opt/apigee/customer/application/router.properties
- מוסיפים לקובץ
propertiesשורה בפורמט הבא, ומחליפים אתtime_in_secondsבערך: - שומרים את השינויים.
- מוודאים שקובץ המאפיינים הזה נמצא בבעלות המשתמש
apigee, כמו שמוצג בהמשך:chown apigee:apigee /opt/apigee/customer/application/router.properties
- מפעילים מחדש את הנתב כמו שמוצג בהמשך:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- אם יש לכם יותר מנתב אחד, צריך לחזור על השלבים שלמעלה בכל הנתבים.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט בנתב ל-120 שניות, מוסיפים את השורה הבאה:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
אפשר גם לשנות את הזמן הקצוב לתפוגה של קלט/פלט בדקות. לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה ל-2 דקות, מוסיפים את השורה הבאה:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
אימות פסק זמן של קלט/פלט בנתבים
בקטע הזה מוסבר איך לוודא ששיניתם בהצלחה את הזמן הקצוב לתפוגה של קלט/פלט בנתבים.
למרות שמשתמשים באסימון
conf_load_balancing_load.balancing.driver.proxy.read.timeout כדי להגדיר את הזמן הקצוב לתפוקה/תשומה
בנתב, צריך לוודא שהמאפיין בפועל proxy_read_timeout הוגדר עם הערך החדש.
- מחפשים את הנכס
proxy_read_timeoutבספרייה/opt/nginx/conf.dובודקים אם הערך החדש הוגדר לו באופן הבא:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- אם הערך החדש של הזמן הקצוב לתפוגה של קלט/פלט מוגדר בהצלחה בנתב, הפקודה שלמעלה מציגה את הערך החדש בכל קובצי התצורה של המארחים הווירטואליים.
זוהי דוגמה לתוצאה של הפקודה
grepשלמעלה, כשהזמן הקצוב לתפוגה של קלט/פלט הוא 120 שניות:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
בדוגמת הפלט שלמעלה, שימו לב שהמאפיין
proxy_read_timeoutהוגדר עם הערך החדש 120 ב-0-default.conf, שהוא קובץ ההגדרות של המארח הווירטואלי שמוגדר כברירת מחדל. המשמעות היא שפסק הזמן של קלט/פלט הוגדר בהצלחה ל-120 שניות בנתב. - אם עדיין מוצג הערך הישן של המאפיין
proxy_read_timeout, צריך לוודא שפעלתם לפי כל השלבים שמפורטים במאמר בנושא הגדרת פסק זמן לקלט/פלט בנתבים. אם פספסתם שלב כלשהו, צריך לחזור על כל השלבים בצורה נכונה. - אם עדיין לא ניתן לשנות את הזמן הקצוב לתפוקה/תשומה, אפשר לפנות אל התמיכה של Apigee Edge.