7    ASU のチューニング

この章では,クライアント,トランスポート・セッション,サーバ・プロセス,および ASU サーバのためにオープンしているファイルの数を指定する方法について説明します。次の処理を行う場合は,これらの設定が必要になることがあります。

7.1    クライアント数の指定

省略時の設定では,ASU サーバは,200 のクライアントが接続できるように構成されます。この数は増やすことができますが,ASU サーバがサービスを提供するのは ASU ライセンスと同数のクライアントだけです。

ASU サーバがサービスを提供するクライアントの数を変更するには,lanman.ini ファイルの [ server ] セクションにある maxclients パラメータの値を変更します。クライアント数を増やす場合には,7.2 節で説明するように,ASU サーバがサポートできるトランスポート・セッション数も増やす必要があります。

lanman.ini ファイルのパラメータを変更する方法についての詳細は,付録 C を参照してください。

7.2    トランスポート・セッション数の指定

ASU サーバがサービスを提供するクライアント数を増やす場合には,ASU サーバがオープンできるトランスポート・セッション数も増やす必要があります。Windows 95 および Windows 98 の各クライアントは,1 つのセッションを使用します。Windows NT の各クライアントは,2 つのセッションを使用します。次の表に,ASU の各トランスポートに対する省略時のセッション制限を示します。

トランスポート 省略時のセッション制限
NetBEUI 256
TCP/IP 無制限

次の手順に従って,NetBEUI のセッション数を変更します。

  1. 次のコマンドを入力して,ASU サーバを停止します。

    # net stop server

  2. 次のコマンドを入力して,NetBEUI トランスポートを停止します。

    # /sbin/init.d/asunbelink stop

  3. stanza フォーマットの属性ファイルを作成します。たとえば,NetBEUI セッションを 1024 に増やすために stanza フォーマットの属性ファイルを作成するには,次のように入力します。

    # cat > netbeui.stanza
    netbeui:
    nb_sessions = 1024
    ^D
    

  4. 次のコマンドを入力して,属性を /etc/sysconfigtab ファイルにマージします。

    # sysconfigdb -a -f netbeui.stanza netbeui

    sysconfigtab ファイルに knbtcp または netbeui のエントリがすでにある場合は,エントリを追加するための -a オプションではなく,アップデートのための -u フラグを使用してください。

  5. 次のように入力して,NetBEUI トランスポートを起動します。

    # /sbin/init.d/asunbelink start

  6. 次のコマンドを入力して,ASU サーバを再起動します。

    # net start server

  7. 次のコマンドを入力して,NetBEUI の新しいセッション数を確認します。

    # nbemon -i1

7.3    サーバ・プロセス数の指定

省略時の設定では,各クライアントは,プロセス数が最大数に達するまでそれ自身の lmx.srv プロセスを取得します。その後,既存の lmx.srv プロセスがローテーション方式で追加のクライアントに割り当てられます。

省略時の設定では,サービス・クライアントの要求に対して ASU サーバが作成する lmx.srv プロセスの最大数は,lanman.ini ファイル内の maxclients パラメータと VCDistribution レジストリ値エントリから計算されます。

省略時の値を変更する場合は,lanman.ini ファイル内の [ server ] セクションの maxserverprocs パラメータに値を指定します。このパラメータに値を割り当てると,MinVCPerProcMaxVCPerProc,および VCDistribution レジストリ・エントリの値が無効になります。maxserverprocs パラメータを設定する場合は,メモリのスワッピングを起こす直前の数値を指定します。たとえば,2 GB のシステムは,システム上で他のアプリケーションが実行されていない場合に 350 サーバ・プロセスをサポートでき,この数を超えるとスワッピングが発生します。

maxserverprocs パラメータを 100 より大きな値に設定する場合は,NetBIOS 名の最大数を変更する必要があります。NetBIOS 名の数の変更については,7.4 節を参照してください。

lanman.ini ファイル内のパラメータの変更については,付録 C を参照してください。

7.4    NetBIOS 名の数の指定

lmx.srv プロセスは,データグラムを送信する際に NetBIOS 名を必要とします。これらの名前は lmxname#pid という形式をとります。lmxname は ASU サーバのリッスン名で,pid はサーバ・プロセスのプロセス ID です。省略時の設定では,TCP/IP および NetBEUI の NetBIOS 名の数は 128 です。

次の手順に従って,TCP/IP および NetBEUI の NetBIOS 名の数を 200 に設定します。

  1. 次のコマンドを入力して,ASU サーバを終了します。

    # net stop server

  2. 次のコマンドを入力して,ASU トランスポートを終了します。

    # /sbin/init.d/asutcp stop

    NetBEUI トランスポートを終了するには,次のように入力します。

    # /sbin/init.d/asunbelink stop

  3. stanza フォーマット属性ファイルを作成します。たとえば,TCP/IP 名を 200 に増やす stanza フォーマット属性ファイルを作成するには,次のように入力します。

    # cat > knbtcp.stanza
    knbtcp:
    knbnames = 200
    ^D
    

    NetBEUI 名を 200 に増やす stanza フォーマット属性ファイルを作成するには,次のように入力します。

    # cat > netbeui.stanza
    netbeui:
    nb_names = 200
    ^D
    

  4. これらの属性を /etc/sysconfigtab ファイルにマージします。TCP/IP の変更をマージするには,次のように入力します。

    # sysconfigdb -a -f knbtcp.stanza knbtcp

    NetBEUI の変更をマージするには,次のように入力します。

    # sysconfigdb -a -f netbeui.stanza netbeui

    sysconfigtab ファイルに knbtcp または netbeui の既存のエントリがある場合は,エントリを追加するための -a オプションではなく,-u フラグを使用してエントリを更新します。

  5. ASU トランスポートを再起動します。TCP/IP トランスポートを起動するには,次のように入力します。

    # /sbin/init.d/asutcp start

    NetBEUI トランスポートを起動するには,次のように入力します。

    # /sbin/init.d/asunbelink start

  6. 次のコマンドを入力して,ASU サーバを再起動します。

    # net start server

7.5    HSM のサポート

HSM (Hierarchical Storage Manager) は,あまり使用されないファイルをテープに移動し,そのファイルが参照されたときに自動的に呼び出します。ファイルをオープンするプロセスは,そのファイルがテープから検索されるまでブロックされます。このプロセスが,複数のクライアントに対してサービスを行う ASU lmx.srv プロセスの場合は,このブロックによってサービス拒否の問題が生じることがあります。

この問題を回避するには,lanman.ini ファイルの [ server ] セクションの maxserverprocs パラメータを,同セクション内の maxclients パラメータと同じ値に設定して,各クライアントが固有の lmx.srv プロセスを持つようにする必要があります。こうすれば,各クライアントは自分の lmx.srv プロセスを得るので,テープに移動されたファイルをオープンしても,クライアントが他のクライアントをブロックすることはありません。lanman.ini ファイル内のパラメータの変更については,付録 C を参照してください。

maxserverprocs パラメータを 100 より大きな値に設定する場合は,NetBIOS 名の数を変更する必要があります。NetBIOS 名の数の変更については,7.4 節を参照してください。

7.6    オープン・ファイル数とレコード・ロック数の指定

ASU サーバは,共有メモリ内の構造体を使い切ってしまう場合があります。それは,次のような場合です。

ASU サーバが構造体を使い切っているときにファイルをオープンしようとすると,エラー・メッセージが返されて,システムのイベント・ログに記録されます。ログは表示することができます。ログを表示するには,Windows NT システム上でイベント ビューア・アプリケーションを実行して ASU サーバに接続するか,または Tru64 UNIX コマンド行で elfread ユーティリティを実行します。

ASU サーバに割り当てる構造体の数を増やすには,ASU レジストリ内の NumUStructs 値エントリの値を変更します。省略時の値は 1000 になっています。オープン・ファイルごとに 3 つの構造体が使用され,バイト範囲のロックごとに 1 つの構造体が使用されます。各ユーザが使用するオープン・ファイル数とロック数を見積もり,その数にユーザ数を乗ずると,必要な構造体の数を求めることができます。NumUStructs 値エントリの値を大きくするときには,Tru64 UNIX 共有メモリのサイズを指定するパラメータ値も大きくする必要があります。共有メモリについての詳細は,『システムの構成とチューニング』を参照してください。

レジストリ エディタを使用して,NumUStructs 値エントリの値を変更できます。たとえば,次の手順に従って,regconfig レジストリ エディタを使用すると,NumUStructs 値エントリを 5000 に増やすことができます。行末のバックスラッシュ (\) は,そのコマンド行が次の行に続くことを示しています。コマンド全体を入力したら,Enter キーを押してください。

  1. 次のコマンドを入力して,NumUStructs エントリを変更します。

    # regconfig SYSTEM/CurrentControlSet/Services/\ 
    AdvancedServer/ProcessParameters \                
    NumUStructs REG_DWORD 5000
    

  2. 次のコマンドを入力して,ASU サーバを再起動します。

    # net stop server

    # net start server