Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ba94dfd

Browse files
committed
Doc: document possible need to raise kernel's somaxconn limit.
On fast machines, it's possible for applications such as pgbench to issue connection requests so quickly that the postmaster's listen queue overflows in the kernel, resulting in unexpected failures (with not-very-helpful error messages). Most modern OSes allow the queue size to be increased, so document how to do that. Per report from Kevin McKibbin. Discussion: https://postgr.es/m/CADc_NKg2d+oZY9mg4DdQdoUcGzN2kOYXBu-3--RW_hEe0tUV=g@mail.gmail.com
1 parent 4ee6740 commit ba94dfd

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

doc/src/sgml/runtime.sgml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1299,6 +1299,22 @@ default:\
12991299
linkend="guc-max-files-per-process"/> configuration parameter to
13001300
limit the consumption of open files.
13011301
</para>
1302+
1303+
<para>
1304+
Another kernel limit that may be of concern when supporting large
1305+
numbers of client connections is the maximum socket connection queue
1306+
length. If more than that many connection requests arrive within a very
1307+
short period, some may get rejected before the postmaster can service
1308+
the requests, with those clients receiving unhelpful connection failure
1309+
errors such as <quote>Resource temporarily unavailable</quote> or
1310+
<quote>Connection refused</quote>. The default queue length limit is 128
1311+
on many platforms. To raise it, adjust the appropriate kernel parameter
1312+
via <application>sysctl</application>, then restart the postmaster.
1313+
The parameter is variously named <varname>net.core.somaxconn</varname>
1314+
on Linux, <varname>kern.ipc.soacceptqueue</varname> on newer FreeBSD,
1315+
and <varname>kern.ipc.somaxconn</varname> on macOS and other BSD
1316+
variants.
1317+
</para>
13021318
</sect2>
13031319

13041320
<sect2 id="linux-memory-overcommit">

0 commit comments

Comments
 (0)