Erlang: Как мне разрешить более 1024 связей с MochiWeb?
-
23-10-2019 - |
Вопрос
Я попытался увеличить дескрипторы файлов Max Limit на GNU/Linux:
$ ulimit -n 999999
И я начинаю сервер с -env ERL_MAX_PORTS 4096
.
Всякий раз, когда я использую Test 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