Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Dokumen ini menjelaskan cara mengonfigurasi waktu tunggu I/O di Router Apigee Edge.
Waktu tunggu I/O di Router menunjukkan waktu tunggu Router untuk menerima respons dari Message Processor, setelah membuat koneksi dan mengirim permintaan ke Message Processor. Nilai default waktu tunggu I/O di Router adalah 57 detik.
Waktu tunggu I/O untuk Router dapat ditingkatkan atau diturunkan dari nilai default 57 detik berdasarkan kebutuhan Anda. Hal ini dapat dikonfigurasi dengan cara berikut:
- Di host virtual
- Di Router
Properti berikut mengontrol waktu tunggu I/O di Router:
| Nama Properti | Lokasi | Deskripsi |
|---|---|---|
proxy_read_timeout
|
Host virtual |
Menentukan waktu maksimum Router menunggu untuk menerima respons dari Message Processor, setelah membuat koneksi dan mengirim permintaan ke Message Processor. Jika tidak ada respons dari Pemroses Pesan dalam periode waktu tunggu ini, maka Router akan mengalami waktu tunggu habis. Secara default, properti ini mengambil nilai yang ditetapkan untuk
properti Jika properti ini diubah dengan nilai waktu tunggu baru untuk host virtual tertentu, maka hanya proxy API yang menggunakan host virtual tertentu tersebut yang terpengaruh. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Menentukan waktu maksimum Router menunggu untuk menerima respons dari Message Processor, setelah membuat koneksi dan mengirim permintaan ke Message Processor. Jika tidak ada respons dari Pemroses Pesan dalam periode waktu tunggu ini, maka Router akan mengalami waktu tunggu habis. Properti ini digunakan untuk semua host virtual di Router ini. Nilai default properti ini adalah 57 detik. Anda dapat mengubah properti ini seperti yang dijelaskan dalam
Mengonfigurasi waktu tunggu I/O di Router di bawah, atau Anda dapat mengganti
nilai ini dengan menetapkan properti Anda dapat menetapkan interval waktu untuk properti ini sebagai sesuatu selain detik menggunakan notasi berikut: 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
|
Router |
Menentukan total waktu yang digunakan Router untuk menunggu respons dari semua Pemroses Pesan, setelah membuat koneksi dan mengirimkan permintaan ke setiap Pemroses Pesan. Hal ini berlaku jika penginstalan Edge Anda memiliki beberapa Pemroses Pesan dan coba lagi diaktifkan saat terjadi error. Memiliki nilai salah satu dari berikut ini:
Seperti properti |
Sebelum memulai
Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:
- Jika Anda tidak terbiasa dengan Properti host virtual, baca Referensi properti host virtual.
- Jika Anda belum memahami cara mengonfigurasi properti untuk Edge di Private Cloud, baca Cara mengonfigurasi Edge.
- Pastikan Anda mengikuti rekomendasi Praktik terbaik untuk mengonfigurasi waktu tunggu I/O.
Mengonfigurasi waktu tunggu I/O di host virtual
Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O di host virtual yang terkait dengan
organisasi dan lingkungan. Waktu tunggu I/O dapat dikonfigurasi di host virtual melalui
properti proxy_read_timeout, yang merepresentasikan nilai waktu tunggu I/O dalam detik.
Anda dapat mengonfigurasi host virtual menggunakan salah satu metode berikut:
- UI Edge
- Edge API
UI Edge
Untuk mengonfigurasi host virtual menggunakan UI Edge, lakukan hal berikut:
- Login ke Edge UI.
- Buka Admin > Virtual Host.
- Pilih Lingkungan tertentu tempat Anda ingin melakukan perubahan ini.
- Pilih host virtual tertentu yang ingin Anda konfigurasi nilai waktu tunggu I/O baru.
- Di bagian Properties, perbarui nilai Proxy Read Timeout dalam detik.
Misalnya, jika Anda ingin mengubah waktu tunggu menjadi 120 detik, ketik 120 seperti yang ditunjukkan pada gambar berikut:
- Simpan perubahan.
Edge API
Untuk mengonfigurasi host virtual menggunakan Edge API, lakukan hal berikut:
- Dapatkan konfigurasi host virtual saat ini menggunakan
Get virtual host API seperti yang ditunjukkan di bawah ini:
Pengguna Cloud Publik
curl -v -X GET https//api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Pengguna Private Cloud
curl -v -X GET http://<management-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Dengan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama host virtual
Contoh konfigurasi 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 } - Tambahkan properti
proxy_read_timeoutke konfigurasi host virtual yang ada payload JSON di bagianpropertiesdengan nilai dalam detik.Misalnya, untuk mengubah waktu tunggu I/O menjadi 120 detik, tambahkan blok kode
propertiesseperti yang ditunjukkan di bawah:Contoh konfigurasi host virtual yang diperbarui
{ "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 } - Simpan konfigurasi host virtual yang telah diperbarui dalam file. Contoh:
virtualhost-payload.json - Perbarui konfigurasi
virtualhostdengan perubahan menggunakan Update a virtual host API sebagai berikut:Pengguna Cloud Publik
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>
Pengguna 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>
Dengan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama host virtual
Memverifikasi waktu tunggu I/O di host virtual
Bagian ini menjelaskan cara memverifikasi bahwa waktu tunggu I/O telah berhasil diubah di host virtual menggunakan Edge API.
- Jalankan
Get virtual host API untuk mendapatkan konfigurasi
virtualhostseperti yang ditunjukkan di bawah:Pengguna Cloud Publik
curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Pengguna Private Cloud
curl -v -X GET http://<management server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>Dengan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama host virtual
- Pastikan properti
proxy_read_timeouttelah disetel ke nilai baru.Contoh konfigurasi host virtual yang diperbarui
{ "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 }Pada contoh di atas, perhatikan bahwa
proxy_read_timeouttelah ditetapkan dengan nilai baru 120 detik. - Jika Anda masih melihat nilai lama untuk
proxy_read_timeout,, verifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi waktu tunggu I/O di host virtual dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar. - Jika Anda masih tidak dapat mengubah waktu tunggu I/O, hubungi Dukungan Apigee Edge.
Mengonfigurasi waktu tunggu I/O di Router
Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O di Router. Waktu tunggu I/O dapat
dikonfigurasi melalui properti Router
conf_load_balancing_load.balancing.driver.proxy.read.timeout, yang merepresentasikan
nilai waktu tunggu I/O dalam detik.
Untuk mengonfigurasi waktu tunggu I/O di Router, lakukan hal berikut:
- Di mesin Router, buka file berikut di editor. Jika belum ada, buat.
/opt/apigee/customer/application/router.properties
Misalnya, untuk membuka file dengan
vi, masukkan perintah berikut:vi /opt/apigee/customer/application/router.properties
- Tambahkan baris dalam format berikut ke file
properties, dengan mengganti nilai untuktime_in_seconds: - Simpan perubahan.
- Pastikan file properti ini dimiliki oleh pengguna
apigeeseperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Mulai Ulang Router seperti yang ditunjukkan di bawah:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- Jika Anda memiliki lebih dari satu Router, ulangi langkah-langkah di atas pada semua Router.
conf_load_balancing_load.balancing.driver.proxy.read.timeout=time_in_seconds
Misalnya, untuk mengubah waktu tunggu I/O di Router menjadi 120 detik, tambahkan baris berikut:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=120
Anda juga dapat mengubah waktu tunggu I/O dalam menit. Misalnya, untuk mengubah waktu tunggu menjadi dua menit, tambahkan baris berikut:
conf_load_balancing_load.balancing.driver.proxy.read.timeout=2m
Memverifikasi waktu tunggu I/O di Router
Bagian ini menjelaskan cara memverifikasi bahwa waktu tunggu I/O telah berhasil diubah di Router.
Meskipun Anda menggunakan token
conf_load_balancing_load.balancing.driver.proxy.read.timeout untuk menetapkan waktu tunggu I/O
di Router, Anda harus memverifikasi apakah properti proxy_read_timeout yang sebenarnya telah
ditetapkan dengan nilai baru.
- Telusuri properti
proxy_read_timeoutdi direktori/opt/nginx/conf.ddan periksa apakah properti tersebut telah ditetapkan dengan nilai baru sebagai berikut:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Jika nilai waktu tunggu I/O baru berhasil ditetapkan di router, perintah di atas akan menampilkan nilai baru di semua file konfigurasi host virtual.
Berikut adalah contoh hasil dari perintah
grepdi atas saat waktu tunggu I/O adalah 120 detik:/opt/nginx/conf.d/0-default.conf:proxy_read_timeout 120; /opt/nginx/conf.d/0-edge-health.conf:proxy_read_timeout 1s;
Dalam contoh output di atas, perhatikan bahwa properti
proxy_read_timeouttelah ditetapkan dengan nilai baru 120 di0-default.confyang merupakan file konfigurasi untuk host virtual default. Hal ini menunjukkan bahwa waktu tunggu I/O berhasil dikonfigurasi menjadi 120 detik di Router. - Jika Anda masih melihat nilai lama untuk properti
proxy_read_timeout, maka pastikan Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi waktu tunggu I/O di Router dengan benar. Jika Anda melewatkan langkah apa pun, ulangi semua langkah dengan benar. - Jika Anda masih tidak dapat mengubah waktu tunggu I/O, hubungi Dukungan Apigee Edge.
Apa selanjutnya?
Pelajari Mengonfigurasi Waktu Tunggu I/O di Message Processor