From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/vhosts/fd-limits.html.ja.utf8 | 157 ++++++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 docs/manual/vhosts/fd-limits.html.ja.utf8 (limited to 'docs/manual/vhosts/fd-limits.html.ja.utf8') diff --git a/docs/manual/vhosts/fd-limits.html.ja.utf8 b/docs/manual/vhosts/fd-limits.html.ja.utf8 new file mode 100644 index 0000000..8f2d447 --- /dev/null +++ b/docs/manual/vhosts/fd-limits.html.ja.utf8 @@ -0,0 +1,157 @@ + + + + + +ファイル記述子の限界 - Apache HTTP サーバ バージョン 2.4 + + + + + + + +
<-
+

ファイル記述子の限界

+
+

翻訳済み言語:  en  | + fr  | + ja  | + ko  | + tr 

+
+
この日本語訳はすでに古くなっている + 可能性があります。 + 最近更新された内容を見るには英語版をご覧下さい。 +
+ + +

たくさんのバーチャルホストを運用する場合、もし、 + 各バーチャルホストごとに異なるログファイルが指定してあると、 + 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
    +

    +
  • +
+
+
top
+
+

ログファイルの分割

+ +

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

+ +

まず、バーチャルホストの情報をログのエントリに追加する必要があります。 +これは 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 という名前になります。

+ +
+
+

翻訳済み言語:  en  | + fr  | + ja  | + ko  | + tr 

+
top

コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3