我有一个假设:有时TCP连接到达速度比我的服务器accept()快得多。他们排队,直到队列溢出,然后出现问题。
我怎么才能确认这件事发生了?
我能否监视接受队列的长度或溢出的数量?有柜台暴露在什么地方吗?
发布于 2016-12-08 13:15:46
赛斯迪格将在每个accept syscall的末尾提供一些信息,作为queuelen参数。它还将队列的长度显示为queuemax。
7598971 21:05:30.322229280 1 gunicorn (6451) < accept fd=13(<4t>127.0.0.1:45882->127.0.0.1:8003) tuple=127.0.0.1:45882->127.0.0.1:8003 queuepct=0 queuelen=0 queuemax=10据我所知,它没有提供确切知道队列何时或多少次溢出的机制。而且,将其与collectd或类似的定期监视集成起来会很麻烦。
https://unix.stackexchange.com/questions/328746
复制相似问题