c# SocketAsyncEventArgs

kangkang08 2014-07-02 05:45:06
小弟最近在研究socket相关服务器,基本的业务流程是将客户端的数据接受后处理保存至数据库,
底层用了SocketAsyncEventArgs,但是在测试并发的时候,很慢,主要是涉及到比如说一条数据到服务器,服务器大概会有3次查询操作,2次Insert操作,同时可能还有第三方接口的调用。
我们在测试不带逻辑的时候,并发可用达到几W,但是一加上逻辑,特别是逻辑多一些的,处理速度就变成了几个或者10多个。
求大神有关于SOKCET的框架,给大致讲解讲解, 就是 数据库逻辑等处理的方式。
小弟不胜感激!
...全文
264 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不是因为SocketAsyncEventArgs,也不是因为频繁的异步操作导致服务器过载 而是因为你的每次操作都太费时间,数据库操作貌似可以优化一下,但是调用第三方接口,可能的话,需要跟对方共同想办法了
  • 打赏
  • 举报
回复
先确认一下问题:最费时的操作并不是因为socket本身引起的,而是业务处理,以及调用第三方接口引起的
kangkang08 2014-07-03
  • 打赏
  • 举报
回复
引用 6 楼 diaodiaop 的回复:
Beetle的吧.我也在用这个 不过你直接输入几万 都成功连接并且发送数据了? 我之前测试的 几万直接死掉了
嗯 连接倒是没几W,加个QQ聊吧
by_封爱 版主 2014-07-03
  • 打赏
  • 举报
回复
Beetle的吧.我也在用这个 不过你直接输入几万 都成功连接并且发送数据了? 我之前测试的 几万直接死掉了
kangkang08 2014-07-03
  • 打赏
  • 举报
回复
引用 2 楼 diaodiaop 的回复:
不知道LZ是否真正理解 "并发"2个字?
引用
并发可用达到几W
你用什么软件测试你所谓的并发达到了几万? 注意 是并发哦 不是连接... 如果是工具 请给出工具名称.我看下 它到底是不是模拟几万"并发" 如果是你自己写的测试工具请给出代码..
是用的工具!TCP_UDP_PerformanceTest用的这个工具,其实不算几W的并发,只能说几W的数据交互量!
kangkang08 2014-07-03
  • 打赏
  • 举报
回复
引用 1 楼 tcmakebest 的回复:
这差异也太悬殊了吧,看下CPU是否利用率太高了,如果高可能数据库优化有问题,如果不高说明楼主的代码不支持并发.
是用的工具!TCP_UDP_PerformanceTest用的这个工具,其实不算几W的并发,只能说几W的数据交互量!
kangkang08 2014-07-03
  • 打赏
  • 举报
回复
引用 9 楼 dongxinxi 的回复:
不是因为SocketAsyncEventArgs,也不是因为频繁的异步操作导致服务器过载 而是因为你的每次操作都太费时间,数据库操作貌似可以优化一下,但是调用第三方接口,可能的话,需要跟对方共同想办法了
嗯 是的!主要是在数据库和第三方接口,估计没得太好的办法解决了!
by_封爱 版主 2014-07-02
  • 打赏
  • 举报
回复
不知道LZ是否真正理解 "并发"2个字?
引用
并发可用达到几W
你用什么软件测试你所谓的并发达到了几万? 注意 是并发哦 不是连接... 如果是工具 请给出工具名称.我看下 它到底是不是模拟几万"并发" 如果是你自己写的测试工具请给出代码..
tcmakebest 2014-07-02
  • 打赏
  • 举报
回复
这差异也太悬殊了吧,看下CPU是否利用率太高了,如果高可能数据库优化有问题,如果不高说明楼主的代码不支持并发.

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧