TIBCO BW 引擎中 ThreadCount 和 StepCount 的区别

Difference between ThreadCount and StepCount in TIBCO BW Engine

任何人都可以解释一下 TIBCO BW 引擎的 StepCountThreadCount 属性 之间的区别。我曾试图通过 TIBCO 文档来理解,但无法理解。 所以,如果有人能向我解释,那就太好了。 提前致谢。

ThreadCount 属性 定义执行所有进程的线程数量(java 线程)。因此,使用默认值 8 个线程,您可以同时 运行 8 个作业。

另一方面,StepCount 定义了线程可以上下文切换到另一个作业之前执行的活动量。

示例场景:

  • 一个包含 5 个活动的流程
  • 线程数为 2
  • 步数为 4

如果有 3 个传入请求,前两个请求各生成 1 个作业。第三个作业已生成,但由于线程不足而暂停。

第一个作业完成第四个 activity 后,线程被释放,可以分配给另一个暂停的作业。 所以第一个作业会暂停,第三个作业开始执行。

当第二个作业到达第四个 activity 时,该线程将被释放并可用于重新分配。所以第二个工作暂停,第一个恢复。

第三个作业到达第四个 activity 后,线程再次释放并恢复第一个作业(并完成此作业)。然后完成第 3 个作业。

所有这些都是理论场景。您通常需要的是设置并发作业的数量(因此 ThreadCount)。 StepCount 几乎无关紧要,因为引擎将负责物理线程到虚拟 BW 作业的池化和映射。

线程数

线程计数概念说明了 TIBCO BW 引擎可以分配的线程数。默认线程数为八。

线程数是指引擎中可以同时执行的作业数。因此,引擎中可以并发的最大作业数限制为线程数,即八个。 属性 指定作业线程池的大小,如果在 AppSpace 级别设置,则应用于 AppSpace 中的所有 AppNode。

线程不间断地执行有限数量的任务或活动,然后屈服于下一个准备就绪的作业。从八个线程的默认值开始,线程数可以调整到最佳值,现在可以加倍,直到达到 CPU 最大级别。

步数

StepCount 概念说明在将引擎线程交给作业池中准备好的另一个作业之前,引擎线程在没有任何中断的情况下完成的活动数。计步器的默认值为 -1。当该值设置为-1时,引擎可以决定所需的StepCount值。根据情况,由于频繁的线程交换,较低的 StepCount 值可能会降低引擎性能。