首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高吞吐量和Windows Workflow基础

高吞吐量和Windows Workflow基础
EN

Stack Overflow用户
提问于 2009-01-23 09:50:36
回答 2查看 1.2K关注 0票数 3

WWF能否处理高吞吐量的场景,在任何时候都会有几十条记录被“主动”并行处理?

我们想要建立一个每小时处理几千条记录的工作流流程。每条记录都需要长达一分钟的时间来处理,因为它会进行外部web服务调用。

我们正在测试Windows Workflow Foundation来实现这一点。但我们的演示程序显示,当我们使用并行活动在一个工作流实例中同时处理多个记录时,每个记录的处理似乎是按顺序运行的,而不是并行运行的。

我们应该使用多个工作流实例还是并行活动?

是否有任何已知的高性能WWF处理模式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-06 00:51:07

你绝对应该为每条记录使用一个新的工作流。每个工作流只有一个线程可以在其中运行,所以即使使用ParallelActivity,它们仍然会按顺序进行处理。

我不确定Windows Workflow的性能,但我在Tech-Ed上听到的关于.NET 4的消息是,它的工作流组件将比.NET 3.0和3.5中的组件快得多。因此,如果你真的需要更高的性能,也许你应该考虑等待.NET 4.0。

另一种选择是考虑BizTalk。但是它很贵。

票数 1
EN

Stack Overflow用户

发布于 2009-01-25 22:03:29

我认为常见的模式是每条记录使用一个工作流实例。工作流运行时并行运行多个实例。

一个工作流实例一次运行一个线程。并行活动在该单个线程上顺序调用每个活动的Execute方法。然而,如果并行活动是异步的,并且花费大部分时间等待外部进程完成其工作,那么您仍然可以从并行活动中获得性能改进。例如,如果activity调用外部web方法,然后等待回复-它从Execute方法返回,并且在等待回复时不占用此线程,因此并行组中的另一个activity可以同时开始其作业(例如,也调用web服务)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/472391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档