Windows TCP / socket / thread / buffer exhaustion(c#)

时间:2016-09-27 09:13:21

标签: c# windows multithreading sockets tcp

前言: 在VMware环境中,我们运行的是Windows 2012服务器。在服务器上,我们有几个应用程序在Windows进程中运行。 一个进程是打开套接字(tcp服务器)并侦听客户端。有3000个客户端连接并向服务器进程发送数据。 方案可能是每个客户端向服务器进程发送50条消息(3000 * 50 = 150000 msg进行处理) 使用从共享密钥库请求的密钥(从另一个服务器(例如网络呼叫)提供)来解密消息

See diagram

问题 tcp服务器进程无法及时处理消息,因为对密钥库的网络调用“缓慢”。线程数增加为“异步接收”缓冲线程(C#socket.ReceiveAsync())。我明白这个问题。 但是当该进程中与套接字接收无关的其他线程需要建立网络连接时,例如。数据存储:连接异常引发:“打开与服务器的连接时发生异常” - 这只是在tcpserver满负载时的周期性。

有人可以解释这是如何相关的吗?或者我如何解决或调查此类问题?

0 个答案:

没有答案