คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
เอกสารนี้อธิบายวิธีกำหนดค่าระยะหมดเวลา I/O บนเราเตอร์ของ Apigee Edge
การหมดเวลา I/O บนเราเตอร์แสดงถึงเวลาที่เราเตอร์รอเพื่อรับ การตอบกลับจาก Message Processor หลังจากสร้างการเชื่อมต่อและส่งคำขอ ไปยังโปรแกรมประมวลผลข้อความ ค่าเริ่มต้นของระยะหมดเวลา I/O บนเราเตอร์คือ 57 วินาที
ระยะหมดเวลา I/O สำหรับเราเตอร์สามารถเพิ่มหรือลดจากค่าเริ่มต้น 57 วินาที โดยอิงตามความต้องการของคุณ โดยสามารถกําหนดค่าได้ด้วยวิธีต่อไปนี้
- ในโฮสต์เสมือน
- บนเราเตอร์
พร็อพเพอร์ตี้ต่อไปนี้จะควบคุมระยะหมดเวลา I/O บนเราเตอร์
ชื่อพร็อพเพอร์ตี้ | ตำแหน่ง | คำอธิบาย |
---|---|---|
proxy_read_timeout
|
โฮสต์เสมือน |
ระบุเวลาสูงสุดที่เราเตอร์รอรับการตอบกลับจาก ตัวประมวลผลข้อความ หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง ตัวประมวลผลข้อความ หากไม่มีการตอบกลับจาก Message Processor ภายในระยะหมดเวลานี้ ระบบ เราเตอร์หมดเวลา โดยค่าเริ่มต้น พร็อพเพอร์ตี้นี้จะใช้ค่าที่กำหนดไว้สำหรับ
พร็อพเพอร์ตี้ หากมีการแก้ไขพร็อพเพอร์ตี้นี้ด้วยค่าระยะหมดเวลาใหม่สำหรับโฮสต์เสมือนที่เฉพาะเจาะจง ให้ทำดังนี้ จะมีเฉพาะพร็อกซี API ที่ใช้โฮสต์เสมือนนั้นๆ เท่านั้นที่ได้รับผลกระทบ |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
เราเตอร์ |
ระบุเวลาสูงสุดที่เราเตอร์รอรับการตอบกลับจาก ตัวประมวลผลข้อความ หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยัง ตัวประมวลผลข้อความ หากไม่มีการตอบกลับจาก 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 ทั้งหมด ผู้ประมวลผลข้อมูล หลังจากสร้างการเชื่อมต่อและส่งคำขอไปยังแต่ละ Messages ผู้ประมวลผลข้อมูล การดำเนินการนี้จะมีผลเมื่อการติดตั้ง Edge ของคุณมี Message Processor หลายรายการและ เปิดใช้การลองอีกครั้งเมื่อเกิดข้อผิดพลาด ซึ่งมีค่าเป็นอย่างใดอย่างหนึ่งต่อไปนี้
เช่นเดียวกับ |
ก่อนเริ่มต้น
ก่อนที่จะใช้ขั้นตอนในเอกสารนี้ โปรดทำความเข้าใจหัวข้อต่อไปนี้
- หากคุณไม่คุ้นเคยกับพร็อพเพอร์ตี้โฮสต์เสมือน โปรดอ่าน การอ้างอิงพร็อพเพอร์ตี้โฮสต์เสมือน
- หากคุณไม่คุ้นเคยกับการกำหนดค่าพร็อพเพอร์ตี้สำหรับ Edge บน Private Cloud โปรดอ่าน วิธีกำหนดค่า Edge
- ตรวจสอบว่าคุณทำตาม แนวทางปฏิบัติแนะนำสำหรับการกำหนดค่าระยะหมดเวลาของ I/O
การกำหนดค่าระยะหมดเวลา I/O ในโฮสต์เสมือน
ส่วนนี้จะอธิบายวิธีกำหนดค่าระยะหมดเวลา I/O ในโฮสต์เสมือนที่เชื่อมโยงกับ
องค์กรและสภาพแวดล้อม สามารถกำหนดค่าระยะหมดเวลา I/O ในโฮสต์เสมือนผ่าน
คุณสมบัติ proxy_read_timeout
ซึ่งแสดงค่าระยะหมดเวลา I/O เป็นวินาที
คุณสามารถกำหนดค่าโฮสต์เสมือนโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- UI ของ Edge
- Edge API
UI ของ Edge
หากต้องการกำหนดค่าโฮสต์เสมือนโดยใช้ Edge UI ให้ทำดังนี้
- เข้าสู่ระบบ Edge UI
- ไปที่ผู้ดูแลระบบ > โฮสต์เสมือน
- เลือกสภาพแวดล้อมเฉพาะที่คุณต้องการทำการเปลี่ยนแปลงนี้
- เลือกโฮสต์เสมือนเฉพาะที่คุณต้องการกำหนดค่าโฮสต์ ค่าการหมดเวลา I/O
- ในส่วนคุณสมบัติ ให้อัปเดตค่าระยะหมดเวลาอ่านของพร็อกซีในหน่วยวินาที
เช่น ถ้าต้องการเปลี่ยนระยะหมดเวลาเป็น 120 วินาที ให้พิมพ์ 120 ตามที่แสดงใน รูปต่อไปนี้
- บันทึกการเปลี่ยนแปลง
Edge API
หากต้องการกำหนดค่าโฮสต์เสมือนโดยใช้ Edge API ให้ทำดังนี้
- รับการกำหนดค่าโฮสต์เสมือนปัจจุบันโดยใช้
รับ API โฮสต์เสมือนดังที่แสดงด้านล่าง
ผู้ใช้ระบบคลาวด์สาธารณะ
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} คือชื่อของโฮสต์เสมือน
ตัวอย่างการกำหนดค่า 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
ในการกำหนดค่าโฮสต์เสมือนที่มีอยู่ เพย์โหลด 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 ของโฮสต์เสมือนดังนี้ผู้ใช้ระบบคลาวด์สาธารณะ
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 ได้รับการแก้ไขเรียบร้อยแล้วใน โฮสต์เสมือนที่ใช้ Edge API
- ดำเนินการ
รับ API โฮสต์เสมือน เพื่อรับการกำหนดค่า
virtualhost
ดังที่แสดงด้านล่างผู้ใช้ระบบคลาวด์สาธารณะ
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 ในตัวประมวลผลข้อความ