12.2. データベースアプリケーションのパフォーマンスに影響するパラメーター
次のカーネルパラメーターは、データベースアプリケーションのパフォーマンスに影響します。
- fs.aio-max-nr
サーバー上でシステムが処理できる非同期 I/O 操作の最大数を定義します。
注記fs.aio-max-nrパラメーターを増やしても、aio の制限以上を追加することはありません。- fs.file-max
システムが同時にサポートするファイルハンドル (開いているファイルに割り当てられた一時ファイル名または ID) の最大数を定義します。
カーネルは、アプリケーションからファイルハンドルが要求されるたびに、ファイルハンドルを動的に割り当てます。ただし、アプリケーションによってこれらのファイルハンドルが解放されても、カーネルはそれらを解放しません。代わりにこれらのファイルハンドルをリサイクルします。現在使用されているファイルハンドルの数が少ない場合でも、割り当てられたファイルハンドルの合計数は時間の経過とともに増加します。
kernel.shmall-
システム全体で使用できる共有メモリーページの合計を定義します。メインメモリー全体を使用するには、
kernel.shmallパラメーターの値が、メインメモリーの合計サイズ以下である必要があります。 kernel.shmmax- Linux プロセスが仮想アドレス空間に割り当てることができる 1 つの共有メモリーセグメントの最大サイズをバイト単位で定義します。
kernel.shmmni- データベースサーバーが処理できる共有メモリーセグメントの最大数を定義します。
net.ipv4.ip_local_port_range- システムは、ポート番号を指定せずにデータベースサーバーに接続するプログラムにこのポート範囲を使用します。
net.core.rmem_default- TCP (Transmission Control Protocol) を介してデフォルトの受信ソケットメモリーを定義します。
net.core.rmem_max- TCP (Transmission Control Protocol) による最大受信ソケットメモリーを定義します。
net.core.wmem_default- TCP (Transmission Control Protocol) によるデフォルトの送信ソケットメモリーを定義します。
net.core.wmem_max- TCP (Transmission Control Protocol) による最大送信ソケットメモリーを定義します。
vm.dirty_bytes/vm.dirty_ratio-
ダーティーデータを生成しているプロセスが
write()関数内でディスクへの書き出しを開始する、ダーティー化可能なメモリーのしきい値を、バイト単位またはパーセンテージ単位で定義します。
一度に指定できるのは、vm.dirty_bytes または vm.dirty_ratio の いずれか です。
vm.dirty_background_bytes/vm.dirty_background_ratio- カーネルがハードディスクにダーティーデータを積極的に書き出し始める、ダーティー化可能なメモリーのしきい値を、バイト単位またはパーセンテージ単位で定義します。
一度に指定できるのは、vm.dirty_background_bytes または vm.dirty_background_ratio の いずれか です。
vm.dirty_writeback_centisecsハードディスクへのダーティーデータの書き込みを行うカーネルスレッドの起動を定期的に行う間隔を定義します。
このカーネルパラメーターは、100 分の 1 秒単位で測定されます。
vm.dirty_expire_centisecs古くなったダーティーデータが、ハードディスクに書き込まれるまでの時間を定義します。
このカーネルパラメーターは、100 分の 1 秒単位で測定されます。