- [ ] I have searched the [issues](https://github.com/apache/dubbo/issues) of 
this repository and believe that this is not a duplicate.
- [ ] I have checked the 
[FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository 
and believe that this is not a duplicate.

### Environment

* Dubbo version: 2.7.3
* Operating System version: macOs Sierra
* Java version: 1.8

### Steps to reproduce this issue
服务端启动后,20880端口正常打开,客户端在端口打开后偶尔会报connect timeout的现象,从网络来看有丢SYN包的情况,主要是由于accept 
queue满了导致的。

1. 服务端机器的配置不是很高,应用启动过程需要消耗大量CPU初始化工作。
2. 客户端多线程并发发起到服务端的连接,每秒钟发起几百上千个连接请求。
3. 在服务端机器看到有accept queue满的情况。
```
3220 times the listen queue of a socket overflowed 
3220 SYNs to LISTEN sockets dropped
```

4. 通过查看当前端口的连接队列,只有50个,也就是netty3的默认backlog,实际队列最高是101个。
```
[~]# ss -lnt 
State Recv-Q Send-Q Local Address:Port Peer Address:Port 
LISTEN 0 50 *:20880 *:*
```

Netty4的默认backlog也是1000,所以把Netty3的默认backlog调整成1024.

[ Full content available at: https://github.com/apache/dubbo/issues/5168 ]
This message was relayed via gitbox.apache.org for 
notifications@dubbo.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org
For additional commands, e-mail: notifications-h...@dubbo.apache.org

Reply via email to