Mengonfigurasi Chunk Cache
Mekanisme chunk cache memungkinkan Milvus untuk memuat data terlebih dahulu ke dalam cache pada hard disk lokal dari node kueri sebelum dibutuhkan. Mekanisme ini secara signifikan meningkatkan kinerja pengambilan vektor dengan mengurangi waktu yang dibutuhkan untuk memuat data dari disk ke memori.
Latar Belakang
Sebelum melakukan kueri untuk mengambil vektor, Milvus perlu memuat data dari penyimpanan objek ke cache memori pada hard disk lokal node kueri. Ini adalah proses yang memakan waktu. Sebelum semua data dimuat, Milvus mungkin merespons beberapa permintaan pengambilan vektor dengan penundaan.
Untuk meningkatkan kinerja kueri, Milvus menyediakan mekanisme cache chunk untuk memuat data dari penyimpanan objek ke dalam cache di hard disk lokal sebelum dibutuhkan. Ketika permintaan kueri diterima, Segcore pertama-tama memeriksa apakah data ada di cache, bukan di penyimpanan objek. Jika data ada di cache, Segcore dapat dengan cepat mengambilnya dari cache dan mengembalikan hasilnya ke klien.
Mengonfigurasi Cache Chunk
Panduan ini menyediakan instruksi tentang cara mengonfigurasi mekanisme chunk cache untuk instance Milvus. Konfigurasi bervariasi sesuai dengan cara Anda menginstal instans Milvus.
Untuk instans Milvus yang diinstal menggunakan Helm Charts
Tambahkan konfigurasi ke file
values.yaml
di bawah bagianconfig
. Untuk detailnya, lihat Mengonfigurasi Milvus dengan Helm Charts.Untuk instans Milvus yang diinstal menggunakan Docker Compose
Tambahkan konfigurasi ke berkas
milvus.yaml
yang Anda gunakan untuk memulai instans Milvus. Untuk detailnya, lihat Mengkonfigurasi Milvus dengan Docker Compose.Untuk instans Milvus yang diinstal menggunakan Operator
Tambahkan konfigurasi ke bagian
spec.components
pada sumber daya kustomMilvus
. Untuk detailnya, lihat Mengkonfigurasi Milvus dengan Operator.
Opsi konfigurasi
queryNode:
cache:
warmup: async
Parameter warmup
menentukan apakah Milvus melakukan pra-muat data dari penyimpanan objek ke dalam cache di hard disk lokal dari node kueri sebelum dibutuhkan. Parameter ini secara default adalah disable
. Opsi yang mungkin adalah sebagai berikut:
async
: Milvus melakukan pra-muat data secara asinkron di latar belakang, yang tidak mempengaruhi waktu yang dibutuhkan untuk memuat koleksi. Namun, pengguna mungkin mengalami penundaan ketika mengambil vektor untuk waktu yang singkat setelah proses pemuatan selesai. Ini adalah opsi default.sync
: Milvus melakukan pra-load data secara sinkron, yang dapat mempengaruhi waktu yang dibutuhkan untuk memuat koleksi. Namun, pengguna dapat melakukan kueri segera setelah proses pemuatan selesai tanpa penundaan.disable
: Milvus tidak melakukan pra-memuat data ke dalam cache memori.
Perhatikan bahwa pengaturan cache chunk juga berlaku ketika data baru dimasukkan ke dalam koleksi atau indeks koleksi dibangun ulang.
PERTANYAAN UMUM
Bagaimana cara menentukan apakah mekanisme chunk cache bekerja dengan benar?
Anda disarankan untuk memeriksa latensi permintaan pencarian atau kueri setelah memuat koleksi. Jika latensi secara signifikan lebih tinggi dari yang diharapkan (misalnya, beberapa detik), hal ini mengindikasikan bahwa mekanisme cache chunk masih berfungsi.
Jika latensi kueri tetap tinggi untuk waktu yang lama. Anda dapat memeriksa throughput penyimpanan objek untuk memastikan bahwa chunk cache masih berfungsi. Dalam kasus normal, chunk cache yang berfungsi akan menghasilkan throughput yang tinggi pada penyimpanan objek. Sebagai alternatif, Anda dapat mencoba chunk cache dalam mode
sync
.