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