我正在加载测试我的WebSocket Tornado服务器,在Ubuntu Server 14.04上运行。
我正在玩一台大型客户端计算机,加载60,000个用户,每秒150个(这是我的小型服务器可以轻松采取的)。客户端是RedHat机器。当负载测试套件完成时,我必须等待几秒钟才能重新运行。
在这几秒钟内,我的websocket服务器正在处理60,000个连接的关闭。我可以在我的graphite仪表板中看到它(服务器记录每个连接并断开信息)。
我还将netstat -s
和ss -s
命令的相关输出记录到我的石墨仪表板。当测试套件完成时,我可以立即看到tcp建立的秒数从60,000下降到~0。其他套接字状态(closed,timewait,synrecv,orphaned)保持不变,非常低。我的客户端的套接字会在短时间内等待,然后这个数字也会变为0。当我立即重新运行套件,并且两端的所有tcp套接字都是空闲的,但是服务器还没有完成前一个关闭批处理的处理,我看到tcp套接字级别没有变化,直到服务器已完成处理并再次开始接受新连接。
我的问题是 - 有关等待存储的套接字的信息存储在哪里(RedHat和Ubuntu)?我正在跟踪的计数器/队列长度没有显示出来。
提前致谢。