UltraMonkey-L7 FAQ


OS設定関係

Q.1 ログにerror / connect error(Cannot assign requested address) と出力される。

A.
システムやユーザーでOpen出来るファイルの上限に達しています。これはUNIXがソケットをファイルと等価に扱うためにファイルとソケットのオープンが制限値に達したことにより発生します。
UltraMonkey-L7はひとつのClientが実際のサーバに接続するのに最低4つのファイルのオープンを行います。したがって実際に同時にアクセスのあるClientよりも多くオープンできるファイルの数が必要です。
この制限は

1.システム全体にかけられているリミットにあたっている場合
2.ユーザーごとのリミットにあたっている場合

の二種類があります。
1.の場合には/proc/sys/fs/file-maxを見てください。2.の場合にはl7vsdのプロセスに対して、ulimit -n XXXXXを設定してください(XXXXXは任意の数字)。

Q.2 ログにsocket already in useと出力されl7vsdが起動できない。

A.
接続を監視しているEndPointをl7vsdがclose()せずに終了した場合、OSがそのEndPointのTCP状態をTCP_WAITとして一定時間保持します。この場合、OSに設定された時間分EndPointは開放されません。この値は他のプログラムに影響を与えるため変更することは推奨されていません。1-2分後に再度l7vsdは起動できるようになります。このEndPointをREUSEするかどうかは今後の検討課題です。

環境関係

Q.1 l7vsadmがl7vsdとの接続に失敗する。

A.
l7vsdとl7vsadmが通信するのに使用するソケットファイルがすでに存在している場合があります。一度l7vsdをstopし、/var/run/7vsd/(デフォルト)の中にあるファイルを全て消してみてください。