全部产品
Search
文档中心

Object Storage Service:Fitur baru ossfs V1.91.2

更新时间:Jun 26, 2025

Topik ini menjelaskan pembaruan untuk ossfs 1.91.2.

Fitur baru

Mode baca langsung

Ketika menggunakan ossfs untuk membaca objek dalam Bucket OSS, ossfs secara otomatis mengunduh objek dari bucket, menulisnya ke disk lokal sebagai file, dan mengembalikan file tersebut dari disk lokal. Dalam ossfs, penulisan disk bersifat asinkron, artinya file yang diunduh pertama-tama ditulis ke page cache di memori sebelum secara asinkron di-flush ke disk lokal. Jika terjadi cache hit saat membaca file, file tersebut langsung disajikan dari cache.

Secara default, ossfs menyimpan semua data yang diunduh sebelumnya di disk lokal hingga ruang disk yang tersedia habis.

  • Jika ukuran memori mencukupi, semua data yang diunduh akan ditulis ke page cache. Kinerja baca hanya bergantung pada lebar pita jaringan mesin, bukan pada lebar pita disk.

  • Jika ukuran memori tidak cukup untuk menampung seluruh file, file tersebut ditulis ke disk lokal dan disajikan dari disk untuk memproses permintaan baca. Akibatnya, kinerja baca bergantung pada lebar pita disk dan lebar pita jaringan, dengan lebar pita disk menjadi batasan utama kinerja.

Dalam mode baca default, kinerja membaca file besar dibatasi oleh lebar pita disk. Untuk mengatasi batasan ini, ossfs mendukung mode baca langsung.

  • Dalam mode baca langsung, ossfs mengunduh data ke buffer memori dan melayani permintaan baca dari buffer tersebut. Mode ini menghilangkan keterlibatan disk dalam proses pembacaan, sehingga meningkatkan kinerja baca berurutan yang memanfaatkan lebar pita jaringan.

  • Dalam mode baca langsung, ossfs mengelola data yang diunduh dalam chunk. Ukuran setiap chunk adalah 4 MB secara default dan dapat diubah menggunakan parameter direct_read_chunk_size. Di dalam memori, ossfs mempertahankan data dalam rentang dari chunk sebelumnya hingga direct_read_prefetch_chunks setelah chunk saat ini. Jika offset operasi baca berikutnya melebihi rentang ini, ossfs membuang data yang sudah diunduh dan mulai melakukan prefetch dari offset baru.

Mode baca langsung hanya cocok untuk pembacaan berurutan dan tidak berlaku dalam skenario berikut:

  • Pembacaan acak: ossfs hanya menyimpan data dalam jendela offset saat ini. Jika offset pembacaan acak tidak termasuk dalam jendela tersebut, data diunduh dan dilepaskan berkali-kali, yang mengonsumsi sumber daya jaringan secara tidak efisien dan menurunkan kinerja baca. Oleh karena itu, mode baca langsung tidak cocok untuk skenario dengan banyak operasi baca acak.

  • Penulisan: ossfs tetap menulis data ke disk lokal terlebih dahulu. Jika permintaan penulisan file terjadi selama operasi baca langsung pada file tersebut, ossfs secara otomatis beralih ke mode baca default, di mana file pertama-tama diunduh ke disk lokal. Operasi penulisan pada file selama operasi baca langsung tidak menyebabkan file lain keluar dari mode baca langsung.

Tabel berikut menjelaskan parameter yang terkait dengan mode baca langsung.

Parameter

Deskripsi

Nilai default

direct_read

Menentukan apakah akan mengaktifkan mode baca langsung. Untuk mengaktifkan mode baca langsung, tentukan -odirect_read di baris perintah.

disabled

direct_read_chunk_size

Ukuran data (dalam MB) yang akan di-prefetch oleh setiap tugas prefetch.

4

direct_read_prefetch_chunks

Jumlah chunk yang akan di-prefetch.

32

direct_read_prefetch_limit

Ukuran maksimum data (dalam MB) yang dapat di-prefetch.

1024

direct_read_prefetch_thread

Jumlah thread yang melakukan prefetching.

64

Pengujian kinerja

Gunakan ossfs untuk memasang Bucket OSS ke sistem file lokal dan lakukan pembacaan berurutan untuk pengujian kinerja. Hasil tes adalah sebagai berikut:

  • Spesifikasi mesin

    • Memori: 32 GB

    • Lebar pita disk: 130 Mbit/s

    • Lebar pita internal: Mbit/s

  • Perintah pemasangan

    • Pasang ossfs dalam mode baca default:

      ossfs [bucket name] [mountpoint] -ourl=[endpoint] -oparallel_count=32 -omultipart_size=16
    • Pasang ossfs dalam mode baca langsung:

      ossfs [bucket name] [mountpoint] -ourl=[endpoint] -odirect_read -odirect_read_chunk_size=8 -odirect_read_prefetch_chunks=64
  • Skrip

    dd if=testfile of=/dev/null bs=1M status=progress

    Tabel berikut menjelaskan hasil tes.

    Ukuran file

    Mode baca default

    Mode baca langsung

    1 GB

    646MB/s

    592MB/s

    5 GB

    630MB/s

    611MB/s

    10 GB

    260MB/s

    574MB/s