2011-01-24 8 views
2

私はGNU/Linux上のファイル記述子の最大制限値を増加させよう:Erlang:Mochiwebと1024以上の接続を許可するにはどうすればよいですか?

$ ulimit -n 999999 

と私は-env ERL_MAX_PORTS 4096でサーバを起動しています。

私がtest utilを使用しているときはいつでも、1012-1024の接続を開いた後、私は "Closed:socket_closed_remotely"と "Closed:emfile"というメッセージを受け取ります。

答えて

3

私の間違いが見つかりました。 別のシェルにはulimitと呼ばれました。

+1

'emfile'はその結論に導きます。 'man 2 open'を見て、例えば' EMFILE'を探してください。 –

1

APPLICATION_web:start/1からmochiweb_socket_server:start/1に転送されるmaxオプションを調整してみてください。APPLICATIONはアプリケーションの名前です。

mochiweb_http:start([{max, 1000000}, {name, ?MODULE}, {loop, Loop} | Options1]). 

希望に役立ちます:

start(Options) -> 
    {DocRoot, Options1} = get_option(docroot, Options), 
    Loop = fun (Req) -> 
       ?MODULE:loop(Req, DocRoot) 
    end, 
    mochiweb_http:start([{name, ?MODULE}, {loop, Loop} | Options1]). 
mochiweb_http:start/1から

変更コールはオプションmaxを含める:例えば、あなたのアプリケーションは、あなたがどのように見えるファイル./src/helloworld_web.erlに機能start/1を見つけるだろう、helloworldと呼ばれます。

+0

ありがとうございます。しかし、私はすでに "最大"のこの1000000オプションを持っています。 – HammerSpb

関連する問題