أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلىمستندات Apigee X. info
يوضّح هذا المستند كيفية ضبط مهلة الإدخال والإخراج على أجهزة توجيه Apigee Edge.
تمثّل مهلة الإدخال والإخراج على جهاز التوجيه الوقت الذي ينتظره جهاز التوجيه لتلقّي ردّ من "معالج الرسائل" بعد إنشاء الاتصال وإرسال الطلب إلى "معالج الرسائل". القيمة التلقائية لمهلة الإدخال والإخراج على جهاز التوجيه هي 57 ثانية.
يمكن زيادة مهلة الإدخال والإخراج لأجهزة التوجيه أو تقليلها عن القيمة التلقائية البالغة 57 ثانية استنادًا إلى احتياجاتك. ويمكن ضبطها بإحدى الطريقتَين التاليتَين:
- في مضيف افتراضي
- على جهاز التوجيه
تتحكّم الخصائص التالية في مهلة الإدخال والإخراج على أجهزة التوجيه:
| اسم السمة | الموقع الجغرافي | الوصف |
|---|---|---|
proxy_read_timeout
|
مضيف افتراضي |
تحدّد الحد الأقصى للوقت الذي ينتظره جهاز التوجيه لتلقّي ردّ من معالج الرسائل، بعد إنشاء الاتصال وإرسال الطلب إلى معالج الرسائل. إذا لم يتلقَّ جهاز التوجيه أي ردّ من "معالج الرسائل" خلال فترة المهلة هذه، تنتهي المهلة. تأخذ هذه السمة تلقائيًا القيمة التي تم ضبطها للـ
إذا تم تعديل هذه السمة باستخدام قيمة مهلة جديدة لمضيف افتراضي معيّن، فلن تتأثر سوى خوادم واجهة برمجة التطبيقات الوكيلة التي تستخدم هذا المضيف الافتراضي تحديدًا. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
جهاز التوجيه |
تحدّد الحد الأقصى للوقت الذي ينتظره جهاز التوجيه لتلقّي ردّ من "معالج الرسائل" بعد إنشاء الاتصال وإرسال الطلب إلى "معالج الرسائل". إذا لم يتلقَّ جهاز التوجيه أي ردّ من "معالج الرسائل" خلال فترة المهلة هذه، تنتهي المهلة. تُستخدَم هذه السمة لجميع المضيفين الافتراضيين على جهاز التوجيه هذا. القيمة التلقائية لهذه السمة هي 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
واجهة مستخدم Edge
لضبط المضيف الافتراضي باستخدام واجهة مستخدم Edge، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى واجهة مستخدم Edge.
- انتقِل إلى المشرف > المضيفون الافتراضيون.
- اختَر بيئة معيّنة تريد إجراء هذا التغيير فيها.
- اختَر المضيف الافتراضي المحدّد الذي تريد ضبط قيمة مهلة الإدخال والإخراج الجديدة له.
- ضمن السمات ، عدِّل قيمة مهلة قراءة الخادم الوكيل بالثواني.
على سبيل المثال، إذا أردت تغيير المهلة إلى 120 ثانية، اكتب 120 كما هو موضّح في الشكل التالي:
- احفظ التغيير.
واجهة برمجة تطبيقات Edge
لضبط المضيف الافتراضي باستخدام واجهة برمجة تطبيقات Edge، اتّبِع الخطوات التالية:
- احصل على الإعدادات الحالية للمضيف الافتراضي باستخدام
واجهة برمجة التطبيقات "الحصول على مضيف افتراضي" كما هو موضّح أدناه:
مستخدم Public Cloud
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>مستخدم Private Cloud
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 } - أضِف السمة
proxy_read_timeoutإلى حمولة 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باستخدام التغيير من خلال واجهة برمجة التطبيقات "تعديل مضيف افتراضي" على النحو التالي:مستخدم 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>
مستخدم Private Cloud
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.
- نفِّذ
واجهة برمجة التطبيقات "الحصول على مضيف افتراضي" للحصول على إعدادات
virtualhostكما هو موضّح أدناه:مستخدم Public Cloud
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>مستخدم Private Cloud
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.
ضبط مهلة الإدخال والإخراج على أجهزة التوجيه
يوضّح هذا القسم كيفية ضبط مهلة الإدخال والإخراج على أجهزة التوجيه. يمكن ضبط مهلة الإدخال والإخراج من خلال سمة جهاز التوجيه
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
يمكنك أيضًا تعديل مهلة الإدخال والإخراج بالدقائق. على سبيل المثال، لتغيير المهلة إلى دقيقتَين، أضِف السطر التالي:
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.
ما هي الخطوة التالية؟
التعرّف على ضبط مهلة الإدخال والإخراج في "معالج الرسائل"