在一次测试执行过程中,发现服务器TCP发送队列较长,执行netstat -s | grep LISTEN,发现有SYNs包被丢弃,但是没有times the listen queue of a socket overflowed,即有可能是半连接队列溢出. 以下转自:http://blog.chinaunix.net/uid-13776576-id-5780567.html 问题描述: 最近遇到了一个syn丢包的情况,当系统磁盘.网络.cpu都无压力的时候,系统莫名其妙出现“sync to li…
最近在看一些网络服务器的设计, 本文就从起源的角度介绍一下现代网络服务器处理并发连接的思路, 例子就用java提供的API. 1.单线程同步阻塞式服务器及操作系统API 此种是最简单的socket服务器了,完全不考虑多连接的问题,主线程一次只处理一个连接,其他的连接由操作系统保持,用的是java socket包的ServerSocket,其构造函数支持的backlog就是TCP连接的等待队列 * The maximum queue length for incoming connection i…