SuperSocket icon indicating copy to clipboard operation
SuperSocket copied to clipboard

大量连接断开时,新连接会出现拒接连接。

Open qzwzqty opened this issue 2 years ago • 2 comments

你好,我这边在测试的时候发现,如果有大量连接在短时间内断开,这个时候会导致其他新请求的连接被拒绝,包括HTTP请求,过一段时间(大概是所有断开的连接被处理之后),才恢复正常。 我在测试的时候用了1000个TCP连接,等全部连上之后,再全部断开。这个时候新的TCP连接就会出现 由于目标计算机积极拒绝,无法连接,新的http请求会等几十秒才返回结果。 请问下为什么会出现这个原因呢?大量新请求进来都不会出现这个情况。 谢谢。

qzwzqty avatar Aug 06 '22 14:08 qzwzqty

我简单测试了下,大量连接断开时候,ThreadPool.PendingWorkItemCount的值非常大,达到了上千。我有点不明白为什么大量连接断开会导致这个值变大,大量连接进来,都没有导致这个值增大。 这是当时测试的结果的线程池截图: Snipaste_2022-08-06_22-53-44

qzwzqty avatar Aug 06 '22 14:08 qzwzqty

想知道应对这种情况应该怎样优化。谢谢!

qzwzqty avatar Aug 06 '22 15:08 qzwzqty