Friday, June 1, 2012

Performance impact of the "Report" action in OSB 11g

In short, enabling the Report action to capture both the request and response payloads (both header and body) results in a 100% performance hit on a simple HelloWorld passthrough service.


Test Results:

Specifically:
  • Disabling the Report action averaged 17.79 ms.
  • Enabling the Report action averaged 33.77 ms.
  • Removing the Report action completely resulted in the same performance as simply disabling it.
  • 4 records for each service is logged.

Test specifications:
  • 60 second executions.
  • Simple HelloWorld passthrough service.
  • 4 separate Report actions, to capture input and output body and header of the payload.

Explanation:

1. The proxy service Message Flow looks like this, with a standard pipeline pair with a request/response.


2. The stage in the request pipeline had 2 Report actions as shown.


3. The stage in the response pipeline had 2 Report actions as shown.


4. Navigate to Operations > Message Reports > View All to review the report.


5. The output is shown as follows:


6. Tests were repeated with disabling the Reports by unchecking the checkbox as shown.



Applicable Versions:
  • Oracle Service Bus (OSB) 11g (11.1.1.5)


Ahmed Aboulnaga

2 comments:

Anonymous said...

I believe this example is not sufficient for demonstrating the impact of a Report action within a proxy. It would be even better to demonstrate the impact for a rather complex Proxy that would require 500 or 1000 msecs to be executed just because of its logic.

Since the Report action is not proxy logic dependent, 10 or 30 extra msecs would be added to the total execution time. Thus, the impact of using Report would be 5% or less.

Ahmed Aboulnaga said...

Thanks for the reply. I don't have too much experience with the Report Action beyond what I've mentioned here.

It'd be great if you can share your experiences too! Perhaps a blog or even in a related LinkedIn group!