试着向队列中发送100000条消息(每条925 Byte),速度大概是8k~9k条每秒钟(express模式发送);
而从队列中读的时候速度却大概只有5k条不到的样子,为什么会这样?读速度应该和发送速度不相上下才对啊!
而从队列中读的时候速度却大概只有5k条不到的样子,为什么会这样?读速度应该和发送速度不相上下才对啊!
解决方案 »
- 一个关于电脑技术的问题
- 用serialPort串口通讯,返回数据有问题!
- 救命啊,数据库服务器双网卡问题
- System.Windows.Forms DataGrid除设ReadOnly=true外还有什么办法隐藏最后一行的那新增行
- datagridview怎样根据判断某列有值的话就用一个图片来显示,告诉用户这列有数据
- 询问一行代码的意思
- 请问怎样在B/S下实现影视文件的上传(急急急)
- 怎样将form外观变成圆角矩形?
- 在C#怎样给一个最小化的窗口发一个消息使它恢复大小?或者还有其他办法?
- 反射的问题
- C#中操作MSMQ,怎么设置事务性?设置事务性后就可以重起计算机以后队列也不消失吧?
- 如何实现用鼠标左键将文件拖入窗体,就打开文件这个功能?
System.Collections.IEnumerator enumerator = queue.GetMessageEnumerator2(); ////foreach (System.Messaging.Message message in queue)
StreamWriter sw = new StreamWriter("f:\\ttt.txt");
while (enumerator.MoveNext())
{
sw.WriteLine(((ClientInfo)(queue.Receive(TimeSpan.FromTicks(11), MessageQueueTransactionType.Single).Body)).ToString());
i++;
}
而写的时候只用往里面写??
猜的。。呵呵,等待高手解答。
写的时候这样的:
using (Message m = new Message())
{
for (int i = 0; i < iterations; i++)
{
m.Formatter = new BinaryMessageFormatter(); //_fmt;
m.Body = body;
m.Label = "Test";
m.Recoverable = false;
que.Send(m);
}
}
Table 1 – Messages Sent, 1 Thread, Express ModeMetric/Message Size 10 bytes 1,000 bytes 2,000 bytes 4,000 bytesMessages per Second 13,700 11,400 10,150 8,230CPU Utilization 100% 100% 100% 100%Table 2 – Messages Received, 1 Thread, Express Mode结果里面看读队列速度和写速度(11400 vs 11300)基本一致,为什么我这里会有这么大差别?