From: Yoshiki Hayashi Date: Thu, 7 Nov 2002 07:07:04 +0000 (+0000) Subject: New XML. X-Git-Tag: 2.0.44~121 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca6e9fe75ca568c2446acffe377cb4038fbfd236;p=apache New XML. Submitted by: Hiroaki KAWAI git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@97443 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/vhosts/fd-limits.html.ja.jis b/docs/manual/vhosts/fd-limits.html.ja.jis index 029940d293..a43e89cf50 100644 --- a/docs/manual/vhosts/fd-limits.html.ja.jis +++ b/docs/manual/vhosts/fd-limits.html.ja.jis @@ -1,31 +1,22 @@ - - - - - Apache サーバのバーチャルホストのサポート - - - - - - - -

ファイル記述子の限界

- -

たくさんのバーチャルホストを運用する場合、もし、 - 各バーチャルホストごとに異なるログファイルが指定してあると、 - Apache がファイル記述子 (ファイルハンドルとも呼ばれます) - を使い切ってしまうことがあります。Apache が使用するファイル + +ファイル記述子の限界 - Apache HTTP サーバ

<-

ファイル記述子の限界

+ +

たくさんのバーチャルホストを運用する場合、もし、 + 各バーチャルホストごとに異なるログファイルが指定してあると、 + Apache がファイル記述子 (ファイルハンドルとも呼ばれます) + を使い切ってしまうことがあります。Apache が使用するファイル 記述子の数は、各エラーログファイルにつき 1 つ、他のログファイルの ディレクティブにつき 1 つ、さらに内部で使用する 10 から 20、 の合計になります。Unix オペレーティングシステムではプロセスごとに 使用可能なファイル記述子の数を制限しています。たいていの場合は 64 で、 普通は大きな値のハードリミットまで増やすことができます。

-

Apache は必要に応じて上限を拡大しようと試みますが、 +

Apache は必要に応じて上限を拡大しようと試みますが、 以下のような場合にはうまくいかないかもしれません。

    @@ -37,81 +28,73 @@
  1. 要求されるファイル記述子の数が ハードリミットを超えてしまう。
  2. - +
  3. システムにファイル記述子に関して別の制限が存在してしまっている。 たとえば、stdio ストリームではファイル記述子を 256 以上使えない (Solaris 2)、など。
- 問題が発生した時に取り得る対処方法は次のとおり: + +

問題が発生した時に取り得る対処方法は次のとおり:

    -
  • ログファイルの数を減らす。<VirtualHost> - セクションでログファイルを指定せず、 - メインのログファイルにのみ記録する。 - (これに関する詳しい情報は以下のログファイルの分割を読んでください。)
  • +
  • ログファイルの数を減らす。<VirtualHost> + セクションでログファイルを指定せず、メインのログファイルにのみ記録する。 + (これに関する詳しい情報は以下のログファイルの分割を読んでください。)
  • もし、前述の 1 または 2 の場合であれば、 Apache を起動する前にファイル記述子を増やします。 たとえば次のようなスクリプトを使います。 -
    - #!/bin/sh
    - ulimit -S -n 100
    +

    + #!/bin/sh
    + ulimit -S -n 100
    exec httpd
    -

    +

ファイル記述子の問題についての詳細や、 - オペレーティングシステムごとの解決方法については「ファイル記述子と + オペレーティングシステムごとの解決方法については「ファイル記述子と Apache」の文書を参照してください。

-

ログファイルの分割

+
top

ログファイルの分割

複数のバーチャルホストのログを同じログファイルに収集しようとしているときには、 各バーチャルホストについて統計的な解析を実行するために後でログファイルを 分割したくなるかもしれません。これは以下のようにして実現できます。

まず、バーチャルホストの情報をログのエントリに追加する必要があります。 -これは LogFormat ディレクティブの -%v 変数を使うことでできます。これをログのフォーマット文字列の -先頭に追加します:

+これは LogFormat +ディレクティブの %v 変数を使うことでできます。 +これをログのフォーマット文字列の先頭に追加します:

-
- LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
- CustomLog logs/multiple_vhost_log vhost -
+

+LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost +

これは common log format のログを作成しますが、それぞれの行の先頭に 正規化されたバーチャルホストの名前 -(ServerName +(ServerName ディレクティブに書かれているもの) が付加されます。 -(ログファイルのカスタマイズの詳細については Custom Log Formats を +(ログファイルのカスタマイズの詳細については Custom Log Formats を 読んでください。)

ログファイルを各部分 (バーチャルホスト毎に 1 ファイル) に分けたいときは、 -split-logfile を使って行なうことが -できます。プログラムは Apache 配布の support ディレクトリに -あります。

+split-logfile +を使って行なうことができます。プログラムは Apache 配布の +support ディレクトリにあります。

以下のようなコマンドでこのプログラムを実行します:

-
-split-logfile < /logs/multiple_vhost_log -
+

+split-logfile < /logs/multiple_vhost_log +

このプログラムはバーチャルホストのログファイルの名前とともに実行され、 ログファイルに現れるそれぞれのバーチャルホスト毎に一つのファイルを作成します。 それぞれのファイルは ホスト名.log という名前になります。

- - - +
\ No newline at end of file diff --git a/docs/manual/vhosts/fd-limits.xml.ja b/docs/manual/vhosts/fd-limits.xml.ja new file mode 100644 index 0000000000..f361f1753b --- /dev/null +++ b/docs/manual/vhosts/fd-limits.xml.ja @@ -0,0 +1,112 @@ + + + + + + + + + ファイル記述子の限界 + + + +

たくさんのバーチャルホストを運用する場合、もし、 + 各バーチャルホストごとに異なるログファイルが指定してあると、 + Apache がファイル記述子 (ファイルハンドルとも呼ばれます) + を使い切ってしまうことがあります。Apache が使用するファイル + 記述子の数は、各エラーログファイルにつき 1 つ、他のログファイルの + ディレクティブにつき 1 つ、さらに内部で使用する 10 から 20、 + の合計になります。Unix オペレーティングシステムではプロセスごとに + 使用可能なファイル記述子の数を制限しています。たいていの場合は 64 で、 + 普通は大きな値のハードリミットまで増やすことができます。

+ +

Apache は必要に応じて上限を拡大しようと試みますが、 + 以下のような場合にはうまくいかないかもしれません。

+ +
    +
  1. 利用しているシステムで setrlimit() + システムコールが提供されていない。
  2. + +
  3. システム上で setrlimit(RLIMIT_NOFILE) が動作しない + (たとえば Solaris 2.3 のように)。
  4. + +
  5. 要求されるファイル記述子の数が + ハードリミットを超えてしまう。
  6. + +
  7. システムにファイル記述子に関して別の制限が存在してしまっている。 + たとえば、stdio ストリームではファイル記述子を 256 以上使えない + (Solaris 2)、など。
  8. +
+ +

問題が発生した時に取り得る対処方法は次のとおり:

+ +
    +
  • ログファイルの数を減らす。VirtualHost + セクションでログファイルを指定せず、メインのログファイルにのみ記録する。 + (これに関する詳しい情報は以下のログファイルの分割を読んでください。)
  • + +
  • + もし、前述の 1 または 2 の場合であれば、 + Apache を起動する前にファイル記述子を増やします。 + たとえば次のようなスクリプトを使います。 + + + #!/bin/sh
    + ulimit -S -n 100
    + exec httpd
    +
    +
  • +
+ +

ファイル記述子の問題についての詳細や、 + オペレーティングシステムごとの解決方法については「ファイル記述子と + Apache」の文書を参照してください。 +

+ +
+ +
ログファイルの分割 + +

複数のバーチャルホストのログを同じログファイルに収集しようとしているときには、 +各バーチャルホストについて統計的な解析を実行するために後でログファイルを +分割したくなるかもしれません。これは以下のようにして実現できます。

+ +

まず、バーチャルホストの情報をログのエントリに追加する必要があります。 +これは LogFormat +ディレクティブの %v 変数を使うことでできます。 +これをログのフォーマット文字列の先頭に追加します:

+ + +LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
+CustomLog logs/multiple_vhost_log vhost +
+ +

これは common log format のログを作成しますが、それぞれの行の先頭に +正規化されたバーチャルホストの名前 +(ServerName +ディレクティブに書かれているもの) が付加されます。 +(ログファイルのカスタマイズの詳細については Custom Log Formats を +読んでください。)

+ +

ログファイルを各部分 (バーチャルホスト毎に 1 ファイル) に分けたいときは、 +split-logfile +を使って行なうことができます。プログラムは Apache 配布の +support ディレクトリにあります。

+ +

以下のようなコマンドでこのプログラムを実行します:

+ + +split-logfile < /logs/multiple_vhost_log + + +

このプログラムはバーチャルホストのログファイルの名前とともに実行され、 +ログファイルに現れるそれぞれのバーチャルホスト毎に一つのファイルを作成します。 +それぞれのファイルは ホスト名.log という名前になります。

+ +
+
+