首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务的排队速度慢

服务的排队速度慢
EN

Stack Overflow用户
提问于 2017-09-28 17:12:59
回答 2查看 1.1K关注 0票数 0

我试图弄清楚为什么我的SSBS实例的消息排队速度这么慢。

我使用ado.net从C#应用程序连接。它需要5-6秒来排队大约720条消息。

我已经把信息分成了50个信息块,每个信息块都有各自的对话。

我使用"150技巧“来确保每个会话句柄都在其数据页面上,以避免热发现会话行。块使用.net TPL并行执行。

每个块(50条消息)获取自己的SqlConnection,没有事务,启动会话(实际上有150个会话,但只使用一个),依次发送消息(通过foreach循环),然后结束会话。

SSBS服务是在没有验证或加密的情况下定义的。

客户端应用程序(发送消息)和Server实例都位于同一台机器上,并且托管在SSD、32 GB Ram和i7处理器上。在这段时间里,我没有看到任何资源枯竭。

我还应该把什么作为表现不佳的原因呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-28 21:59:21

孩子,我觉得自己很蠢。

我花了一整天的时间试图找出慢病的原因。原来是Visual的Intellitrace调试器。当我在没有附加调试器的情况下运行我的代码时,我有以下结果:

代码语言:javascript
复制
[17:56:25 DBG] Creating Conversation took 0001 millisecond(s)
[17:56:25 DBG] Sending 718 message(s) to broker service message queue.  took 0208 millisecond(s)

向所有为猎杀狙击手做出贡献的人道歉和感谢。

票数 0
EN

Stack Overflow用户

发布于 2017-09-28 18:21:15

您提到了"150“技巧,所以您已经阅读了白皮书(供其他人参考,可以找到这里 )。从同一份白皮书中的另一个观察到,设置对话有点昂贵。您是否测量过会话设置所需的时间(vs实际发送消息)?

我在这里实现SB时所做的一件事是,我设置了一个预先启动的会话句柄表,应用程序可以在运行时获取这些句柄。如果你对细节感兴趣,让我知道,我可以把它发到这里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46474828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档