【发布时间】:2020-02-19 17:08:05
【问题描述】:
我在 Linux 上的 Java (7) 应用程序遇到网络问题,数据包偶尔会延迟。
系统管理员说侦听积压设置太低,因此接受连接的速度不够快。
ss -lt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:1099 *:*
本系统默认为 128
sysctl -a 2>/dev/null|grep net.core.somaxconn
net.core.somaxconn = 128
JDK7 中 RMI 连接的默认值是 50 吗?
如何增加它以使其使用系统默认值?
【问题讨论】:
-
您的系统管理员弄错了。 RMI 不设置自己的积压,它使用默认值,并尽可能快地接受连接。 “延迟的数据包”与侦听积压没有任何关系。如果积压是问题,您将遇到连接失败,而不是延迟数据包。您要解决的实际问题是什么?
-
此说法不正确。 RMI 实际上确实设置了积压并且不使用系统默认值。
-
@opticyclic RMI 将它设置在哪里?您的回答表明
new ServerSocket()设置它,而不是 RMI。 -
@user207421 停止分裂头发。默认 RMI 实现调用另一个设置默认值的类。因此,默认的 RMI 实现是 50。你为什么要用无用的 cmets 来解决这个问题?