2011-11-18 73 views
2

我们将实现一个将文件从队列中取出的解决方案(IBM-MQ)。这些消息将是10-20个不同的xml消息,这些消息将需要出列,处理和归档(存储)。但是,当我们将包含在消息中的数据存储在数据库中时,我们希望保留源文件,以便从归档过程生成的FileId必须保留并与元数据一起存储。将文件从队列中处理,存档并存储在数据库中

我想弄清楚什么能为我提供最大的吞吐量?

要求:

  1. 保持文件的归档。
  2. 存储来自消息的解析数据(不是xml blob)。
  3. 保留档案中的源文件ID。
  4. 实施一个解决方案,可以扩展规模......目前可能每小时40-50,000条消息。

所以基本上我目前的瓶颈是,似乎我的归档过程和数据处理/数据库加载是串行的(归档必须处理,并成功之前,我可以开始XML解析/加载).....不知道是否有更好的方法来实现这一点。

我会假设我们可以添加其他应用程序服务器,这些服务器将在同一队列中侦听,并且可以在需要时并行处理消息。尝试通过尽可能少的处理来消除数据库作为瓶颈(可以将xml blob发送到数据库,但它必须执行xml粉碎)。

+1

要回答这个问题,我们必须知道需要“处理”的XML文件有多大。 – Brannon

回答

0
  1. 与DBA一起调整写入数据库的操作。
  2. 测试多次读取,看看你是否有更好的吞吐量。

我的经验是,你会想要有多个阅读器,但数量将取决于很多因素。测试它并查看什么是投注。

相关问题