Apigee Edge menyediakan caching untuk persistensi data di seluruh permintaan. Saat data API diterima, data akan disimpan dalam cache selama jangka waktu singkat lalu dihapus. Durasi maksimum penyimpanan data sebelum dihapus disebut expiry, atau time-to-live (TTL), cache. Setiap {i>cache<i} memiliki TTL {i>default<i}, tetapi 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 ketersediaan penyimpanan lebih kecil kapasitas.
- Level 2 (L2): Cache persisten di penyimpanan data Cassandra, yang lebih lambat akses tetapi lebih banyak kapasitas penyimpanan yang tersedia.
Ketika entri data dalam cache L1 mencapai TTL L1, entri data tersebut akan dihapus. Namun, salinan entri disimpan di cache L2 (yang memiliki TTL lebih lama dari cache L1), yang masih dapat diakses oleh pemroses pesan lainnya. Lihat Dalam memori dan tingkat cache persisten untuk detail selengkapnya tentang cache.
TTL L1 Maks.
Di Edge untuk Private Cloud, Anda dapat menetapkan TTL cache L1 maksimum untuk setiap pesan
menggunakan properti TTL L1 Maks (conf_cache_max.l1.ttl.in.seconds
).
Entri dalam cache L1 akan habis masa berlakunya setelah mencapai nilai TTL Maks L1 dan dihapus.
Catatan:
- Secara default, TTL L1 Maks dinonaktifkan (dengan nilai
-1
), di mana TTL dari entri dalam {i>cache<i} L1 ditentukan dengan kebijakan PengisianCache. setelan masa berlaku (untuk cache L1 dan L2). - TTL L1 Maks hanya akan berpengaruh jika nilainya lebih kecil dari masa berlaku cache secara keseluruhan.
Menetapkan TTL L1 Maks
Anda dapat menetapkan TTL L1 Maks 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 nilai
180
detik. - Pastikan file properti dimiliki oleh "apigee" pengguna:
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 menetapkan TTL L1 Maks
Saat menetapkan TTL L1 Maks, perhatikan pedoman berikut:
- RPC tidak lulus: Jika Anda melihat remoteproc call (RPC) tidak ditemukan antara
{i>message processor <i}(MP)—
terutama di beberapa pusat data—
mungkin saja cache L1 memiliki entri yang usang, yang akan tetap tidak berlaku hingga dihapus
dari cache L1. Menyetel TTL L1 Maks ke nilai yang lebih rendah akan memaksa setiap
entri yang usang akan dihapus, dan diganti dengan nilai baru dari cache L2, lebih cepat.
Solusi: Kurangiconf_cache_max.l1.ttl.in.seconds
. - Beban berlebihan di Casandra: Saat Anda menetapkan nilai untuk Max L1 TTL, entri cache L1
akan lebih sering kedaluwarsa,
yang menyebabkan lebih banyak cache L1 yang tidak ditemukan
dan lebih banyak ditemukannya cache L2. Karena {i>cache<i} L2 akan lebih sering terkena serangan,
Cassandra akan mengalami peningkatan beban.
Solusi: Tingkatkanconf_cache_max.l1.ttl.in.seconds
Sebagai aturan umum, setel TTL L1 Maks ke nilai yang menyeimbangkan frekuensi RPC meleset di antara anggota parlemen dengan potensi beban pada Cassandra.
Sebaiknya tetapkan nilai conf_cache_max.l1.ttl.in.seconds
ke minimal
180
detik (3 menit) agar pemrosesan tetap berjalan lancar.