Antipola: Menyimpan data berukuran lebih dari 256 KB dalam cache

Anda melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

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

  • Data awalnya disimpan dalam cache dalam memori Message Processor, yang disebut cache L1.
  • Cache L1 dibatasi oleh jumlah memori yang dicadangkan untuknya sebagai persentase memori JVM memori.
  • Entri yang di-cache kemudian dipertahankan dalam cache L2, yang dapat diakses oleh semua Message Processor. Detail selengkapnya dapat ditemukan di bagian bawah.
  • Cache L2 tidak memiliki batas tetap 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 optimal.

Antipola

Antipola khusus ini membahas implikasi dari melebihi batasan ukuran cache saat ini dalam platform Apigee Edge.

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

  • Permintaan API yang dieksekusi untuk pertama kalinya di setiap Message Processor harus mendapatkan data secara independen dari sumber aslinya (kebijakan atau server target), karena entri > 256 KB tidak tersedia di cache L2.
  • Menyimpan data yang lebih besar (> 256 KB) di cache L1 cenderung memberikan lebih banyak tekanan pada resource platform. Akibatnya, memori cache L1 akan terisi lebih cepat dan oleh karena itu, ruang yang tersedia untuk data lain akan lebih sedikit. Akibatnya, Anda tidak akan dapat meng-cache data seagresif yang Anda inginkan.
  • Entri yang di-cache dari Message Processor akan dihapus saat batas jumlah entri tercapai. Hal ini menyebabkan data diambil dari sumber aslinya lagi di Message Processor masing-masing.

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

Dampak

  • Data berukuran > 256 KB tidak akan disimpan dalam 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 Anda perlu menyimpan data > 256 KB, pertimbangkan:
    • Menggunakan database yang sesuai untuk menyimpan data besar

      ATAU

    • Mengompresi data

Bacaan lebih lanjut