cpu_slot_preemption
- Se
true(padrão), a contabilização é feita com base no tempo de CPU efetivamente consumido. Uma quantidade justa de tempo de CPU é alocada aos workloads concorrentes. Os slots são alocados por um tempo limitado e solicitados novamente após expirarem. A solicitação de slots pode bloquear a execução da thread em caso de sobrecarga de recursos de CPU, ou seja, pode ocorrer preempção. Isso garante justiça no uso do tempo de CPU. - Se
false, a contabilização é baseada no número de slots de CPU alocados. Uma quantidade justa de slots de CPU é alocada aos workloads concorrentes. Um slot é alocado quando uma thread é iniciada, permanece alocado continuamente e é liberado quando a thread termina a execução. O número de threads alocadas para a execução da consulta só pode aumentar de 1 atémax_threadse nunca diminuir. Isso favorece mais consultas de longa duração e pode fazer com que consultas curtas fiquem sem CPU.
cpu_slot_preemption_timeout_ms
cpu_slot_preemption está habilitado e o recurso de CPU está definido para WORKER THREAD.
Exemplo
cpu_slot_quantum_ns
cpu_slot_preemption estiver habilitado e o recurso de CPU estiver definido para MASTER THREAD ou WORKER THREAD.
Exemplo