【问题标题】:soa suite 11g bpel request handling is slow when many concurent requests are sent当发送许多并发请求时,soa suite 11g bpel 请求处理很慢
【发布时间】:2013-07-30 10:37:13
【问题描述】:

我们有一个组合,其中包含一个具有顺序路由规则的中介。

当单个请求被发送到组合时,它的处理速度非常快(min=600ms,max=2s)。 但是当我们发送 60 个并发请求时,处理速度要慢得多(min=2s,avg=6s,max=25s)。

在调查过程中,我们发现:

  1. 数据源池未用尽 (SOA_INFRA)
  2. SOA 服务器和数据库服务器上的 CPU 什么都不做(使用率 5-10%)
  3. 请求到达调解器和到达 bpel 之间有 15 秒的延迟。

似乎还有一些其他有限的资源,例如同时运行的最大 bpel 实例数。但我们无法找到它以及如何调整它。

如何调整 SOA 11g 以更快地处理并发请求?

谢谢!

【问题讨论】:

    标签: soa oracle-soa


    【解决方案1】:

    默认情况下,BPEL 组件是“异步”的,因为消息首先被持久化到 soainfra 数据库,然后使用调度程序调用线程进行调用(即使在同步 - 请求/回复组件上)。

    请参阅以下 Oracle 文档以将 BPEL 流程更改为真正同步并在现有线程中运行:http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/soa_transactions.htm#CHDBIDAA

    如果您不想弄乱 BPEL 事务属性,请参阅以下 Oracle 文档以增加调度程序调用线程的数量:http://docs.oracle.com/cd/E25054_01/core.1111/e10108/bpel.htm#BABBGEFA

    【讨论】:

    • 非常感谢!我会试一试的。
    • 嗯,我猜 bpel.config.oneWayDeliveryPolicy 只是关于单向调用。此属性是否也会影响请求-回复调用?
    猜你喜欢
    • 2016-08-28
    • 2019-09-22
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    相关资源
    最近更新 更多