Erlang: Come faccio a consentire a più di 1024 connessione con Mochiweb?
-
23-10-2019 - |
Domanda
Ho cercato di aumentare i descrittori di file limite massimo su GNU / Linux:
$ ulimit -n 999999
e sto iniziando il server con -env ERL_MAX_PORTS 4096
.
Ogni volta che sto utilizzando il test util, dopo 1012-1024 connessione aperta sto ottenendo i messaggi "chiuso: socket_closed_remotely" e "chiuso: EMFILE".
Soluzione
Ho trovato il mio errore.
Ho chiamato ulimit
per un altro shell.
Altri suggerimenti
Prova opzione max
che è passato al mochiweb_socket_server:start/1
dal APPLICATION_web:start/1
, dove APPLICATION
è il nome della vostra applicazione tweaking; per esempio l'applicazione denominata helloworld
, allora troverete la funzione start/1
nel file di ./src/helloworld_web.erl
che assomiglia a:
start(Options) ->
{DocRoot, Options1} = get_option(docroot, Options),
Loop = fun (Req) ->
?MODULE:loop(Req, DocRoot)
end,
mochiweb_http:start([{name, ?MODULE}, {loop, Loop} | Options1]).
Modifica chiamata a mochiweb_http:start/1
per includere l'opzione max
:
mochiweb_http:start([{max, 1000000}, {name, ?MODULE}, {loop, Loop} | Options1]).
La speranza che aiuta.