Erlang:如何允许与Mochiweb的1024多个连接?
-
23-10-2019 - |
题
我试图增加对GNU/Linux的最大限制文件描述:
$ ulimit -n 999999
我正在使用 -env ERL_MAX_PORTS 4096
.
每当我使用测试util时,1012-1024打开连接后,我会收到消息“封闭:socket_closed_remotely”和“封闭:emfile”。
解决方案
我发现我的错误。我打了电话 ulimit
对于另一个外壳。
其他提示
尝试调整 max
传递给的选项 mochiweb_socket_server:start/1
从你的 APPLICATION_web: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]).
希望有帮助。
不隶属于 StackOverflow