All Products
Search
Document Center

Vector Retrieval Service for Milvus:Perbarui konfigurasi instans

Last Updated:Apr 23, 2026

Vector Retrieval Service for Milvus (Milvus) memungkinkan Anda melakukan kueri dan memodifikasi konfigurasi instans di Konsol. Topik ini menjelaskan cara memperbarui konfigurasi instans Milvus.

Prosedur

  1. Buka halaman konfigurasi instans.

    1. Login ke Alibaba Cloud Milvus console.

    2. Pada panel navigasi kiri, klik Instances.

    3. Pada bilah menu atas, pilih wilayah.

    4. Pada halaman Instances, klik nama instans yang dituju.

    5. Klik tab Instance Configuration.

  2. Pada kotak teks Instance Configuration, masukkan parameter untuk mengganti konfigurasi default, lalu klik Save Configurations.

    Parameter harus dalam format YAML. Berikut contohnya.

    # Konfigurasi untuk rootCoord, yang menangani permintaan Data Definition Language (DDL) dan Data Control Language (DCL).
    rootCoord:
      maxDatabaseNum: 64 # Jumlah maksimum database.
      maxPartitionNum: 4096 # Jumlah maksimum partisi dalam sebuah koleksi.
      minSegmentSizeToEnableIndex: 1024 # Ambang batas yang menentukan ukuran segmen minimum untuk pengindeksan. Segmen yang lebih kecil dari nilai ini tidak diindeks.
      importTaskExpiration: 900 # Durasi dalam detik setelah tugas impor kedaluwarsa dan dihentikan. Default: 900 detik (15 menit).
      importTaskRetention: 86400 # Durasi minimum dalam detik selama Milvus menyimpan catatan tugas impor. Default: 86400 detik (24 jam).
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
        
    # Konfigurasi untuk proxy, yang memvalidasi permintaan client dan mengurangi hasil yang dikembalikan.
    proxy:
      timeTickInterval: 200 # Interval dalam milidetik (ms) saat proxy menyinkronkan time tick.
      healthCheckTimeout: 3000 # Interval dalam milidetik (ms) untuk pemeriksaan kesehatan komponen.
      maxNameLength: 255 # Panjang maksimum nama koleksi atau alias.
      # Jumlah maksimum bidang dalam sebuah koleksi.
      # Mulai Milvus 2.2.0, sangat tidak disarankan mengatur maxFieldNum ke 64 atau lebih.
      # Sesuaikan parameter ini dengan risiko Anda sendiri.
      maxFieldNum: 64
      maxTaskNum: 1024 # Jumlah maksimum tugas dalam antrian tugas proxy.
      grpc:
        serverMaxSendSize: 268435456
        serverMaxRecvSize: 67108864
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 67108864
    
    # Konfigurasi untuk queryCoord, yang mengelola topologi dan penyeimbangan beban untuk node kueri, serta menangani handoff dari segmen growing ke segmen sealed.
    queryCoord:
      autoHandoff: true # Menentukan apakah handoff otomatis diaktifkan.
      autoBalance: true # Menentukan apakah penyeimbangan beban otomatis diaktifkan.
      balancer: ScoreBasedBalancer # Algoritma penyeimbangan beban yang digunakan.
      overloadedMemoryThresholdPercentage: 90 # Persentase penggunaan memori yang memicu kondisi overload.
      balanceIntervalSeconds: 60
      memoryUsageMaxDifferencePercentage: 30
      checkInterval: 1000
      channelTaskTimeout: 60000 # 1 menit
      segmentTaskTimeout: 120000 # 2 menit
      distPullInterval: 500
      heartbeatAvailableInterval: 10000 # 10s. Node kueri dianggap tersedia hanya jika mengirim heartbeat dalam interval ini.
      loadTimeoutSeconds: 600
      checkHandoffInterval: 5000
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    # Konfigurasi untuk queryNode, yang menjalankan pencarian hibrid antara data vektor dan skalar.
    queryNode:
      dataSync:
        flowGraph:
          maxQueueLength: 16 # Panjang maksimum antrian tugas dalam flow graph.
          maxParallelism: 1024 # Jumlah maksimum tugas yang dapat berjalan secara paralel dalam flow graph.
      stats:
        publishInterval: 1000 # Interval dalam milidetik saat node kueri melaporkan informasinya.
      segcore:
        cgoPoolSizeRatio: 2.0 # Rasio ukuran pool cgo terhadap konkurensi baca maksimum.
        knowhereThreadPoolNumRatio: 4
        # Gunakan lebih banyak thread untuk meningkatkan throughput SSD pada indeks on-disk.
        # Parameter ini hanya berlaku jika enableDisk diatur ke true.
        # Nilai ini harus berupa angka lebih besar dari 1 dan kurang dari 32.
        chunkRows: 128 # Jumlah vektor dalam satu chunk.
        exprEvalBatchSize: 8192 # Ukuran batch untuk pelaksana mendapatkan batch berikutnya.
        interimIndex: # Membuat indeks vektor sementara untuk segmen growing atau log biner guna mempercepat pencarian.
          enableIndex: true
          nlist: 128 # Nilai nlist untuk indeks segmen.
          nprobe: 16 # Nilai nprobe untuk mencari segmen. Nilai ini bergantung pada kebutuhan akurasi Anda dan harus lebih kecil dari nlist.
          memExpansionRate: 1.15 # Rasio penggunaan memori untuk membangun indeks sementara terhadap ukuran data mentah.
      loadMemoryUsageFactor: 1 # Faktor perkalian untuk menghitung penggunaan memori saat memuat segmen.
      enableDisk: false # Menentukan apakah node kueri dapat memuat indeks disk dan melakukan pencarian di atasnya.
      maxDiskUsagePercentage: 95
      grouping:
        enabled: true
        maxNQ: 1000
        topKMergeRatio: 20
      scheduler:
        receiveChanSize: 10240
        unsolvedQueueSize: 10240
        # Rasio konkurensi untuk tugas baca, seperti tugas search dan query.
        # Konkurensi baca maksimum dihitung sebagai runtime.NumCPU × maxReadConcurrentRatio.
        # Nilai default adalah 2.0, artinya konkurensi baca maksimum adalah runtime.NumCPU × 2.
        # Konkurensi baca maksimum harus lebih besar dari atau sama dengan 1 dan kurang dari atau sama dengan runtime.NumCPU × 100.
        # Rentang: (0, 100].
        maxReadConcurrentRatio: 1
        cpuRatio: 10 # Rasio yang digunakan untuk memperkirakan penggunaan CPU untuk tugas baca.
        maxTimestampLag: 86400
        # Kebijakan penjadwalan untuk tugas baca. Opsi: fifo (default), user-task-polling.
        scheduleReadPolicy:
          # fifo: Antrian First-In, First-Out (FIFO) mendukung penjadwalan.
          # user-task-polling:
          #     Tugas pengguna dipolling dan dijadwalkan satu per satu.
          #     Penjadwalan adil di tingkat tugas.
          #     Kebijakan ini berdasarkan username untuk otentikasi.
          #     Username kosong dianggap sebagai pengguna yang sama.
          #     Jika tidak ada beberapa pengguna, kebijakan ini berubah menjadi FIFO.
          name: fifo
          maxPendingTask: 10240
          # Konfigurasi user-task-polling:
          taskQueueExpire: 60 # Waktu kedaluwarsa dalam detik untuk antrian tugas pengguna internal setelah menjadi kosong. Default: 60 (1 menit).
          enableCrossUserGrouping: false # Menentukan apakah pengelompokan lintas pengguna diaktifkan saat menggunakan kebijakan user-task-polling. Default: false. Atur ke false jika tugas pengguna tidak dapat digabung dengan pengguna lain.
          maxPendingTaskPerUser: 1024 # Jumlah maksimum tugas tertunda per pengguna dalam penjadwal. Default: 50.
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    indexCoord:
      bindIndexNodeMode:
        enable: false
        withCred: false
      segment:
        minSegmentNumRowsToEnableIndex: 1024 # Ambang batas. Jika jumlah baris dalam segmen kurang dari nilai ini, segmen tersebut tidak diindeks.
    
    indexNode:
      scheduler:
        buildParallel: 1
      enableDisk: true # Menentukan apakah node indeks dapat membangun indeks vektor on-disk.
      maxDiskUsagePercentage: 95
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    dataCoord:
      channel:
        watchTimeoutInterval: 300 # Timeout dalam detik untuk menonton saluran. Pembaruan tickler DataNode terhadap progres watch akan mereset timer timeout.
        balanceSilentDuration: 300 # Durasi dalam detik sebelum channelBalancer pada dataCoord dijalankan.
        balanceInterval: 360 # Interval dalam detik saat channelBalancer pada dataCoord memeriksa status keseimbangan.
      segment:
        maxSize: 1024 # Ukuran maksimum segmen, dalam MB.
        diskSegmentMaxSize: 2048 # Ukuran maksimum dalam MB untuk segmen koleksi yang memiliki indeks on-disk.
        sealProportion: 0.12
        # Waktu kedaluwarsa penugasan, dalam milidetik.
        # Peringatan: Ini adalah parameter ahli dan sangat terkait dengan integritas data. Jangan ubah tanpa tujuan spesifik
        # dan pemahaman mendalam tentang skenario. Jika Anda harus mengubah
        # parameter ini, pastikan nilai barunya lebih besar dari nilai sebelumnya yang digunakan sebelum restart.
        # Jika tidak, risiko kehilangan data sangat tinggi.
        assignmentExpiration: 2000
        maxLife: 86400 # Masa hidup maksimum segmen, dalam detik. (24 × 60 × 60)
        # Jika segmen tidak menerima catatan DML dalam maxIdleTime dan ukurannya lebih besar dari
        # minSizeFromIdleToSealed, Milvus secara otomatis menyegelnya.
        # Waktu idle maksimum segmen, dalam detik. (10 × 60)
        maxIdleTime: 600
        minSizeFromIdleToSealed: 16 # Ukuran minimum dalam MB agar segmen disegel setelah idle.
        # Jumlah maksimum file binary logging untuk satu segmen. Segmen akan disegel jika
        # jumlah file binary logging mencapai nilai ini.
        maxBinlogFileNumber: 32
        smallProportion: 0.5 # Segmen dianggap "segmen kecil" jika jumlah barisnya lebih kecil dari
        # (smallProportion × jumlah baris maksimum segmen).
        # Kompaksi terjadi pada segmen kecil jika segmen setelah kompaksi memiliki
        compactableProportion: 0.85
        # lebih dari (compactableProportion × jumlah baris maksimum segmen) baris.
        # Nilai ini harus lebih besar dari atau sama dengan <smallProportion>.
        # Selama kompaksi, jumlah baris dalam segmen dapat melebihi jumlah baris maksimum sebesar (expansionRate - 1) × 100%.
        expansionRate: 1.25
        # Menentukan apakah segmen level-nol diaktifkan.
        enableLevelZero: false
      enableCompaction: true # Menentukan apakah kompaksi segmen data diaktifkan.
      compaction:
        enableAutoCompaction: true
        rpcTimeout: 10 # Timeout untuk permintaan RPC kompaksi, dalam detik.
        maxParallelTaskNum: 10 # Jumlah maksimum tugas kompaksi paralel.
        indexBasedCompaction: true
    
        levelzero:
          forceTrigger:
            minSize: 8 # Ukuran minimum dalam MB untuk memaksa memicu kompaksi LevelZero.
            deltalogMinNum: 10 # Jumlah minimum file deltalog untuk memaksa memicu kompaksi LevelZero.
    
      enableGarbageCollection: true
      gc:
        interval: 3600 # Interval pengumpulan sampah (GC), dalam detik.
        missingTolerance: 3600 # Durasi toleransi dalam detik untuk metadata file yang hilang.
        dropTolerance: 10800 # Durasi toleransi dalam detik untuk file yang termasuk entitas yang di-drop.
      enableActiveStandby: false
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    dataNode:
      dataSync:
        flowGraph:
          maxQueueLength: 16 # Panjang maksimum antrian tugas dalam flow graph.
          maxParallelism: 1024 # Jumlah maksimum tugas yang dapat berjalan secara paralel dalam flow graph.
        maxParallelSyncMgrTasks: 256 # Jumlah maksimum tugas sinkronisasi konkuren untuk manajer sinkronisasi DataNode secara global. 
        skipMode:
          # Jika hanya pesan timetick yang ada dalam flow graph selama periode lebih lama dari coldTime,
          # flow graph memasuki mode skip untuk melewati sebagian besar timetick. Ini mengurangi biaya, terutama saat ada banyak saluran.
          enable: true
          skipNum: 4
          coldTime: 60
      segment:
        insertBufSize: 16777216 # Ukuran buffer maksimum untuk flush pada satu segmen.
        deleteBufBytes: 67108864 # Ukuran buffer maksimum untuk flush penghapusan pada satu saluran.
        syncPeriod: 600 # Periode dalam detik untuk menyinkronkan segmen jika buffer tidak kosong.
      # Anda dapat menentukan alamat IP. Contoh:
      # ip: 127.0.0.1
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
      memory:
        forceSyncEnable: true # Atur ke `true` untuk memaksa sinkronisasi jika penggunaan memori terlalu tinggi.
        forceSyncSegmentNum: 1 # Jumlah segmen yang akan disinkronkan. Segmen dengan buffer terbesar disinkronkan terlebih dahulu.
        watermarkStandalone: 0.2 # Watermark memori untuk mode standalone. Saat watermark ini tercapai, segmen disinkronkan.
        watermarkCluster: 0.5 # Watermark memori untuk mode kluster. Saat watermark ini tercapai, segmen disinkronkan.
      timetick:
        byRPC: true
      channel:
        # Menentukan ukuran pool kerja global untuk semua saluran.
        # Jika parameter ini kurang dari atau sama dengan 0, diatur ke jumlah maksimum CPU yang dapat mengeksekusi.
        # Disarankan mengatur nilai lebih besar untuk jumlah koleksi yang besar guna menghindari blocking.
        workPoolSize: -1
        # Menentukan ukuran pool kerja global untuk pembaruan checkpoint saluran.
        # Jika parameter ini kurang dari atau sama dengan 0, diatur ke 1000.
        # Disarankan mengatur nilai lebih besar untuk jumlah koleksi yang besar guna menghindari blocking.
        updateChannelCheckpointMaxParallel: 1000
    
    grpc:
      client:
        compressionEnabled: false
        dialTimeout: 200
        keepAliveTime: 10000
        keepAliveTimeout: 20000
        maxMaxAttempts: 10
        initialBackOff: 0.2 # detik
        maxBackoff: 10 # detik
        
    quotaAndLimits:
      enabled: true # Atur ke `true` untuk mengaktifkan kuota dan batasan, atau `false` untuk menonaktifkan.
      limits:
        maxCollectionNum: 65536
        maxCollectionNumPerDB: 65536
      # Interval dalam detik saat quotaCenter
      # mengumpulkan metrik dari proxy, kluster kueri, dan kluster data.
      # Rentang: 0 hingga 65536.
      quotaCenterCollectInterval: 3
      ddl:
        enabled: false
        collectionRate: -1 # Batas laju dalam permintaan per detik (qps) untuk CreateCollection, DropCollection, LoadCollection, dan ReleaseCollection. Default: tanpa batas.
        partitionRate: -1 # Batas laju dalam qps untuk CreatePartition, DropPartition, LoadPartition, dan ReleasePartition. Default: tanpa batas.
      indexRate:
        enabled: false
        max: -1 # Batas laju dalam qps untuk CreateIndex dan DropIndex. Default: tanpa batas.
      flushRate:
        enabled: false
        max: -1 # Batas laju dalam qps untuk operasi flush. Default: tanpa batas.
      compactionRate:
        enabled: false
        max: -1 # Batas laju dalam qps untuk kompaksi manual. Default: tanpa batas.
      dml:
        # Batasan laju DML. Default: tanpa batas.
        # Laju tidak melebihi nilai maksimum.
        enabled: false
        insertRate:
          collection:
            max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
          max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
        upsertRate:
          collection:
            max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
          max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
        deleteRate:
          collection:
            max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
          max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas.
        bulkLoadRate:
          collection:
            max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas. Belum didukung. TODO: Batasi laju bulkLoad.
          max: -1 # Laju maksimum dalam MB/s. Default: tanpa batas. Belum didukung. TODO: Batasi laju bulkLoad.
      dql:
        # Batasan laju DQL. Default: tanpa batas.
        # Laju tidak melebihi nilai maksimum.
        enabled: false
        searchRate:
          collection:
            max: -1 # Laju maksimum dalam vektor per detik (vps). Default: tanpa batas.
          max: -1 # Laju maksimum dalam vps. Default: tanpa batas.
        queryRate:
          collection:
            max: -1 # Laju maksimum dalam qps. Default: tanpa batas.
          max: -1 # Laju maksimum dalam qps. Default: tanpa batas.
      limitWriting:
        # forceDeny: false memungkinkan permintaan DML (kecuali dalam kondisi tertentu,
        # seperti memori node mencapai watermark). forceDeny: true selalu menolak semua permintaan DML.
        forceDeny: false
        ttProtection:
          enabled: false
          # Menunjukkan tekanan balik untuk operasi DML.
          # Laju DML dikurangi berdasarkan rasio keterlambatan time tick terhadap maxTimeTickDelay.
          # Jika keterlambatan time tick lebih besar dari maxTimeTickDelay, semua permintaan DML ditolak.
          # Satuan: detik.
          maxTimeTickDelay: 300
        memProtection:
          # Jika penggunaan memori > memoryHighWaterLevel, semua permintaan DML ditolak.
          # Jika memoryLowWaterLevel < penggunaan memori < memoryHighWaterLevel, laju DML dikurangi.
          # Jika penggunaan memori < memoryLowWaterLevel, tidak ada tindakan.
          enabled: true
          dataNodeMemoryLowWaterLevel: 0.85 # memoryLowWaterLevel di DataNode. Rentang: (0, 1].
          dataNodeMemoryHighWaterLevel: 0.95 # memoryHighWaterLevel di DataNode. Rentang: (0, 1].
          queryNodeMemoryLowWaterLevel: 0.85 # memoryLowWaterLevel di QueryNode. Rentang: (0, 1].
          queryNodeMemoryHighWaterLevel: 0.95 # memoryHighWaterLevel di QueryNode. Rentang: (0, 1].
        growingSegmentsSizeProtection:
          # Tidak ada tindakan jika ukuran segmen growing kurang dari watermark rendah.
          # Saat ukuran segmen growing melebihi watermark rendah, laju DML dikurangi,
          # tetapi laju tidak akan lebih rendah dari minRateRatio × dmlRate.
          enabled: false
          minRateRatio: 0.5
          lowWaterLevel: 0.2
          highWaterLevel: 0.4
        diskProtection:
          enabled: true # Jika ukuran total file di object storage lebih besar dari diskQuota, semua permintaan DML ditolak.
          diskQuota: -1 # Kuota disk dalam MB. Rentang: (0, +inf). Default: tanpa batas.
          diskQuotaPerCollection: -1 # Kuota disk per koleksi dalam MB. Rentang: (0, +inf). Default: tanpa batas.
      limitReading:
        # forceDeny: false memungkinkan permintaan DQL (kecuali dalam beberapa
        # kondisi tertentu, seperti koleksi sedang di-drop). forceDeny: true selalu menolak semua permintaan DQL.
        forceDeny: false
        queueProtection:
          enabled: false
          # Menunjukkan bahwa sistem mengalami tekanan balik pada jalur Search/Query.
          # Jika jumlah kueri (NQ) dalam antrian QueryNode mana pun lebih besar dari nqInQueueThreshold, laju search dan query secara bertahap berkurang
          # hingga NQ dalam antrian tidak lagi melebihi ambang batas. NQ permintaan kueri dianggap 1.
          # Tipe: integer. Default: tanpa batas.
          nqInQueueThreshold: -1
          # Menunjukkan bahwa sistem mengalami tekanan balik pada jalur Search/Query.
          # Jika latensi antrian DQL lebih besar dari queueLatencyThreshold, laju search dan query secara bertahap berkurang
          # hingga latensi antrian tidak lagi melebihi ambang batas.
          # Latensi mengacu pada latensi rata-rata selama periode tertentu.
          # Satuan: milidetik. Default: tanpa batas.
          queueLatencyThreshold: -1
        resultProtection:
          enabled: false
          # Menunjukkan bahwa sistem mengalami tekanan balik pada jalur Search/Query.
          # Jika laju hasil DQL lebih besar dari maxReadResultRate, laju search dan query secara bertahap berkurang
          # hingga laju hasil baca tidak lagi melebihi ambang batas.
          # Satuan: MB/s. Default: tanpa batas.
          maxReadResultRate: -1
        # Kecepatan pengurangan laju search dan query.
        # Rentang: (0, 1].
        coolOffSpeed: 0.9
  3. Pada kotak dialog Note, masukkan alasan perubahan dan klik OK.

    Instans akan secara otomatis restart setelah pengiriman jika parameter yang dimodifikasi memerlukannya. Selama proses ini, instans memasuki status Upgrading. Setelah pembaruan selesai, instans kembali ke status Running.