Apigee Edge menyediakan caching untuk persistensi data di seluruh permintaan. Saat diterima, data API akan disimpan di cache selama jangka waktu singkat, lalu dihapus. Durasi maksimum suatu data disimpan sebelum dihapus disebut expiry, atau time-to-live (TTL), dari cache. Setiap cache memiliki TTL default. Namun, dalam beberapa kasus, Anda mungkin perlu mengubah nilai TTL untuk meningkatkan performa API.
Jenis cache
Data API disimpan dalam dua jenis cache:
- Level 1 (L1): Cache dalam memori, yang memiliki akses lebih cepat tetapi kapasitas penyimpanan yang tersedia lebih sedikit.
- Level 2 (L2): Cache persisten di penyimpanan data Cassandra, yang memiliki akses lebih lambat tetapi kapasitas penyimpanan yang tersedia lebih besar.
Saat entri data di cache L1 mencapai TTL L1, entri data tersebut akan dihapus. Namun, salinan entri tersebut disimpan di cache L2 (yang memiliki TTL lebih lama daripada cache L1), yang tetap dapat diakses oleh pemroses pesan lainnya. Lihat Level cache dalam memori dan persisten untuk mengetahui detail selengkapnya tentang cache.
TTL L1 Maks
Di Edge untuk Private Cloud, Anda dapat menetapkan TTL cache L1 maksimum untuk setiap pemroses pesan menggunakan properti TTL Max L1 (conf_cache_max.l1.ttl.in.seconds
).
Entri dalam cache L1 akan berakhir masa berlakunya setelah mencapai nilai TTL L1 Maks dan akan dihapus.
Notes:
- Secara default, Max L1 TTL dinonaktifkan (dengan nilai
-1
), dalam hal ini TTL entri dalam cache L1 ditentukan oleh setelan masa berlaku kebijakan FILLINCache (untuk cache L1 dan L2). - TTL L1 maks hanya berpengaruh jika nilainya lebih kecil dari masa berlaku cache secara keseluruhan.
Menyetel TTL L1 Maks
Anda dapat menetapkan Max L1 TTL pada pemroses pesan sebagai berikut:
- Buka
file konfigurasi
/opt/apigee/customer/application/message-processor.properties
di editor. Jika file tidak ada, buat file tersebut. - Tetapkan properti TTL L1 Maks ke nilai yang diinginkan:
conf_cache_max.l1.ttl.in.seconds = 180
Sebaiknya gunakan nilai
180
detik. - Pastikan file properti dimiliki oleh pengguna "apigee":
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Mulai ulang pemroses pesan:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
Panduan untuk menyetel TTL L1 Maks
Saat menetapkan TTL Max L1, perhatikan panduan berikut:
- RPC gagal: Jika Anda mendapati adanya remoteproc call (RPC) yang terlewat di antara
pemroses pesan (MP)—
terutama di beberapa pusat data—
mungkin cache L1 memiliki entri yang sudah tidak berlaku, yang akan tetap usang hingga dihapus
dari cache L1. Menyetel TTL Max L1 ke nilai yang lebih rendah akan memaksa entri yang sudah tidak berlaku akan dihapus, dan diganti dengan nilai baru dari cache L2 lebih cepat.
Solusi: Kurangiconf_cache_max.l1.ttl.in.seconds
. - Beban berlebihan di Casandra: Jika Anda menetapkan nilai untuk TTL L1 Maks, entri cache L1 akan lebih sering habis masa berlakunya, sehingga menyebabkan lebih banyak cache L1 yang tidak ditemukan dan lebih banyak cache L2 ditemukan. Karena cache L2 akan lebih sering ditemukan,
Cassandra akan mengalami peningkatan beban.
Solusi: Tingkatkanconf_cache_max.l1.ttl.in.seconds
Sebagai aturan umum, sesuaikan TTL L1 Maks ke nilai yang menyeimbangkan frekuensi RPC yang terlewat antara MP dengan beban potensial di Cassandra.
Sebaiknya tetapkan nilai conf_cache_max.l1.ttl.in.seconds
ke minimal
180
detik (3 menit) agar pemrosesan berjalan lancar.