全部产品
Search
文档中心

Object Storage Service:Cache metadata

更新时间:Jul 06, 2025

Cache metadata ossfs cocok untuk skenario dengan IOPS baca/tulis tinggi pada data Object Storage Service (OSS). Dengan mengaktifkan cache metadata ossfs, efisiensi operasi objek dan waktu respons permintaan meningkat. Topik ini menjelaskan cara mengonfigurasi dan menggunakan cache metadata ossfs secara efektif.

Penting

Saat menggunakan cache metadata ossfs, perhatikan masalah konsistensi dan ketepatan waktu data. Oleh karena itu, kami menyarankan agar Anda tidak mengaktifkan cache metadata ossfs dalam skenario yang memiliki persyaratan tinggi terkait ketepatan waktu data.

Informasi latar belakang

Metadata adalah informasi yang menggambarkan data, seperti ukuran objek, waktu pembuatan, waktu modifikasi, serta ID pengguna dan grup. OSS tidak mendukung atribut ID pengguna dan grup, tetapi sistem file bergantung pada atribut ini untuk pemeriksaan izin. ossfs memungkinkan Anda mendapatkan informasi tambahan dari header kustom objek di OSS, sehingga Anda dapat melakukan operasi pada objek berdasarkan atributnya di Linux.

Dengan mengaktifkan cache metadata ossfs, performa, penggunaan sumber daya, dan pengalaman pengguna meningkat.

  • Performa: Cache metadata ossfs mengurangi latensi pembacaan metadata, terutama dalam skenario dengan operasi I/O tinggi, sehingga meningkatkan efisiensi operasi objek.

  • Penggunaan Sumber Daya: Cache metadata ossfs mengurangi jumlah panggilan ke OSS dan permintaan per detik (QPS) saat Anda sering mengakses data panas.

  • Pengalaman Pengguna: Waktu respons permintaan meningkat.

Skenario

  • Cache metadata ossfs cocok untuk skenario di mana server digunakan untuk mengakses data OSS.

  • Dalam lingkungan terdistribusi, cache metadata ossfs cocok untuk skenario di mana data yang jarang berubah dibaca dari OSS, seperti set data pelatihan AI, file model AI, dan kueri data besar.

Cara kerjanya

ossfs menggunakan memori klien untuk menyimpan cache metadata OSS, mengurangi latensi operasi penyimpanan jarak jauh.

  • Cache Metadata untuk Akses Data Pertama:

    Saat pertama kali mengakses objek atau direktori di bawah titik mount ossfs, klien ossfs mengambil metadata objek dari OSS dan menyimpannya di cache lokal.

  • Akselerasi Akses Selanjutnya:

    Jika kebijakan penghapusan cache dinonaktifkan atau cache belum kedaluwarsa, akses selanjutnya ke metadata objek langsung dibaca dari cache lokal tanpa perlu mengirim permintaan ke OSS, sehingga sangat mengurangi latensi.

  • Kebijakan Pembaruan Cache:

    ossfs memperbarui cache lokal berdasarkan kebijakan tertentu, seperti kedaluwarsa cache dan batas atas cache.

  • Sinkronisasi Cache Multi-Klien:

    Cache metadata ossfs adalah cache lokal satu server yang menggunakan memori klien. Anda tidak dapat menggunakan satu server untuk memasang beberapa bucket ke beberapa sistem file lokal sekaligus atau menyinkronkan perubahan metadata antara beberapa server.

Perbandingan mode

Tabel berikut menjelaskan perbedaan sebelum dan sesudah mengaktifkan cache metadata ossfs.

Cache metadata ossfs

Perintah

Metode Permintaan

Operasi

Performa

Cache metadata ossfs dinonaktifkan

stat

ossfs mengirim permintaan HeadObject ke bucket untuk mendapatkan metadata objek.

ossfs mengirim permintaan HeadObject untuk mendapatkan hanya satu objek dari bucket.

Metadata objek diperoleh dari bucket, yang lebih lambat daripada membaca dari memori.

ls

ossfs mengirim permintaan ListObject ke bucket untuk mendapatkan objek dalam direktori dan mengirim permintaan HeadObject untuk mendapatkan metadata objek.

Setelah ossfs mengirim permintaan ListObject, ossfs mengirim permintaan HeadObject untuk mendapatkan hanya satu objek dalam direktori dari bucket.

Cache metadata ossfs diaktifkan (cache metadata tidak kedaluwarsa)

stat

ossfs mendapatkan metadata objek dari memori lokal.

ossfs mendapatkan objek dari memori.

Metadata objek dibaca dari memori lokal, yang lebih cepat.

ls

ossfs mengirim permintaan ListObject ke bucket untuk mendapatkan objek dalam direktori dan mendapatkan metadata objek dari memori lokal.

Setelah ossfs mengirim permintaan ListObject, ossfs mendapatkan objek dalam direktori. Jika Anda ingin mengakses objek tertentu dalam direktori, ossfs mendapatkan objek tersebut dari memori lokal.

Parameter

Tabel berikut menjelaskan parameter yang dapat dikonfigurasikan untuk cache metadata ossfs.

Parameter

Deskripsi

Nilai

max_stat_cache_size

Menentukan apakah akan mengaktifkan cache metadata dan ukuran maksimum cache metadata. Tentukan parameter berdasarkan jumlah objek yang sering diakses di OSS. Jika memori mencukupi, kami menyarankan Anda menetapkan parameter ke nilai yang lebih besar untuk meningkatkan performa operasi.

-omax_stat_cache_size=1.000.000 menentukan bahwa ukuran maksimum cache metadata adalah sekitar 400 MB di memori. Jika Anda menetapkan parameter ke 0, cache metadata dinonaktifkan. Jika Anda tidak menentukan parameter ini, nilai default digunakan.

Nilai default: 100.000.

Satuan: objek atau direktori.

Ukuran: sekitar 40 MB.

stat_cache_expire

Menentukan apakah akan mengaktifkan kebijakan penghapusan cache untuk cache metadata dan mengubah periode validitas cache metadata. Kami menyarankan Anda menentukan periode validitas cache metadata berdasarkan kebutuhan bisnis Anda.

-ostat_cache_expire=1800 menentukan bahwa periode validitas adalah 30 menit. Jika Anda menetapkan parameter ke -1, kebijakan penghapusan cache dinonaktifkan. Jika Anda tidak menentukan parameter ini, nilai default digunakan. Kami menyarankan Anda tidak menonaktifkan kebijakan penghapusan cache kecuali tidak ada pembaruan yang dilakukan pada objek setelah bucket dipasang ke sistem file lokal.

Catatan

Secara default, ossfs mengaktifkan kebijakan penghapusan cache dan menetapkan batas atas untuk cache metadata menjadi 100.000, yang mengonsumsi sekitar 40 MB memori.

Nilai default: 900.

Satuan: detik.

readdir_optimize

Menentukan apakah akan menggunakan optimasi cache. Nilai default: false.

Setelah Anda menentukan parameter, ossfs tidak mengirim permintaan HeadObject untuk mendapatkan metadata objek, seperti gid dan uid, saat Anda menjalankan perintah ls. Permintaan HeadObject dikirim hanya jika ukuran objek yang diakses adalah 0. Namun, sejumlah permintaan HeadObject mungkin masih dikirim karena alasan seperti pemeriksaan izin. Tentukan parameter berdasarkan karakteristik aplikasi.

Untuk menggunakan optimasi cache, tentukan -oreaddir_optimize.

Nilai default: false.

Mekanisme manajemen cache metadata

Tabel berikut menjelaskan mekanisme manajemen cache metadata ossfs.

Status Cache

Operasi

Metadata objek disimpan dalam cache dan kebijakan penghapusan cache dinonaktifkan atau cache belum kedaluwarsa.

Baca metadata objek langsung dari cache.

Metadata objek disimpan dalam cache dan cache telah kedaluwarsa.

Perbarui cache.

Metadata objek tidak disimpan dalam cache dan kapasitas cache tersedia.

Simpan objek dalam cache.

Metadata objek tidak disimpan dalam cache, kapasitas cache sepenuhnya terpakai, dan kebijakan penghapusan cache diaktifkan.

Lakukan penelusuran cache dan hapus objek yang kedaluwarsa.

Metadata objek tidak disimpan dalam cache, kapasitas cache sepenuhnya terpakai, dan kebijakan penghapusan cache dinonaktifkan.

Hapus objek yang disimpan dalam cache yang tidak diakses untuk periode waktu yang lama berdasarkan kebijakan least recently used (LRU).

Saran

  • Jika Anda tidak memerlukan metadata objek, tentukan parameter readdir_optimize untuk meningkatkan performa operasi list dan find. Setelah mengaktifkan cache metadata ossfs, tautan simbolik tidak lagi didukung.

  • Dalam skenario multi-klien dengan persyaratan real-time tinggi untuk pembaruan data, lanjutkan dengan hati-hati jika Anda mengaktifkan cache metadata ossfs. Nonaktifkan cache metadata ossfs dengan menentukan parameter -omax_stat_cache_size=0 untuk menjaga konsistensi data. Namun, penurunan performa mungkin terjadi dan biaya tambahan mungkin dikenakan.

    Jika aplikasi Anda memerlukan konsistensi data yang kuat di beberapa klien, gunakan Cloud Storage Gateway (CSG) atau Cloud Parallel File Storage (CPFS). Kami menyarankan Anda tidak menggunakan ossfs.

  • Jika jumlah objek yang sering diakses di OSS besar, tingkatkan nilai parameter max_stat_cache_size secara tepat untuk mencegah cache sering dihapus.

    Jika Anda ingin melakukan operasi pada sejumlah besar objek dan memori server tidak mencukupi, gunakan ossutil atau OSS SDKs untuk melakukan operasi. Jika Anda ingin memasang bucket ke sistem file lokal, gunakan CSG atau CPFS.

  • Jika jumlah objek yang sering diakses di OSS besar, buat beberapa titik mount OSSFS, masing-masing didedikasikan untuk subdirektori terpisah. Pengaturan ini mendistribusikan beban kerja di seluruh titik mount dan meningkatkan performa.