คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
เอกสารนี้อธิบายวิธีกำหนดค่าการหมดเวลา I/O ในเราเตอร์ของ Apigee Edge
การหมดเวลา I/O ในเราเตอร์แสดงถึงระยะเวลาที่เรารอรับการตอบกลับจาก Message Processor หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง Message Processor ค่าเริ่มต้นของการหมดเวลา I/O ในเราเตอร์คือ 57 วินาที
คุณสามารถเพิ่มหรือลดการหมดเวลา I/O สำหรับเราเตอร์จากค่าเริ่มต้น 57 วินาที ได้ตามต้องการ โดยกำหนดค่าได้ด้วยวิธีต่อไปนี้
- ในโฮสต์เสมือน
- ในเราเตอร์
พร็อพเพอร์ตี้ต่อไปนี้ควบคุมการหมดเวลา I/O ในเราเตอร์
| ชื่อพร็อพเพอร์ตี้ | ตำแหน่ง | คำอธิบาย |
|---|---|---|
proxy_read_timeout
|
โฮสต์เสมือน |
ระบุระยะเวลาสูงสุดที่เรารอรับการตอบกลับจาก Message Processor หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง Message Processor หากไม่มีการตอบกลับจาก Message Processor ภายในระยะเวลาการหมดเวลานี้ เราเตอร์จะหมดเวลา โดยค่าเริ่มต้น พร็อพเพอร์ตี้จะใช้ค่าที่ตั้งไว้สำหรับ
หากมีการแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าการหมดเวลาใหม่สำหรับโฮสต์เสมือนที่เฉพาะเจาะจง ระบบจะส่งผลกระทบต่อพร็อกซี API ที่ใช้โฮสต์เสมือนที่เฉพาะเจาะจงนั้นเท่านั้น |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
เราเตอร์ |
ระบุระยะเวลาสูงสุดที่เรารอรับการตอบกลับจาก Message Processor หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง Message Processor หากไม่มีการตอบกลับจาก Message Processor ภายในระยะเวลาการหมดเวลานี้ เราเตอร์จะหมดเวลา พร็อพเพอร์ตี้นี้ใช้สำหรับโฮสต์เสมือนทั้งหมดในเราเตอร์นี้ ค่าเริ่มต้นของพร็อพเพอร์ตี้นี้คือ 57 วินาที คุณสามารถแก้ไขพร็อพเพอร์ตี้นี้ตามที่อธิบายไว้ใน
การกำหนดค่าการหมดเวลา I/O ในเราเตอร์ ด้านล่าง หรือเขียนทับ
ค่านี้โดยตั้งค่าพร็อพเพอร์ตี้ คุณสามารถตั้งค่าช่วงเวลาสำหรับพร็อพเพอร์ตี้นี้เป็นหน่วยอื่นที่ไม่ใช่วินาทีได้โดยใช้ สัญกรณ์ต่อไปนี้ 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
|
เราเตอร์ |
ระบุระยะเวลารวมที่เรารอรับการตอบกลับจาก Message Processor ทั้งหมด หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง Message Processor แต่ละรายการ การตั้งค่านี้ใช้ได้เมื่อการติดตั้ง Edge มี Message Processor หลายรายการและ เปิดใช้การลองอีกครั้งเมื่อเกิดข้อผิดพลาด โดยมีค่าเป็นค่าใดค่าหนึ่งต่อไปนี้
เช่นเดียวกับพร็อพเพอร์ตี้ |
ก่อนเริ่มต้น
ก่อนจะทำตามขั้นตอนในเอกสารนี้ โปรดตรวจสอบว่าคุณเข้าใจหัวข้อต่อไปนี้
- หากไม่คุ้นเคยกับพร็อพเพอร์ตี้โฮสต์เสมือน โปรดอ่าน ข้อมูลอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน
- หากไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge ใน Private Cloud โปรดอ่าน วิธีกำหนดค่า Edge
- ตรวจสอบว่าคุณได้ทำตาม แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าการหมดเวลา I/O
การกำหนดค่าการหมดเวลา I/O ในโฮสต์เสมือน
ส่วนนี้จะอธิบายวิธีกำหนดค่าการหมดเวลา I/O ในโฮสต์เสมือนที่เชื่อมโยงกับองค์กรและสภาพแวดล้อม คุณสามารถกำหนดค่าการหมดเวลา I/O ในโฮสต์เสมือนผ่าน
พร็อพเพอร์ตี้ proxy_read_timeout ซึ่งแสดงถึงค่าการหมดเวลา I/O เป็นวินาที
คุณสามารถกำหนดค่าโฮสต์เสมือนได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- UI ของ Edge
- API ของ Edge
UI ของ Edge
หากต้องการกำหนดค่าโฮสต์เสมือนโดยใช้ UI ของ Edge ให้ทำดังนี้
- เข้าสู่ระบบ UI ของ Edge
- ไปที่ผู้ดูแลระบบ > โฮสต์เสมือน
- เลือกสภาพแวดล้อม ที่เฉพาะเจาะจงซึ่งคุณต้องการทำการเปลี่ยนแปลงนี้
- เลือกโฮสต์เสมือนที่เฉพาะเจาะจงซึ่งคุณต้องการกำหนดค่าค่าการหมดเวลา I/O ใหม่
- ในส่วนพร็อพเพอร์ตี้ ให้อัปเดตค่าการหมดเวลาในการอ่านพร็อกซี เป็นวินาที
ตัวอย่างเช่น หากต้องการเปลี่ยนการหมดเวลาเป็น 120 วินาที ให้พิมพ์ 120 ดังที่แสดงใน รูปภาพต่อไปนี้
- บันทึกการเปลี่ยนแปลง
API ของ Edge
หากต้องการกำหนดค่าโฮสต์เสมือนโดยใช้ API ของ Edge ให้ทำดังนี้
- รับการกำหนดค่าโฮสต์เสมือนปัจจุบันโดยใช้
API รับโฮสต์เสมือน ดังที่แสดงด้านล่าง
ผู้ใช้ 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โดยใช้ค่าเป็นวินาทีตัวอย่างเช่น หากต้องการเปลี่ยนการหมดเวลา 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 } - บันทึกการกำหนดค่าโฮสต์เสมือนที่อัปเดตแล้วในไฟล์ เช่น
virtualhost-payload.json - อัปเดตการกำหนดค่า
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>
ผู้ใช้ 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} คือชื่อโฮสต์เสมือน
การยืนยันการหมดเวลา I/O ในโฮสต์เสมือน
ส่วนนี้จะอธิบายวิธียืนยันว่าการหมดเวลา I/O ได้รับการแก้ไขใน โฮสต์เสมือนเรียบร้อยแล้วโดยใช้ API ของ Edge
- เรียกใช้ 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>ผู้ใช้ 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,ให้ตรวจสอบว่าคุณ ทำตามขั้นตอนทั้งหมดที่ระบุไว้ในส่วน การกำหนดค่าการหมดเวลา I/O ในโฮสต์เสมือน อย่างถูกต้อง หากข้ามขั้นตอนใดไป ให้ทำซ้ำขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง - หากยังแก้ไขการหมดเวลา I/O ไม่ได้ โปรดติดต่อทีมสนับสนุนของ Apigee Edge
การกำหนดค่าการหมดเวลา I/O ในเราเตอร์
ส่วนนี้จะอธิบายวิธีกำหนดค่าการหมดเวลา I/O ในเราเตอร์ คุณสามารถกำหนดค่าการหมดเวลา I/O ผ่านพร็อพเพอร์ตี้
เราเตอร์
conf_load_balancing_load.balancing.driver.proxy.read.timeout ซึ่งแสดงถึง
ค่าการหมดเวลา I/O เป็นวินาที
หากต้องการกำหนดค่าการหมดเวลา I/O ในเราเตอร์ ให้ทำดังนี้
- ในเครื่องเราเตอร์ ให้เปิดไฟล์ต่อไปนี้ในเครื่องมือแก้ไข หากยังไม่มี ให้สร้างไฟล์
/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
- หากมีเราเตอร์มากกว่า 1 ตัว ให้ทำซ้ำขั้นตอนข้างต้นในเราเตอร์ทั้งหมด
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
ตัวอย่างเช่น หากต้องการเปลี่ยนการหมดเวลา I/O ในเราเตอร์เป็น 120 วินาที ให้เพิ่มบรรทัดต่อไปนี้
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
นอกจากนี้ คุณยังแก้ไขการหมดเวลา I/O เป็นนาทีได้ด้วย ตัวอย่างเช่น หากต้องการเปลี่ยนการหมดเวลาเป็น 2 นาที ให้เพิ่มบรรทัดต่อไปนี้
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
การยืนยันการหมดเวลา I/O ในเราเตอร์
ส่วนนี้จะอธิบายวิธียืนยันว่าการหมดเวลา I/O ได้รับการแก้ไขใน เราเตอร์เรียบร้อยแล้ว
แม้ว่าคุณจะใช้โทเค็น
conf_load_balancing_load.balancing.driver.proxy.read.timeout เพื่อตั้งค่าการหมดเวลา I/O
ในเราเตอร์ แต่คุณต้องยืนยันว่าได้ตั้งค่าพร็อพเพอร์ตี้ proxy_read_timeout แล้ว
ด้วยค่าใหม่
- ค้นหาพร็อพเพอร์ตี้
proxy_read_timeoutใน/opt/nginx/conf.dไดเรกทอรี และตรวจสอบว่าได้ตั้งค่าด้วย ค่าใหม่แล้วหรือไม่ ดังนี้grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- หากตั้งค่าการหมดเวลา I/O ใหม่ในเราเตอร์เรียบร้อยแล้ว คำสั่งด้านบน
แสดงค่าใหม่ในไฟล์การกำหนดค่าโฮสต์เสมือนทั้งหมด
ตัวอย่างผลลัพธ์จากคำสั่ง
grepด้านบนเมื่อการ หมดเวลา I/O คือ 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ซึ่งเป็น ไฟล์การกำหนดค่าสำหรับโฮสต์เสมือนเริ่มต้น ซึ่งแสดงว่าการหมดเวลา I/O ได้รับการกำหนดค่าเป็น 120 วินาทีในเราเตอร์เรียบร้อยแล้ว - หากยังเห็นค่าเก่าสำหรับพร็อพเพอร์ตี้
proxy_read_timeoutให้ตรวจสอบว่าคุณได้ทำตามขั้นตอนทั้งหมดที่ระบุไว้ใน การกำหนดค่าการหมดเวลา I/O ในเราเตอร์ อย่างถูกต้อง หากข้ามขั้นตอนใดไป ให้ทำซ้ำขั้นตอนทั้งหมดอีกครั้งอย่างถูกต้อง - หากยังแก้ไขการหมดเวลา I/O ไม่ได้ โปรดติดต่อทีมสนับสนุนของ Apigee Edge
สิ่งที่ควรทำถัดไป
ดูข้อมูลเกี่ยวกับการกำหนดค่าการหมดเวลา I/O ใน Message Processor