10.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 秒単位で測定されます。