社区
C#
帖子详情
Socket 并发问题
xz_xq
2011-06-13 05:34:26
客户端并发2000个连接请求,Socket服务端接到请求然后通过WCF调用后端业务处理,过程中CPU占用90%+,客户端连接成功数只有200个左右,
如果是只做连接不做业务处理的话,成功率可达到100%。请问我的瓶颈出在哪,大侠们有什么好的建议。
...全文
157
7
打赏
收藏
Socket 并发问题
客户端并发2000个连接请求,Socket服务端接到请求然后通过WCF调用后端业务处理,过程中CPU占用90%+,客户端连接成功数只有200个左右, 如果是只做连接不做业务处理的话,成功率可达到100%。请问我的瓶颈出在哪,大侠们有什么好的建议。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Maa
2011-06-13
打赏
举报
回复
[Quote=引用 5 楼 xz_xq 的回复:]
是长连接。
可能与机器性能有关,刚用一台性能比较好的机器做服务器端,2000个连接请求并触发后端业务处理,可成功处理1600个请求。现在头下命令:即便服务器端业务处理慢些,也要保障所有客户端请求都能连接上,请大家支招。[/Quote]
如果是长连接的话,那跟业务逻辑的设计和执行效率有非常大的关系了,可否介绍一下单次业务大致的处理流程呢?
需要特别问一下的就是后台业务有没有连接并读写数据库的操作呢?如果有的话,这个跟数据库的连接是固定一个(或者几个)还是每个客户端连接都会触发服务端跟数据库建立一个连接呢?
xz_xq
2011-06-13
打赏
举报
回复
[Quote=引用 3 楼 mafangming 的回复:]
1.如果只做连接不做业务处理,你说的100%成功率是否指的是“这种情况下是否可以同时保持2000个客户端连接在线(不断链,即TCP长连接)”?还是说你的2000个链接请求是TCP短连接,连上来以后会自动断开?
2.如果是短连接的情况,怀疑服务端对TCP连接数有限制,比如限制200,当逻辑完成后链接断开,这时才能接入下一个客户端连接。这个修改起来应该比较方面,不是服务端本身的性能问题。
……
[/Quote]
是长连接。
可能与机器性能有关,刚用一台性能比较好的机器做服务器端,2000个连接请求并触发后端业务处理,可成功处理1600个请求。现在头下命令:即便服务器端业务处理慢些,也要保障所有客户端请求都能连接上,请大家支招。
htynkn
2011-06-13
打赏
举报
回复
应该是连接限制的问题,和性能关系不大
Maa
2011-06-13
打赏
举报
回复
1.如果只做连接不做业务处理,你说的100%成功率是否指的是“这种情况下是否可以同时保持2000个客户端连接在线(不断链,即TCP长连接)”?还是说你的2000个链接请求是TCP短连接,连上来以后会自动断开?
2.如果是短连接的情况,怀疑服务端对TCP连接数有限制,比如限制200,当逻辑完成后链接断开,这时才能接入下一个客户端连接。这个修改起来应该比较方面,不是服务端本身的性能问题。
3.如果是长连接的情况,说明服务端在TCP连接数方面没达到限制的规格,这种情况下暂时还没想到原因,需要lz提供更多的信息,呵呵。
xz_xq
2011-06-13
打赏
举报
回复
[Quote=引用 1 楼 xuexiaodong2009 的回复:]
估计是调用WCF的问题,改为异步方法试试
[/Quote]
Socket服务端接到连接后就用异步方式执行后续操作的。
xuexiaodong2009
2011-06-13
打赏
举报
回复
估计是调用WCF的问题,改为异步方法试试
C#高性能大容量
SOCKET
并发
完成端口例子(有C#客户端)完整实例源码
例子主要包括
Socket
AsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试
Socket
AsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度...
C#高性能大容量
SOCKET
并发
完成端口例子
例子主要包括
Socket
AsyncEventArgs通讯封装、服务端实现日志查看、SCOKET列表、上传、下载、远程文件流、吞吐量协议,用于测试
Socket
AsyncEventArgs的性能和压力,最大连接数支持65535个长连接,最高命令交互速度...
Windows下基于
socket
多线程
并发
通信的实现
本文介绍了在Windows 操作系统下基于TCP/IP 协议
Socket
套接口的通信机制以及多线程编程知识与技巧,并给出多线程方式实现多用户与服务端(C/S)
并发
通信模型的详细算法,最后展现了用C++编写的多用户与服务器通信的...
Java
socket
的一个封装
1. 满足具有
Socket
客户端需求的基本应用. 2. 满足具有
Socket
服务端的基本应用. 具备
并发
能力, 能满足可设定个数客户端连接. 参考个人博客: http://blog.csdn.net/ostrichmyself/article/details/6618349
C#
Socket
异步服务器 IOCP 源码
c#基于
Socket
AsyncEventArgs的异步
socket
服务器,是IOCP完成端口实现的
C#
110,533
社区成员
642,574
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章