cpu_slot_preemption
true(デフォルト) の場合、実際に消費された CPU time に基づいて計算されます。競合する workload には、公平な CPU time が割り当てられます。スロットは限られた時間だけ割り当てられ、期限切れ後に再度リクエストされます。CPU リソースが過負荷の場合、スロットのリクエストによってスレッド実行がブロックされることがあり、つまりプリエンプションが発生する可能性があります。これにより、CPU time の公平性が確保されます。falseの場合、計算は割り当てられた CPU スロット の数に基づきます。競合する workload には、公平な数の CPU スロット が割り当てられます。スロットはスレッドの開始時に割り当てられ、そのまま保持され、スレッドの実行終了時に解放されます。クエリ実行に割り当てられるスレッド数は 1 からmax_threadsまで増えることはあっても、減ることはありません。これは長時間実行されるクエリに有利ですが、短時間のクエリでは CPU starvation を引き起こす可能性があります。
cpu_slot_preemption_timeout_ms
cpu_slot_preemption が有効で、かつ CPU リソースが ワーカースレッド に対して定義されている場合にのみ意味があります。
例
cpu_slot_quantum_ns
cpu_slot_preemption が有効で、かつ CPU リソースがマスタースレッドまたはワーカースレッドに対して定義されている場合にのみ意味があります。
例