Solaris Network Cache and Accelerator (NCA) は、HTTP 要求時にアクセスされた Web ページのカーネル内部キャッシュを維持することによって、Web サーバーの性能を向上させます。NCA は、自身で要求を処理するか、あるいは処理のために Web サーバーに要求を渡すことにより、カーネル内で HTTP を完璧にサポートします。
この製品は、専用の Web サーバー上で実行するようにします。NCA を実行しているサーバー上で別の大規模なプロセスを実行すると、障害が生じる可能性があります。
NCA 機能には次の 2 つのコンポーネントが必要です。
カーネルモジュール: ncakmod
Web サーバー: httpd
ncakmod は、Solaris door ライブラリ (door_create(3DOOR) を参照) を介して、Web サーバーである httpd と通信します。Solaris door ライブラリは、同一ホスト上のプロセス間、および、カーネルとユーザープロセスの間で、高速かつ信頼性の高い同期式 RPC メカニズムを提供します。
ncakmod と httpd の間の通信に使用されるプロトコルは、Solaris door のリモートプロシージャコール (RPC) インタフェースを使用した、同期式の要求-応答型プロトコルです。door の RPC は、NCA のカーネル内で呼ばれ、同期がとられます。データは双方向に転送されます。つまり、各 door の RPC 内で、NCA から http サーバーと、http サーバーから NCA の両方向に転送されます。ncakmod は HTTP 要求を httpd に渡し、httpd は door インタフェースを介した要求に応答を返します。これによって、acceptx と sendfile を使用した場合と同様の機能が提供されます。
NCA ロギングは、HTTP 要求データをバイナリ形式でディスクに書き込みます。NCA 機能では、CLF (共通ログ形式) ログファイル形式も使用できます。
表 2-2 Solaris NCA の管理作業
作業 |
説明 |
参照先 |
---|---|---|
NCA を有効にする | Web サーバー上の Web ページのカーネル内部キャッシュを有効にする手順を実行する | 「NCA を有効にする方法」 |
NCAを無効にする |
Web サーバー上の Web ページのカーネル内部キャッシュを無効にする手順を実行する | 「NCA を無効にする方法」 |
NCA ロギングの変更 |
NCA ロギングプロセスを有効または無効にする手順を実行する | 「NCA ロギングを有効または無効にする方法」 |
スーパーユーザーになります。
インタフェースを登録します。
/etc/nca/nca.if ファイルに各物理インタフェースの名前を登録します (詳細は、nca.if(4) のマニュアルページを参照)。
# cat /etc/nca/nca.if hme0 hme1 |
インタフェースごとに、対応する hostname.interface-name ファイルと、hostname.interface-name の内容と一致するエントリが /etc/hosts ファイル内になければなりません。すべてのインタフェースで NCA 機能を使用可能にするには、nca.if ファイル内でアスタリスク (*) を指定します。
ncakmod カーネルモジュールを有効にします。
/etc/nca/ncakmod.conf 内の status エントリを enabled に変更します。
# cat /etc/nca/ncakmod.conf # # Copyright (c) 1998-1999 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)ncakmod.conf 1.1 99/08/06 SMI" # # NCA Kernel Module Configuration File # status=enabled httpd_door_path=/var/run/nca_httpd_1.door |
詳細は、ncakmod.conf(4) のマニュアルページを参照してください。
NCA ロギングを有効にします。
/etc/nca/ncalogd.conf 内の status エントリを enabled に変更します。
# cat /etc/nca/ncalogd.conf # # Copyright (c) 1998-1999 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)ncalogd.conf 1.1 99/08/06 SMI" # # NCA Log Daemon Configuration File # status=enabled logd_path_name="/var/nca/log" logd_file_size=1000000 |
logd_path_name エントリに示されているパスを変更すると、ログファイルの格納場所を変更できます。詳細は、ncalogd.conf(4) のマニュアルページを参照してください。
IA の場合のみ: 仮想メモリーサイズを増やします。
eeprom コマンドを使用して、システムの kernelbase を設定します。
# eeprom kernelbase=0x900000000 # eeprom kernelbase kernelbase=0x900000000 |
2 行目の eeprom コマンドを実行すると、パラメータが設定済みかどうかを確認できます。
NCA を有効にすると、ユーザープロセスで使用可能な仮想メモリ容量が 3G バイト未満に削減されます。このため、システムは ABI に準拠しなくなります。この場合、システムの起動時に、システムがABI に準拠していないことを知らせる警告メッセージが表示されます。ほとんどのプログラムは、実際には 3G バイトの仮想アドレス空間を必要としません。3G バイトの仮想アドレス空間を必要とするプログラムは、NCA が有効に設定されていないシステムで実行する必要があります。
サーバーを再起動します。
スーパーユーザーになります。
ncakmod カーネルモジュールを無効にします。
/etc/nca/ncakmod.conf 内の status エントリを disabled に変更します。
# cat /etc/nca/ncakmod.conf # # Copyright (c) 1998-1999 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)ncakmod.conf 1.1 99/08/06 SMI" # # NCA Kernel Module Configuration File # status=disabled httpd_door_path=/var/run/nca_httpd_1.door |
詳細は、ncakmod.conf(4) のマニュアルページを参照してください。
NCA ロギングを無効にします。
/etc/nca/ncalogd.conf 内の status エントリを disabled に変更します。
# cat /etc/nca/ncalogd.conf # # Copyright (c) 1998-1999 by Sun Microsystems, Inc. # All rights reserved. # #ident "@(#)ncalogd.conf 1.1 99/08/06 SMI" # # NCA Log Daemon Configuration File # status=disabled logd_path_name="/var/nca/log" logd_file_size=1000000 |
詳細は、ncaklogd.conf(4) のマニュアルページを参照してください。
サーバーを再起動します
NCA が有効になっていると、必要に応じて NCA のログ処理のオンまたはオフを切り替えることができます (詳細は、「NCA を有効にする方法」を参照)。
スーパーユーザーになります。
NCA のログ処理のオンとオフを切り替えます。
ロギングを恒久的に無効にする場合は、/etc/nca/ncalogd.conf 内の status を disabled に変更し、システムを再起動する必要があります。詳細は、ncalogd.cof(4) のマニュアルページを参照してください。
NCA 機能をサポートするにはいくつかのファイルが必要です。ほとんどのファイルは ASCII 形式ですが、バイナリ形式のファイルもあります。表 2-3 に、必要なファイルを一覧します。
表 2-3 NCA ファイル
ファイル名 |
機能 |
---|---|
サーバー上に構成されるすべての物理インタフェースの一覧が記述されている |
|
サーバーに割り当てられるすべてのホスト名の一覧が記述されている。NCA が機能するには、このファイルの各種エントリが、/etc/hostname.* ファイル内のエントリと一致していなければならない |
|
サーバーの起動時に NCA 起動スクリプトが実行される |
|
NCA が実行されるインタフェースの一覧が記述されている (nca.if(4) のマニュアルページを参照) |
|
NCA 用の構成パラメータの一覧が記述されている (ncakmod.conf(4) のマニュアルページを参照) |
|
NCA ロギング用の構成パラメータの一覧が記述されている (ncalogd.conf(4) のマニュアルページを参照) |
|
ログファイル内のデータを共通ログファイル形式 (CLF) に変換するためのコマンド (ncab2clf(1) のマニュアルページを参照) |
|
ログファイルデータを保持します。ファイルはバイナリ形式なので、編集しないようにする |