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