首页 新闻 搜索 专区 学院

使用MSMQ消息队列的WCF的效率的问题。

0
悬赏园豆:10 [待解决问题]

请教个问题,WCF在使用MSMQ的时候,每次WCF程序处理MSMQ中的数据量,每秒只有几百条。 以下是测试数据

处理消息数: 180000

开始时间: [2013-11-01 15:35:27] Start To Save Log To DB.

结束时间: [2013-11-01 15:51:12] Finish To Save Log To DB.

耗时: 00:15:45

基本上算下来也就每秒190多条,以前好的时候可以达到200多条,其中程序花费了些时间,如果把程序处理的代码注释掉的话,最好也只能到280条左右。

MSMQ在处理消息的效率跟网络传输的速度、读写硬盘的速度有关, 根据自己测试发现,客户端的消息传送到服务端的效率相对来说很快,时间90%以上都耗费在MSMQ向WCF输出数据上了。

想问问,有木有什么办法能够提升MSMQ向WCF服务的传出效率啊!~~急啊~!~~

相关工具: vs2010sp1 sqlserver2008r2 iis7

附机器部分信息:

OS 名称:          Microsoft Windows 7 旗舰版
OS 版本:          6.1.7601 Service Pack 1 Build 7601
OS 制造商:        Microsoft Corporation
OS 配置:          独立工作站
OS 构件类型:      Multiprocessor Free
注册的所有人:     *************
注册的组织:
产品 ID:          00426-OEM-8992662-00400
初始安装日期:     2005/1/1, 2:46:59
系统启动时间:     2013/10/31, 14:03:53
系统制造商:       Dell Inc.
系统型号:         Vostro 260s
系统类型:         x64-based PC
处理器:           安装了 1 个处理器。
                  [01]: Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~3101
Mhz
BIOS 版本:        Dell Inc. A06, 2012/5/18
物理内存总量:     6,127 MB
可用的物理内存:   1,555 MB
虚拟内存: 最大值: 12,251 MB
虚拟内存: 可用:   7,715 MB
虚拟内存: 使用中: 4,536 MB

Vanglen的主页 Vanglen | 初学一级 | 园豆:157
提问于:2013-11-01 17:13
< >
分享
所有回答(1)
0

msmq是持久化了消息,所以自然会慢一点,因为它毕竟要读写磁盘,所以性能很大程度上和你的磁盘性能有关。

http://www.cnblogs.com/smark/archive/2013/06/13/3133995.html

有个奇葩的想法是利用内存盘来提高msmq的吞吐。

ocean | 园豆:824 (小虾三级) | 2013-11-07 22:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册