【问题标题】:Should I put Images on MSMQ我应该将图像放在 MSMQ 上吗
【发布时间】:2009-08-27 20:28:07
【问题描述】:

对于我们的一个应用程序,我们正在考虑将扫描的图像放到大小为 10-12k 的 MSMQ 上,全天大约有 15000 张图像 (150 MB)。

有没有人认为性能方面可能存在问题? 我们是否应该采用这种方法有什么建议,如果没有,还有什么建议?

我们将使用 MSMQ 绑定到 WCF。

谢谢

【问题讨论】:

    标签: wcf image msmq


    【解决方案1】:

    这是一个多大的 MSMQ 网络?如果您在 150 个服务器上有 1500 个队列,这显然是轻而易举的事。但是让我们假设最坏的情况:单个服务器、单个旋转磁盘(即不是 SSD)和消息的持久存储。每条消息需要一些 IOP,并且您的消息将以每小时约 2000 条的速度到达。这不到每秒 1 次,因此您的磁盘需要 1 到 10 次 IOPS。没什么大不了。不过,如果您有突发流量,您可能会遇到一些延迟问题。

    消息大小不是一个真正的问题。它远低于 MSMQ 限制,远低于今天的正常 RAM 大小,甚至旧的 10Mbit 以太网似乎也足够快。在这么低的消息大小下,IOPS 的数量并没有真正变化。

    即使是适当的设计也不是那么重要。放入 SSD 可以快速解决问题,即使是 30GB 的小容量也可以容纳 200 天的消息。由于它们通常被指定为 1000 次以上的完全重写,因此在您的情况下加起来需要 200.000 天 - 很多。

    【讨论】:

      【解决方案2】:

      我不知道是否会有 - 你为什么不试试看呢? 150MB 现在不是那么多,所以也许不会有问题,但通常最好测试这些东西以确定。

      【讨论】:

        【解决方案3】:

        MSMQ 最多只能接受 4 兆的消息,所以是的,应该没问题。

        --编辑

        我误读了这个问题,但我的回答仍然准确。只要消息小于 4 兆,一切都会好起来的 :) 重新措辞。

        【讨论】:

        • 虽然每条消息只有 10-12k,而不是每条 150mb
        • 每条消息,对不起,因为你的评论,我读错了,1800:P
        【解决方案4】:

        MSMQ 可以接受最大为 4 兆的消息。每条消息/图像 10-12k 不会有问题。

        Optimizing Performance in a Microsoft Message Queue Server Environment

        【讨论】:

          【解决方案5】:

          我宁愿将图像发布到服务器,为它创建一个 guid 并用过期日期标记它。

          然后将包含图像的 URL/GUID 的消息发布到 MSMQ。

          图像服务器上的批处理作业会不时清理过期的图像。

          否则,如果它只有 12k... 没有一些真实世界的测试,没有人会知道。上面的方法也不难实现。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-05-02
            • 2011-01-10
            • 1970-01-01
            • 2011-01-18
            • 1970-01-01
            • 2018-03-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多