在12核心24g的电脑上,同时测试服务端和客户端,建立最多5万个TCP连接,总共发送600w个数据包,每个包4字节。多久发完算合理,每个包延迟多少毫秒合适。
延迟的计算:客户端发包,包的内容就是当前时间戳,服务端收到包以后,获取一下当前时间戳,相减得出延迟。
使用libevent+多线程,C++,windows。
主线程用于只监听tcp连接的事件循环,额外开8个线程用于数据的接收事件循环。
额外开一个线程,一直等待到所有包接收完后,将延迟数据存入日志文件。
目前大部分延迟都能控制100ms以内,但是会有将近10%的包延迟在100-1000ms以内。
目前的测试结果是无论建立1w个连接、2w个、3w个,都是这个情况。