Erlang:我如何允许超过1024连接Mochiweb?

问题描述:

我试图增加文件描述符的GNU/Linux的最大限制:Erlang:我如何允许超过1024连接Mochiweb?

$ ulimit -n 999999 

和我开始了服务器-env ERL_MAX_PORTS 4096

每当我使用测试util,在1012-1024打开连接后,我收到消息“Closed:socket_closed_remotely”和“Closed:emfile”。

我发现我的错误。 我为另一个shell调用了ulimit

+1

`emfile`应该会引起你的结论。例如,请查看“man 2 open”并搜索“EMFILE”。 – 2011-01-24 12:03:21

尝试调整max选项,该选项从您的APPLICATION_web:start/1传递到mochiweb_socket_server:start/1,其中APPLICATION是您的应用程序的名称;例如您的应用程序调用helloworld,那么你会发现功能start/1文件./src/helloworld_web.erl它看起来像:

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

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

希望有所帮助。

+0

谢谢。但是,我已经有了这个1000000选项“最大”。 – HammerSpb 2011-01-24 09:50:10