我需要创建一个高性能的应用程序,在该应用程序中,我将同时从我的套接字客户端获得500条套接字消息。根据我的日志,我可以看到我的双核心系统一次处理80条消息。
我正在使用异步套接字(.BeginRecieve),并且我已将NoDelay设置为true
从我的客户端和服务器的日志中,我可以看到我从客户端写的消息在3-4秒后被我的服务器读取。
我的应用程序的服务时间应该要短得多。
发布于 2011-12-24 10:20:12
首先,你应该发布你当前的代码,这样就可以识别出任何潜在的bug。
其次,如果你使用的是.NET 3.5,你可能想看看SocketAsyncEventArgs的增强功能。
发布于 2011-12-24 10:10:09
开始查看您的资源使用情况:
与above.
一旦你确定了瓶颈在哪里,社区和你自己都会更容易地考虑下一步要关注的是什么来提高性能。
对您的代码进行审查可能也是必要的-但这可能更适合https://codereview.stackexchange.com/。
发布于 2011-12-24 11:00:12
当您执行socket.listen时,您的积压工作设置为什么?我不能对TCP4.0说话,但是在2.0中我看到了一个问题,一旦你的积压被填满了(太多的连接尝试太快),那么一些套接字就会得到.net接受,然后是TCP。然后,客户端可能会或可能不会尝试稍后再次重新连接。这会导致连接瓶颈,而不是数据吞吐量或处理瓶颈。
https://stackoverflow.com/questions/8622218
复制相似问题