Antipola: Menyimpan data berukuran lebih dari 256 KB dalam cache

Anda sedang melihat dokumentasi Apigee dan Apigee Hybrid.
Lihat dokumentasi Apigee Edge.

Apigee menyediakan kemampuan untuk menyimpan data dalam cache saat runtime untuk persistensi dan pengambilan yang lebih cepat.

  • Data awalnya disimpan di cache dalam memori Message Processor, yang disebut sebagai cache L1.
  • Cache L1 dibatasi oleh jumlah memori yang dicadangkan untuknya sebagai persentase memori JVM.
  • Entri yang di-cache kemudian dipertahankan di cache L2, yang dapat diakses oleh semua Pemroses Pesan. Detail selengkapnya dapat ditemukan di bagian di bawah.
  • Cache L2 tidak memiliki batas ketat pada jumlah entri cache, tetapi ukuran maksimum entri yang dapat di-cache dibatasi hingga 256 KB. Ukuran cache 256 KB adalah ukuran yang direkomendasikan untuk performa yang optimal.

Antipola

Antipola khusus ini membahas implikasi dari melampaui batasan ukuran cache saat ini dalam Apigee.

Jika data > 256 KB di-cache, konsekuensinya adalah sebagai berikut:

  • Permintaan API yang dijalankan untuk pertama kalinya di setiap Pemroses Pesan harus mendapatkan data secara independen dari sumber asli (kebijakan atau server target), karena entri > 256 KB tidak tersedia di cache L2.
  • Menyimpan data yang lebih besar (> 256 KB) di cache L1 cenderung lebih membebani resource platform. Hal ini menyebabkan memori cache L1 terisi lebih cepat sehingga ruang yang tersedia untuk data lain menjadi lebih sedikit. Akibatnya, data tidak dapat di-cache seagresif yang diinginkan.
  • Entri yang di-cache dari Pemroses Pesan akan dihapus jika batas jumlah entri tercapai. Hal ini menyebabkan data diambil dari sumber aslinya lagi di Message Processor masing-masing.

Dua diagram alur.
  Satu untuk ukuran<=512 KB yang menunjukkan alur antara Proxy API dan Pemroses Pesan
  serta alur antara Pemroses Pesan dan Cache L2 Penyimpanan Persisten. Satu untuk ukuran>512 KB yang menunjukkan
  aliran antara Proxy API dan Pemroses Pesan serta aliran antara Pemroses Pesan dan Data/Respons
  yang tidak disimpan di Cache L2.

Dampak

  • Data berukuran > 256 KB tidak akan disimpan di cache L2/persisten.
  • Panggilan yang lebih sering ke sumber asli (baik kebijakan maupun server target) akan menyebabkan peningkatan latensi untuk permintaan API.

Praktik terbaik

  • Sebaiknya simpan data berukuran < 256 KB dalam cache untuk mendapatkan performa yang optimal.
  • Jika ada kebutuhan untuk menyimpan data > 256 KB, pertimbangkan:
    • Menggunakan database yang sesuai untuk menyimpan data besar

      ATAU

    • Mengompresi data

Bacaan lebih lanjut