Эрланг: Как мне разрешить более 1024 соединений с Mochiweb? - PullRequest
2 голосов
/ 24 января 2011

Я пытался увеличить максимальное ограничение файловых дескрипторов в GNU / Linux:

$ ulimit -n 999999

и я запускаю сервер с -env ERL_MAX_PORTS 4096.

Всякий раз, когда я использую test util, после 1012-1024 открытого соединения я получаю сообщения "Closed: socket_closed_remotely" и "Closed: emfile".

Ответы [ 2 ]

3 голосов
/ 24 января 2011

Я нашел свою ошибку. Я позвонил ulimit для другой оболочки.

1 голос
/ 24 января 2011

Попробуйте настроить 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]).

Надеюсь, это поможет.

...