すべてのプロダクト
Search
ドキュメントセンター

Vector Retrieval Service for Milvus:インスタンス構成の更新

最終更新日:Apr 21, 2026

Vector Retrieval Service for Milvus (Milvus) では、コンソールでインスタンス構成のクエリと変更ができます。このトピックでは、Milvus インスタンスの構成を更新する方法について説明します。

操作手順

  1. インスタンス構成ページに移動します。

    1. Alibaba Cloud Milvus コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

    3. 上部のメニューバーで、リージョンを選択します。

    4. [インスタンス] ページで、ターゲットインスタンスの名前をクリックします。

    5. Instance Configuration タブをクリックします。

  2. Instance Configuration テキストボックスに、デフォルト設定をオーバーライドするパラメーターを入力し、Save Configurations をクリックします。

    パラメーターは YAML フォーマットである必要があります。以下に例を示します。

    # データ定義言語 (DDL) およびデータ制御言語 (DCL) リクエストを処理する rootCoord の構成。
    rootCoord:
      maxDatabaseNum: 64 # データベースの最大数。
      maxPartitionNum: 4096 # コレクション内のパーティションの最大数。
      minSegmentSizeToEnableIndex: 1024 # インデックス作成の最小セグメントサイズを指定するしきい値。この値より小さいセグメントはインデックス付けされません。
      importTaskExpiration: 900 # インポートタスクが期限切れになり終了するまでの期間 (秒)。デフォルト:900 秒 (15 分)。
      importTaskRetention: 86400 # Milvus がインポートタスクのレコードを保持する最小期間 (秒)。デフォルト:86400 秒 (24 時間)。
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
        
    # クライアントリクエストを検証し、返される結果を削減するプロキシの構成。
    proxy:
      timeTickInterval: 200 # プロキシがタイムティックを同期する間隔 (ミリ秒、ms)。
      healthCheckTimeout: 3000 # コンポーネントのヘルスチェックの間隔 (ミリ秒、ms)。
      maxNameLength: 255 # コレクション名またはエイリアスの最大長。
      # コレクション内のフィールドの最大数。
      # Milvus 2.2.0 以降、maxFieldNum を 64 以上に設定することは強く推奨されません。
      # このパラメーターは自己責任で調整してください。
      maxFieldNum: 64
      maxTaskNum: 1024 # プロキシのタスクキュー内のタスクの最大数。
      grpc:
        serverMaxSendSize: 268435456
        serverMaxRecvSize: 67108864
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 67108864
    
    # クエリノードのトポロジーと負荷分散を管理し、増加中セグメントから sealed segment へのハンドオフを処理する queryCoord の構成。
    queryCoord:
      autoHandoff: true # 自動ハンドオフを有効にするかどうかを指定します。
      autoBalance: true # 自動負荷分散を有効にするかどうかを指定します。
      balancer: ScoreBasedBalancer # 使用する負荷分散アルゴリズム。
      overloadedMemoryThresholdPercentage: 90 # 過負荷状態をトリガーするメモリ使用率。
      balanceIntervalSeconds: 60
      memoryUsageMaxDifferencePercentage: 30
      checkInterval: 1000
      channelTaskTimeout: 60000 # 1 分
      segmentTaskTimeout: 120000 # 2 分
      distPullInterval: 500
      heartbeatAvailableInterval: 10000 # 10 秒。クエリノードは、この間隔内にハートビートを送信した場合にのみ利用可能と見なされます。
      loadTimeoutSeconds: 600
      checkHandoffInterval: 5000
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    # ベクターデータとスカラーデータ間のハイブリッド検索を実行する queryNode の構成。
    queryNode:
      dataSync:
        flowGraph:
          maxQueueLength: 16 # フローグラフ内のタスクキューの最大長。
          maxParallelism: 1024 # フローグラフ内で並列実行できるタスクの最大数。
      stats:
        publishInterval: 1000 # クエリノードがその情報を報告する間隔 (ミリ秒)。
      segcore:
        cgoPoolSizeRatio: 2.0 # cgo プールサイズと最大読み取り同時実行数の比率。
        knowhereThreadPoolNumRatio: 4
        # ディスク上のインデックスのスループットを向上させるためにより多くのスレッドを使用します。
        # このパラメーターは、enableDisk が true に設定されている場合にのみ有効です。
        # この値は 1 より大きく 32 未満の数値である必要があります。
        chunkRows: 128 # チャンク内のベクター数。
        exprEvalBatchSize: 8192 # エグゼキュータが次のバッチを取得するためのバッチサイズ。
        interimIndex: # 検索を高速化するために、増加中セグメントまたはバイナリログの中間ベクターインデックスを構築します。
          enableIndex: true
          nlist: 128 # セグメントインデックスの nlist 値。
          nprobe: 16 # セグメントを検索するための nprobe 値。この値は精度の要件に依存し、nlist より小さくなければなりません。
          memExpansionRate: 1.15 # 中間インデックスを構築するためのメモリ使用量と生データサイズの比率。
      loadMemoryUsageFactor: 1 # セグメントをロードする際のメモリ使用量を計算するための乗数。
      enableDisk: false # クエリノードがディスクインデックスをロードして検索できるようにするかどうかを指定します。
      maxDiskUsagePercentage: 95
      grouping:
        enabled: true
        maxNQ: 1000
        topKMergeRatio: 20
      scheduler:
        receiveChanSize: 10240
        unsolvedQueueSize: 10240
        # 検索やクエリなどの読み取りタスクの同時実行率。
        # 最大読み取り同時実行数は、runtime.NumCPU × maxReadConcurrentRatio として計算されます。
        # デフォルト値は 2.0 で、最大読み取り同時実行数が runtime.NumCPU × 2 であることを意味します。
        # 最大読み取り同時実行数は 1 以上、runtime.NumCPU × 100 以下である必要があります。
        # 範囲:(0, 100]。
        maxReadConcurrentRatio: 1
        cpuRatio: 10 # 読み取りタスクの CPU 使用率を推定するために使用される比率。
        maxTimestampLag: 86400
        # 読み取りタスクのスケジューリングポリシー。オプション:fifo (デフォルト)、user-task-polling。
        scheduleReadPolicy:
          # fifo:先入れ先出し (FIFO) キューがスケジュールをサポートします。
          # user-task-polling:
          #     ユーザータスクは 1 つずつポーリングおよびスケジュールされます。
          #     スケジューリングはタスクレベルで公平です。
          #     ポリシーは認証のためのユーザー名に基づいています。
          #     空のユーザー名は同じユーザーとして扱われます。
          #     複数のユーザーがいない場合、ポリシーは FIFO にダウングレードします。
          name: fifo
          maxPendingTask: 10240
          # user-task-polling の構成:
          taskQueueExpire: 60 # 内部ユーザータスクキューが空になった後の有効期限 (秒)。デフォルト:60 (1 分)。
          enableCrossUserGrouping: false # user-task-polling ポリシーを使用する際に、クロスユーザーグルーピングを有効にするかどうかを指定します。デフォルト:false。ユーザータスクを他のタスクとマージできない場合は、これを false に設定します。
          maxPendingTaskPerUser: 1024 # スケジューラ内のユーザーあたりの保留中タスクの最大数。デフォルト:50。
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    indexCoord:
      bindIndexNodeMode:
        enable: false
        withCred: false
      segment:
        minSegmentNumRowsToEnableIndex: 1024 # しきい値。セグメント内の行数がこの値より少ない場合、セグメントはインデックス付けされません。
    
    indexNode:
      scheduler:
        buildParallel: 1
      enableDisk: true # インデックスノードがディスク上のベクターインデックスを構築できるかどうかを指定します。
      maxDiskUsagePercentage: 95
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    dataCoord:
      channel:
        watchTimeoutInterval: 300 # チャンネルを監視するためのタイムアウト (秒)。DataNode tickler による監視進捗の更新は、タイムアウトタイマーをリセットします。
        balanceSilentDuration: 300 # dataCoord 上の channelBalancer が実行されるまでの期間 (秒)。
        balanceInterval: 360 # dataCoord 上の channelBalancer がバランス状態をチェックする間隔 (秒)。
      segment:
        maxSize: 1024 # セグメントの最大サイズ (MB)。
        diskSegmentMaxSize: 2048 # ディスク上のインデックスを持つコレクションのセグメントの最大サイズ (MB)。
        sealProportion: 0.12
        # 割り当ての有効期限 (ミリ秒)。
        # 警告:これは専門家向けのパラメーターであり、データ整合性と密接に関連しています。特定の目標とシナリオの確かな理解なしに変更しないでください。
        # このパラメーターを変更する必要がある場合は、新しい値が再起動前に使用された以前の値よりも大きいことを確認してください。
        # そうしないと、データ損失のリスクが高くなります。
        assignmentExpiration: 2000
        maxLife: 86400 # セグメントの最大寿命 (秒)。(24 × 60 × 60)
        # セグメントが maxIdleTime 内に DML レコードを受け付けず、そのサイズが
        # minSizeFromIdleToSealed より大きい場合、Milvus は自動的にそれを seal します。
        # セグメントの最大アイドル時間 (秒)。(10 × 60)
        maxIdleTime: 600
        minSizeFromIdleToSealed: 16 # アイドル状態になった後に seal されるセグメントの最小サイズ (MB)。
        # 1 つのセグメントのバイナリロギングファイルの最大数。セグメントは、
        # バイナリロギングファイルの数がこの値に達すると seal されます。
        maxBinlogFileNumber: 32
        smallProportion: 0.5 # セグメントの行数が
        # (smallProportion × セグメントの最大行数) より小さい場合、そのセグメントは「small segment」と見なされます。
        # コンパクション後のセグメントの行数が
        compactableProportion: 0.85
        # (compactableProportion × セグメントの最大行数) を超える場合、small segment でコンパクションが発生します。
        # この値は <smallProportion> 以上である必要があります。
        # コンパクション中、セグメントの行数は最大行数を (expansionRate - 1) × 100% 超えることがあります。
        expansionRate: 1.25
        # レベルゼロセグメントを有効にするかどうかを指定します。
        enableLevelZero: false
      enableCompaction: true # データセグメントのコンパクションを有効にするかどうかを指定します。
      compaction:
        enableAutoCompaction: true
        rpcTimeout: 10 # コンパクション RPC リクエストのタイムアウト (秒)。
        maxParallelTaskNum: 10 # 並列コンパクションタスクの最大数。
        indexBasedCompaction: true
    
        levelzero:
          forceTrigger:
            minSize: 8 # LevelZero コンパクションを強制トリガーするための最小サイズ (MB)。
            deltalogMinNum: 10 # LevelZero コンパクションを強制トリガーするための deltalog ファイルの最小数。
    
      enableGarbageCollection: true
      gc:
        interval: 3600 # ガベージコレクション (GC) の間隔 (秒)。
        missingTolerance: 3600 # 不足しているファイルメタデータの許容期間 (秒)。
        dropTolerance: 10800 # 削除されたエンティティに属するファイルの許容期間 (秒)。
      enableActiveStandby: false
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
    
    dataNode:
      dataSync:
        flowGraph:
          maxQueueLength: 16 # フローグラフ内のタスクキューの最大長。
          maxParallelism: 1024 # フローグラフ内で並列実行できるタスクの最大数。
        maxParallelSyncMgrTasks: 256 # DataNode 同期マネージャーのグローバルな同時同期タスクの最大数。
        skipMode:
          # coldTime より長い期間、フローグラフに timetick メッセージしかない場合、
          # フローグラフはスキップモードに入り、ほとんどの timetick をスキップします。これにより、特にチャンネルが多い場合にコストが削減されます。
          enable: true
          skipNum: 4
          coldTime: 60
      segment:
        insertBufSize: 16777216 # 単一セグメントをフラッシュするための最大バッファーサイズ。
        deleteBufBytes: 67108864 # 単一チャンネルの削除をフラッシュするための最大バッファーサイズ。
        syncPeriod: 600 # バッファーが空でない場合にセグメントを同期する期間 (秒)。
      # IP アドレスを指定できます。例:
      # ip: 127.0.0.1
      grpc:
        serverMaxSendSize: 536870912
        serverMaxRecvSize: 268435456
        clientMaxSendSize: 268435456
        clientMaxRecvSize: 536870912
      memory:
        forceSyncEnable: true # メモリ使用量が高すぎる場合に同期を強制するには `true` に設定します。
        forceSyncSegmentNum: 1 # 同期するセグメントの数。最大のバッファーを持つセグメントが最初に同期されます。
        watermarkStandalone: 0.2 # スタンドアロンモードのメモリウォーターマーク。このウォーターマークに達すると、セグメントが同期されます。
        watermarkCluster: 0.5 # クラスターモードのメモリウォーターマーク。このウォーターマークに達すると、セグメントが同期されます。
      timetick:
        byRPC: true
      channel:
        # すべてのチャンネルのグローバルワークプールのサイズを指定します。
        # このパラメーターが 0 以下の場合、実行可能な CPU の最大数に設定されます。
        # ブロックを避けるために、コレクション数が多い場合はより大きな値を設定することを推奨します。
        workPoolSize: -1
        # チャンネルチェックポイント更新のためのグローバルワークプールのサイズを指定します。
        # このパラメーターが 0 以下の場合、1000 に設定されます。
        # ブロックを避けるために、コレクション数が多い場合はより大きな値を設定することを推奨します。
        updateChannelCheckpointMaxParallel: 1000
    
    grpc:
      client:
        compressionEnabled: false
        dialTimeout: 200
        keepAliveTime: 10000
        keepAliveTimeout: 20000
        maxMaxAttempts: 10
        initialBackOff: 0.2 # 秒
        maxBackoff: 10 # 秒
        
    quotaAndLimits:
      enabled: true # クォータと制限を有効にするには `true` に、無効にするには `false` に設定します。
      limits:
        maxCollectionNum: 65536
        maxCollectionNumPerDB: 65536
      # quotaCenter がプロキシ、クエリクラスター、
      # データクラスターからメトリクスを収集する間隔 (秒)。
      # 範囲:0 から 65536。
      quotaCenterCollectInterval: 3
      ddl:
        enabled: false
        collectionRate: -1 # CreateCollection、DropCollection、LoadCollection、ReleaseCollection のレート制限 (クエリ/秒、qps)。デフォルト:制限なし。
        partitionRate: -1 # CreatePartition、DropPartition、LoadPartition、ReleasePartition のレート制限 (qps)。デフォルト:制限なし。
      indexRate:
        enabled: false
        max: -1 # CreateIndex および DropIndex のレート制限 (qps)。デフォルト:制限なし。
      flushRate:
        enabled: false
        max: -1 # flush 操作のレート制限 (qps)。デフォルト:制限なし。
      compactionRate:
        enabled: false
        max: -1 # 手動コンパクションのレート制限 (qps)。デフォルト:制限なし。
      dml:
        # DML レート制限。デフォルト:制限なし。
        # レートは最大値を超えません。
        enabled: false
        insertRate:
          collection:
            max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
          max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
        upsertRate:
          collection:
            max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
          max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
        deleteRate:
          collection:
            max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
          max: -1 # 最大レート (MB/s)。デフォルト:制限なし。
        bulkLoadRate:
          collection:
            max: -1 # 最大レート (MB/s)。デフォルト:制限なし。まだサポートされていません。TODO:bulkLoad レートを制限する。
          max: -1 # 最大レート (MB/s)。デフォルト:制限なし。まだサポートされていません。TODO:bulkLoad レートを制限する。
      dql:
        # DQL レート制限。デフォルト:制限なし。
        # レートは最大値を超えません。
        enabled: false
        searchRate:
          collection:
            max: -1 # 最大レート (ベクター/秒、vps)。デフォルト:制限なし。
          max: -1 # 最大レート (vps)。デフォルト:制限なし。
        queryRate:
          collection:
            max: -1 # 最大レート (qps)。デフォルト:制限なし。
          max: -1 # 最大レート (qps)。デフォルト:制限なし。
      limitWriting:
        # forceDeny: false は DML リクエストを許可します (ノードメモリが
        # ウォーターマークに達するなどの特定の条件を除く)。forceDeny: true は常にすべての DML リクエストを拒否します。
        forceDeny: false
        ttProtection:
          enabled: false
          # DML 操作のバックプレッシャーを示します。
          # DML レートは、タイムティック遅延と maxTimeTickDelay の比率に基づいて削減されます。
          # タイムティック遅延が maxTimeTickDelay より大きい場合、すべての DML リクエストは拒否されます。
          # 単位:秒。
          maxTimeTickDelay: 300
        memProtection:
          # メモリ使用量 > memoryHighWaterLevel の場合、すべての DML リクエストは拒否されます。
          # memoryLowWaterLevel < メモリ使用量 < memoryHighWaterLevel の場合、DML レートは削減されます。
          # メモリ使用量 < memoryLowWaterLevel の場合、アクションは実行されません。
          enabled: true
          dataNodeMemoryLowWaterLevel: 0.85 # DataNode の memoryLowWaterLevel。範囲:(0, 1]。
          dataNodeMemoryHighWaterLevel: 0.95 # DataNode の memoryHighWaterLevel。範囲:(0, 1]。
          queryNodeMemoryLowWaterLevel: 0.85 # QueryNode の memoryLowWaterLevel。範囲:(0, 1]。
          queryNodeMemoryHighWaterLevel: 0.95 # QueryNode の memoryHighWaterLevel。範囲:(0, 1]。
        growingSegmentsSizeProtection:
          # 増加中セグメントのサイズが low watermark より小さい場合、アクションは実行されません。
          # 増加中セグメントのサイズが low watermark を超えると DML レートは削減されますが、
          # レートは minRateRatio × dmlRate より低くなることはありません。
          enabled: false
          minRateRatio: 0.5
          lowWaterLevel: 0.2
          highWaterLevel: 0.4
        diskProtection:
          enabled: true # オブジェクトストレージ内の合計ファイルサイズが diskQuota より大きい場合、すべての DML リクエストは拒否されます。
          diskQuota: -1 # ディスククォータ (MB)。範囲:(0, +inf)。デフォルト:制限なし。
          diskQuotaPerCollection: -1 # コレクションごとのディスククォータ (MB)。範囲:(0, +inf)。デフォルト:制限なし。
      limitReading:
        # forceDeny: false は DQL リクエストを許可します (コレクションが
        # 削除されるなどの特定の条件を除く)。forceDeny: true は常にすべての DQL リクエストを拒否します。
        forceDeny: false
        queueProtection:
          enabled: false
          # システムが検索/クエリパスでバックプレッシャーを受けていることを示します。
          # いずれかの QueryNode のキュー内のクエリ数 (NQ) が nqInQueueThreshold より大きい場合、検索およびクエリレートは徐々に減少
          # し、キュー内の NQ がしきい値を超えなくなります。クエリリクエストの NQ は 1 と見なされます。
          # タイプ:整数。デフォルト:制限なし。
          nqInQueueThreshold: -1
          # システムが検索/クエリパスでバックプレッシャーを受けていることを示します。
          # DQL キューイングレイテンシーが queueLatencyThreshold より大きい場合、検索およびクエリレートは徐々に減少
          # し、キューイングレイテンシーがしきい値を超えなくなります。
          # レイテンシーは、ある期間の平均レイテンシーを指します。
          # 単位:ミリ秒。デフォルト:制限なし。
          queueLatencyThreshold: -1
        resultProtection:
          enabled: false
          # システムが検索/クエリパスでバックプレッシャーを受けていることを示します。
          # DQL 結果レートが maxReadResultRate より大きい場合、検索およびクエリレートは徐々に減少
          # し、読み取り結果レートがしきい値を超えなくなります。
          # 単位:MB/s。デフォルト:制限なし。
          maxReadResultRate: -1
        # 検索およびクエリレートが減少する速度。
        # 範囲:(0, 1]。
        coolOffSpeed: 0.9
  3. Note ダイアログボックスに変更理由を入力し、OK をクリックします。

    変更されたパラメーターによって再起動が必要な場合、送信後にインスタンスは自動的に再起動します。このプロセス中、インスタンスは「アップグレード中」状態になります。更新が完了すると、インスタンスは「実行中」状態に戻ります。