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 {i>Router<i} menunjukkan waktu yang mana {i>Router<i} menunggu untuk menerima respons dari Pemroses Pesan, setelah membuat koneksi dan mengirim permintaan ke Pemroses Pesan. 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 dengan kebutuhan Anda. Hal ini dapat dikonfigurasi dengan cara berikut:
- Dalam 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 yang diperlukan Router untuk menerima respons dari Pemroses Pesan, setelah membuat koneksi dan mengirim permintaan ke Pemroses Pesan. Jika tidak ada respons dari Pemroses Pesan dalam periode waktu tunggu ini, maka Waktu router habis. Secara default, properti ini menggunakan nilai yang ditetapkan untuk
Properti Jika properti ini diubah dengan nilai waktu tunggu baru untuk {i>host<i} virtual tertentu, maka hanya proxy API yang menggunakan {i> host<i} virtual tertentu yang terpengaruh. |
conf_load_balancing_load.balancing.driver.proxy.read.timeout
|
Router |
Menentukan waktu maksimum yang diperlukan Router untuk menerima respons dari Pemroses Pesan, setelah membuat koneksi dan mengirim permintaan ke Pemroses Pesan. Jika tidak ada respons dari Pemroses Pesan dalam periode waktu tunggu ini, maka Waktu router 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 di
Mengonfigurasi waktu tunggu I/O di Router di bawah, atau Anda dapat menimpanya
nilai ini dengan menetapkan properti Anda bisa menyetel 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 tunggu Router untuk menerima respons dari semua Pesan Pemroses, setelah membuat koneksi dan mengirim permintaan ke setiap Pesan Pemroses. Ini berlaku ketika penginstalan Edge Anda memiliki beberapa Prosesor Pesan dan percobaan ulang diaktifkan setelah terjadi error. Parameter ini memiliki nilai salah satu dari berikut ini:
Seperti halnya |
Sebelum memulai
Sebelum menggunakan langkah-langkah dalam dokumen ini, pastikan Anda memahami topik berikut:
- Jika Anda belum terbiasa dengan Properti {i>host<i} virtual, baca Referensi properti host virtual.
- Jika Anda tidak terbiasa mengonfigurasi properti untuk Edge di Private Cloud, baca Cara mengonfigurasi Edge.
- Pastikan Anda mengikuti Praktik terbaik untuk mengonfigurasi rekomendasi waktu tunggu I/O.
Mengonfigurasi waktu tunggu I/O dalam 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 {i>virtual host<i} melalui
proxy_read_timeout
, yang mewakili nilai waktu tunggu I/O dalam detik.
Anda dapat mengonfigurasi host virtual menggunakan salah satu metode berikut:
- UI Edge
- API Edge
UI Edge
Untuk mengonfigurasi host virtual menggunakan UI Edge, lakukan hal berikut:
- Login ke Edge UI.
- Buka Admin > Host Virtual.
- Pilih Lingkungan tertentu tempat Anda ingin membuat perubahan ini.
- Pilih {i>host<i} virtual spesifik yang ingin Anda konfigurasi sebagai {i>host<i} baru Nilai waktu tunggu I/O.
- 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 dalam gambar berikut:
- Simpan perubahan.
API Edge
Untuk mengonfigurasi host virtual menggunakan Edge API, lakukan hal berikut:
- Dapatkan konfigurasi host virtual saat ini dengan menggunakan
Dapatkan API host virtual 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 keterangan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama virtual host
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_timeout
ke konfigurasi host virtual yang ada Payload JSON di bawahproperties
dengan nilai dalam hitungan detik.Misalnya, untuk mengubah waktu tunggu I/O menjadi 120 detik, tambahkan
properties
blok kode seperti yang ditunjukkan di bawah ini: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 diperbarui dalam file. Contoh:
virtualhost-payload.json
- Update konfigurasi
virtualhost
dengan perubahan tersebut menggunakan Update 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 keterangan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama virtual host
Memverifikasi waktu tunggu I/O pada host virtual
Bagian ini menjelaskan cara memverifikasi bahwa waktu tunggu I/O telah berhasil diubah pada {i>host<i} virtual menggunakan Edge API.
- Jalankan
Dapatkan virtual host API untuk mendapatkan konfigurasi
virtualhost
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 server-host>:<port #>/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u <username>
Dengan keterangan:
{organization-name} adalah nama organisasi
{environment-name} adalah nama lingkungan
{virtualhost-name} adalah nama virtual host
- Verifikasi bahwa properti
proxy_read_timeout
telah ditetapkan 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_timeout
telah 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 pada Router
Bagian ini menjelaskan cara mengonfigurasi waktu tunggu I/O pada Router. Waktu tunggu I/O dapat
dikonfigurasikan melalui properti Router
conf_load_balancing_load.balancing.driver.proxy.read.timeout
, yang mewakili
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 terlebih dahulu.
/opt/apigee/customer/application/router.properties
Misalnya, untuk membuka {i>file<i} 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
apigee
seperti yang ditunjukkan di bawah:chown apigee:apigee /opt/apigee/customer/application/router.properties
- Mulai ulang Router seperti yang ditunjukkan di bawah ini:
/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 hitungan menit. Misalnya, untuk mengubah waktu tunggu 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 pada {i>Router<i}.
Meskipun Anda menggunakan token
conf_load_balancing_load.balancing.driver.proxy.read.timeout
untuk menyetel waktu tunggu I/O
di Router, Anda perlu memastikan
apakah properti proxy_read_timeout
yang sebenarnya memiliki
telah ditetapkan dengan nilai baru.
- Telusuri properti
proxy_read_timeout
di/opt/nginx/conf.d
dan periksa untuk melihat apakah direktori tersebut telah disetel dengan nilai baru sebagai berikut:grep -ri "proxy_read_timeout" /opt/nginx/conf.d
- Jika nilai waktu tunggu I/O baru berhasil disetel di router, maka perintah di atas
menunjukkan nilai baru di
semua file konfigurasi {i>host<i} virtual.
Berikut adalah contoh hasil dari perintah
grep
di 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;
Pada contoh output di atas, perhatikan bahwa properti
proxy_read_timeout
telah ditetapkan dengan nilai baru 120 di0-default.conf
yang merupakan untuk {i>host<i} virtual {i>default<i}. Hal ini menunjukkan bahwa waktu tunggu I/O berhasil dikonfigurasi ke 120 detik di Router. - Jika Anda masih melihat nilai lama untuk properti
proxy_read_timeout
, memverifikasi bahwa Anda telah mengikuti semua langkah yang diuraikan dalam Mengonfigurasi waktu tunggu I/O di Router dengan benar. Jika Anda memiliki 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 cara Mengonfigurasi Waktu Tunggu I/O di Pemroses Pesan