Pular para o conteúdo principal

Visão geral

Às vezes, o servidor pode ficar sobrecarregado por vários motivos. Para determinar a sobrecarga atual da CPU, o servidor ClickHouse calcula a proporção entre o tempo de espera da CPU (métrica OSCPUWaitMicroseconds) e o tempo em uso (métrica OSCPUVirtualTimeMicroseconds). Quando o servidor fica sobrecarregado acima de uma certa proporção, faz sentido descartar algumas consultas ou até mesmo recusar solicitações de conexão para não aumentar ainda mais a carga. Há uma configuração no servidor, os_cpu_busy_time_threshold, que controla o tempo mínimo em uso para considerar que a CPU está realizando algum trabalho útil. Se o valor atual da métrica OSCPUVirtualTimeMicroseconds estiver abaixo desse valor, assume-se que a sobrecarga da CPU é 0.

Rejeição de consultas

O comportamento de rejeição de consultas é controlado pelas configurações no nível da consulta min_os_cpu_wait_time_ratio_to_throw e max_os_cpu_wait_time_ratio_to_throw. Se essas configurações estiverem definidas e min_os_cpu_wait_time_ratio_to_throw for menor que max_os_cpu_wait_time_ratio_to_throw, a consulta será rejeitada e o erro SERVER_OVERLOADED será gerado com certa probabilidade se a taxa de sobrecarga for pelo menos min_os_cpu_wait_time_ratio_to_throw. A probabilidade é determinada por interpolação linear entre as taxas mínima e máxima. Por exemplo, se min_os_cpu_wait_time_ratio_to_throw = 2, max_os_cpu_wait_time_ratio_to_throw = 6 e cpu_overload = 4, a consulta será rejeitada com probabilidade de 0.5.

Encerrando conexões

O encerramento de conexões é controlado pelas configurações no nível do servidor min_os_cpu_wait_time_ratio_to_drop_connection e max_os_cpu_wait_time_ratio_to_drop_connection. Essas configurações podem ser alteradas sem reiniciar o servidor. A lógica por trás dessas configurações é semelhante à da rejeição de consultas. A única diferença, neste caso, é que, se o servidor estiver sobrecarregado, a tentativa de conexão será rejeitada pelo próprio servidor.

Avisos de sobrecarga de recursos

O ClickHouse também registra avisos de sobrecarga de CPU e memória na tabela system.warnings quando o servidor fica sobrecarregado. Você pode personalizar esses limites na configuração do servidor. Exemplo

<resource_overload_warnings>
    <cpu_overload_warn_ratio>0.9</cpu_overload_warn_ratio>
    <cpu_overload_clear_ratio>0.8</cpu_overload_clear_ratio>
    <cpu_overload_duration_seconds>600</cpu_overload_duration_seconds>
    <memory_overload_warn_ratio>0.9</memory_overload_warn_ratio>
    <memory_overload_clear_ratio>0.8</memory_overload_clear_ratio>
    <memory_overload_duration_seconds>600</memory_overload_duration_seconds>
</resource_overload_warnings>
Última modificação em 10 de junho de 2026