diff options
Diffstat (limited to 'docs/en/ranch/1.2/guide/listeners.asciidoc')
-rw-r--r-- | docs/en/ranch/1.2/guide/listeners.asciidoc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/docs/en/ranch/1.2/guide/listeners.asciidoc b/docs/en/ranch/1.2/guide/listeners.asciidoc index ef2d49c7..a776a584 100644 --- a/docs/en/ranch/1.2/guide/listeners.asciidoc +++ b/docs/en/ranch/1.2/guide/listeners.asciidoc @@ -4,7 +4,7 @@ A listener is a set of processes whose role is to listen on a port for new connections. It manages a pool of acceptor processes, each of them indefinitely accepting connections. When it does, it starts a new process executing the protocol handler code. All the socket -programming is abstracted through the user of transport handlers. +programming is abstracted through the use of transport handlers. The listener takes care of supervising all the acceptor and connection processes, allowing developers to focus on building their application. @@ -203,6 +203,24 @@ ranch:set_max_connections(tcp_echo, MaxConns). The change will occur immediately. +=== When running out of file descriptors + +Operating systems have limits on the number of sockets +which can be opened by applications. When this maximum is +reached the listener can no longer accept new connections. The +accept rate of the listener will be automatically reduced, and a +warning message will be logged. + +---- +=ERROR REPORT==== 13-Jan-2016::12:24:38 === +Ranch acceptor reducing accept rate: out of file descriptors +---- + +If you notice messages like this you should increase the number +of file-descriptors which can be opened by your application. How +this should be done is operating-system dependent. Please consult +the documentation of your operating system. + === Using a supervisor for connection processes Ranch allows you to define the type of process that will be used |