【问题标题】:Modelling message queues建模消息队列
【发布时间】:2009-03-02 12:51:16
【问题描述】:

我的这个系统由许多不同的阶段组成。 具体来说,我有很多不同的进程通过 tcp-ip 进行通信;消息被交换 通过面向数据包的协议(可以将更多消息填充到单个有线协议数据单元中 如果满足某些条件);我也控制了流队列——如果我发送失败,套接字是非阻塞的 我将消息排队,甚至将它们合并到发送队列中; 当然,运行时发生的事情取决于下面的 tcp ip 控制流,所以我也想对 tcp ip 队列进行建模。 所以问题是 - 任何人都可以分享他们对如何为我的系统进行模拟的想法吗? 我想为它制作一个模拟器 - 即:每个队列都有队列数据结构的程序 我的模型中有,每次打勾时,我都会根据我对系统的理解使模型演变 即,如果我的模型中 tcp 缓冲区的数据结构说它有足够的空间,我会减少消息号 在输出队列中,并通过消息的大小减少 tcp 缓冲区模型中的可用空间计数器,依此类推 - 然后我制作 tcp 缓冲区以基于 tcp 链路带宽的速率清空 (当然,我假设我正在抽取大量数据并且是 tcp 链接的唯一参数 是带宽)。 构建这样的东西似乎需要付出很多努力,我不确定它是否是我所需要的。 也许我最好使用某种 excel 电子表格模型,但我不确定如何构建它。

【问题讨论】:

    标签: model tcp queue simulator


    【解决方案1】:

    通过使用discrete event simulation 工具或库,您可能会得到一个仍然有用但更简单的模型。您仍然需要以模型可以理解的形式复制应用程序的大部分结构,但要获得用于注入不同分布的消息速率的工具,并且可能更容易适应不同的场景。

    【讨论】:

      【解决方案2】:

      您可以使用Ronald Szeto's TCP Simulator。它有一个Java接口。我不会尝试让配对队列变得如此复杂。只需为您的系统建模,然后使用此模拟器对底层网络条件进行建模,并将它们链接在一起,就像您在操作系统中所做的那样。我假设您的实际系统上可能没有针对应用程序中的每个队列的单独网络队列。

      【讨论】:

        猜你喜欢
        • 2014-12-22
        • 1970-01-01
        • 2013-10-01
        • 2023-03-03
        • 1970-01-01
        • 2011-04-27
        • 2020-11-27
        • 2010-12-10
        • 1970-01-01
        相关资源
        最近更新 更多