> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> サーバーの CPU 過負荷時の動作を制御します。

# サーバーの過負荷

<div id="overview">
  ## 概要
</div>

サーバーは、さまざまな理由で過負荷になることがあります。現在の CPU 過負荷を判定するために、
ClickHouse server は CPU の待機時間 (`OSCPUWaitMicroseconds` メトリック) とビジー時間
(`OSCPUVirtualTimeMicroseconds` メトリック) の比率を計算します。サーバーが一定の比率を超えて過負荷になっている場合は、
負荷のさらなる増加を防ぐために、一部のクエリを破棄したり、場合によっては接続リクエストを拒否したりするのが適切です。

CPU が何らかの有用な処理を行っていると見なすための最小ビジー時間を制御する server setting
`os_cpu_busy_time_threshold` があります。`OSCPUVirtualTimeMicroseconds` メトリックの現在値がこの値を下回る場合、
CPU 過負荷は 0 と見なされます。

<div id="rejecting-queries">
  ## クエリの拒否
</div>

クエリの拒否動作は、クエリレベルの設定 `min_os_cpu_wait_time_ratio_to_throw` と
`max_os_cpu_wait_time_ratio_to_throw` によって制御されます。これらの設定が有効で、`min_os_cpu_wait_time_ratio_to_throw` が
`max_os_cpu_wait_time_ratio_to_throw` より小さい場合、過負荷率が少なくとも `min_os_cpu_wait_time_ratio_to_throw` に達すると、
一定の確率でクエリが拒否され、`SERVER_OVERLOADED` エラーが発生します。その確率は、
最小比率と最大比率の間の線形補間によって決まります。たとえば、`min_os_cpu_wait_time_ratio_to_throw = 2`、
`max_os_cpu_wait_time_ratio_to_throw = 6`、`cpu_overload = 4` の場合、クエリは `0.5` の確率で拒否されます。

<div id="dropping-connections">
  ## 接続の切断
</div>

接続の切断は、サーバーレベルの設定 `min_os_cpu_wait_time_ratio_to_drop_connection` と
`max_os_cpu_wait_time_ratio_to_drop_connection` で制御されます。これらの設定は、サーバーを再起動せずに変更できます。これらの設定の考え方は、
クエリの拒否と同様です。異なるのは、この場合、サーバーが過負荷になると、
接続の試行がサーバー側で拒否される点だけです。

<div id="resource-overload-warnings">
  ## リソース過負荷の警告
</div>

ClickHouse は、サーバーが過負荷状態になると、CPU とメモリの過負荷に関する警告も `system.warnings` テーブルに記録します。これらのしきい値は、サーバー設定でカスタマイズできます。

**例**

```xml theme={null}

<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>
```
