使用MSMQ,在将大量消息导入队列时,如何避免资源不足?

时间:2014-01-22 13:35:37

标签: msmq

什么?

我有一个私有的MSMQ事务队列,我需要导出所有(600k)消息,清除然后将消息导回队列。导入这些消息时,我目前正在使用单个事务并且资源不足错误。我可以切换到使用多个事务但我需要一种方法来计算出我可以在一个事务中处理多少消息,任何想法?

为什么?

如果我们不定期执行此操作,则.mq文件会变得臃肿和碎片化。如果还有其他方法可以解决这个问题,请告诉我。

1 个答案:

答案 0 :(得分:0)

当我们获得7500个总大小约为30千兆字节的MQ文件时,我们遇到了与MQ文件相同的问题。 解决方案非常简单。 您应该在此计算机上清除Transaction死信消息,之后应重新启动MSMQ服务。 当此服务启动时,它将运行碎片整理过程。它压缩已用空间并删除未使用的MQ文件。