הגדרת זמן קצוב לתפוגה של קלט/פלט בנתבים

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

במסמך הזה מוסבר איך להגדיר את הזמן הקצוב לתפוגה של קלט/פלט בנתבים של Apigee Edge.

הזמן הקצוב לתפוגה של קלט/פלט בנתב מייצג את הזמן שבו הנתב ממתין לקבלת תגובה ממעבד ההודעות, לאחר יצירת החיבור ושליחת הבקשה למעבד ההודעות. ערך ברירת המחדל של הזמן הקצוב לתפוגה של קלט/פלט בנתב הוא 57 שניות.

אפשר להגדיל או להקטין את הזמן הקצוב לתפוגה של קלט/פלט (I/O) בנתבים מערך ברירת המחדל של 57 שניות בהתאם לצרכים שלכם. אפשר להגדיר אותו בדרכים הבאות:

  • במארח וירטואלי
  • בנתב

המאפיינים הבאים קובעים את הזמן הקצוב לתפוגה של קלט/פלט בנתבים:

שם הנכס מיקום תיאור
proxy_read_timeout מארח וירטואלי

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

אם לא תתקבל תגובה ממעבד ההודעות במהלך פרק הזמן הקצוב הזה, פג הזמן הקצוב של הנתב.

כברירת מחדל, הנכס הזה מקבל את הערך שהוגדר עבור המאפיין conf_load_balancing_load.balancing.driver.proxy.read.timeout בנתב. ערך ברירת המחדל הוא 57 שניות.

אם המאפיין הזה משתנה עם ערך חדש של זמן קצוב לתפוגה אצל מארח וירטואלי ספציפי, רק שרתי ה-proxy ל-API שמשתמשים במארח הווירטואלי הספציפי יושפעו.

conf_load_balancing_load.balancing.driver.proxy.read.timeout נתב

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

אם לא תתקבל תגובה ממעבד ההודעות במהלך פרק הזמן הקצוב הזה, פג הזמן הקצוב של הנתב.

הנכס הזה משמש לכל המארחים הווירטואליים בנתב הזה.

ערך ברירת המחדל של המאפיין הזה הוא 57 שניות.

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

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

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 יש כמה מעבדי הודעות הניסיונות החוזרים מופעלים כאשר מתרחשות שגיאות. הערך שלו הוא אחד מהערכים הבאים:

  • הערך הנוכחי של conf_load_balancing_load.balancing.driver.proxy.read.timeout
  • ערך ברירת המחדל של 57 שניות

כמו conf_load_balancing_load.balancing.driver.proxy.read.timeout ניתן לציין מרווחי זמן שונים מברירת המחדל (שניות).

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

לפני שתשתמשו בשלבים שבמסמך הזה, חשוב שתוודאו שאתם מבינים את הנושאים הבאים:

הגדרת זמן קצוב לתפוגה של קלט/פלט במארח וירטואלי

הקטע הזה מסביר איך להגדיר זמן קצוב לתפוגה של קלט/פלט במארח הווירטואלי המשויך של הארגון והסביבה. ניתן להגדיר את הזמן הקצוב לתפוגה של קלט/פלט במארח הווירטואלי באמצעות מאפיין proxy_read_timeout, שמייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט בשניות.

אפשר להגדיר את המארח הווירטואלי באחת מהשיטות הבאות:

  • ממשק המשתמש של Edge
  • API של Edge

ממשק המשתמש של Edge

כדי להגדיר את המארח הווירטואלי באמצעות ממשק המשתמש של Edge, מבצעים את הפעולות הבאות:

  1. מתחברים ל-Edge UI.
  2. עוברים לקטע ניהול > מארחים וירטואליים.
  3. בוחרים סביבה ספציפית שבה רוצים לבצע את השינוי הזה.
  4. בוחרים את המארח הווירטואלי הספציפי שעבורו רוצים להגדיר את ערך של זמן קצוב לתפוגה של קלט/פלט.
  5. בקטע מאפיינים, מעדכנים את הערך בשניות של הערך הזמן הקצוב לתפוגה של קריאה לשרת proxy.

    לדוגמה, אם רוצים לשנות את הזמן הקצוב לתפוגה ל-120 שניות, מקלידים 120 כפי שמוצג באיור הבא:

    ערך 120 הזמן הקצוב לתפוגת הקריאה של שרת ה-proxy

  6. שומרים את השינוי.

API של Edge

כדי להגדיר את המארח הווירטואלי באמצעות Edge API:

  1. קבלת התצורה הנוכחית של המארח הווירטואלי באמצעות קבלת ממשק API של מארח וירטואלי כפי שמוצג בהמשך:

    משתמש ב-Public Cloud

    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} הוא השם של המארח הווירטואלי

    דוגמה להגדרה של מארח וירטואלי

        {
          "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
        }
    
  2. הוספת הנכס proxy_read_timeout להגדרה הקיימת של המארח הווירטואלי מטען ייעודי (payload) של JSON מתחת ל-properties עם הערך בשניות.

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט (I/O) ל-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
    }
    
  3. שומרים את התצורה המעודכנת של המארח הווירטואלי בקובץ. לדוגמה, virtualhost-payload.json
  4. מעדכנים את ההגדרה של virtualhost עם השינוי באמצעות התחילית מעדכנים את ה-API של המארח הווירטואלי באופן הבא:

    משתמש ב-Public Cloud

    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.

  1. להפעיל את אחזור API של מארח וירטואלי כדי לקבל את ההגדרה של virtualhost כמו בדוגמה הבאה:

    משתמש ב-Public Cloud

    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} הוא השם של המארח הווירטואלי

  2. מוודאים שהנכס 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 שניות.

  3. אם הערך הישן של proxy_read_timeout, עדיין מופיע, עליך לאמת ביצעתם את כל השלבים שמפורטים בהגדרת זמן קצוב לתפוגה של קלט/פלט במארח וירטואלי בצורה נכונה. אם פספסתם שלב כלשהו, יש לחזור על השלבים האלה שוב בצורה נכונה.
  4. אם עדיין אין לכם אפשרות לשנות את הזמן הקצוב לתפוגה של קלט/פלט, צרו קשר עם התמיכה של Apigee Edge.

הגדרת זמן קצוב לתפוגה של קלט/פלט בנתבים

בקטע הזה מוסבר איך להגדיר זמן קצוב לתפוגה של קלט/פלט בנתבים. הזמן הקצוב לתפוגה של קלט/פלט יכול להיות שהוגדרו באמצעות המאפיין 'נתב' conf_load_balancing_load.balancing.driver.proxy.read.timeout, שמייצג את ערך הזמן הקצוב לתפוגה של קלט/פלט בשניות.

כדי להגדיר זמן קצוב לתפוגה של קלט/פלט בנתבים:

  1. במחשב הנתב, פותחים את הקובץ הבא בעורך. אם הוא עדיין לא קיים, יוצרים אותו.
    /opt/apigee/customer/application/router.properties
    

    לדוגמה, כדי לפתוח את הקובץ עם vi, מזינים את הפקודה הבאה:

    vi /opt/apigee/customer/application/router.properties
    
  2. מוסיפים לקובץ properties שורה בפורמט הבא, במקום הערך של time_in_seconds:
  3. conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
    

    לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה של קלט/פלט בנתב ל-120 שניות, מוסיפים את השורה הבאה:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
    

    אפשר גם לשנות את הזמן הקצוב לתפוגה של קלט/פלט בדקות. לדוגמה, כדי לשנות את הזמן הקצוב לתפוגה שתי דקות, מוסיפים את השורה הבאה:

    conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
    
  4. שומרים את השינויים.
  5. יש לוודא שקובץ המאפיינים הזה נמצא בבעלות של המשתמש ב-apigee, כפי שמוצג בהמשך:
    chown apigee:apigee /opt/apigee/customer/application/router.properties
    
  6. מפעילים מחדש את הנתב כפי שמוצג בהמשך:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    
  7. אם יש לכם כמה נתבים, צריך לחזור על השלבים שלמעלה בכל הנתבים.

אימות הזמן הקצוב לתפוגה של קלט/פלט בנתבים

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

גם אם משתמשים באסימון conf_load_balancing_load.balancing.driver.proxy.read.timeout כדי להגדיר את הזמן הקצוב לתפוגה של קלט/פלט בנתב, עליך לבדוק אם הנכס proxy_read_timeout בפועל מוגדר עם הערך החדש.

  1. חיפוש הנכס proxy_read_timeout ב /opt/nginx/conf.d ולבדוק אם היא הוגדרה באמצעות את הערך החדש באופן הבא:
    grep -ri "proxy_read_timeout" /opt/nginx/conf.d
    
  2. אם הערך החדש של הזמן הקצוב לתפוגת קלט/פלט (I/O) הוגדר בהצלחה בנתב, הפקודה שלמעלה מציג את הערך החדש בכל קובצי התצורה של המארח הווירטואלי.

    לפניכם התוצאה לדוגמה מהפקודה 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 שניות בנתב.

  3. אם עדיין מופיע הערך הישן של הנכס proxy_read_timeout, לוודא שביצעת את כל השלבים המפורטים הגדרת זמן קצוב לתפוגה של קלט/פלט בנתבים בצורה נכונה. אם יש לכם אם פספסתם שלב כלשהו, וחזרו על כל השלבים שוב בצורה נכונה.
  4. אם עדיין אין לכם אפשרות לשנות את הזמן הקצוב לתפוגה של קלט/פלט, צרו קשר עם התמיכה של Apigee Edge.

מה השלב הבא?

איך מגדירים זמן קצוב לתפוגה של קלט/פלט במעבד ההודעות