Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Symptoms

Some transactions are not showing WSM WS-M Payloads, even though WSM WS-M subscription was requested for them. 

...

12/07/2016 02:12:29,852- WARN o.m.a.f.h.NHttpFileServer [I/O-dispatch-3] wsmHttpSource1 -98b515b9-ed96-45dd-a999-248f6f19f1a3- Request ignored - With size 18615431 that  limit 10485760 

 


Overview

Each WS-M event contains 4 partspayloads: Front-End request, Back-End request, Back-End response and Front-End response, the size of a single transaction payload event equals to the size of all 4 parts payloads combined.
The DataPower batches several transactions (WS-M events) together before sending them to DPOD - The default as a single request. The default setting is grouping 20 transactions events together.

DPOD's WSM WS-M Agent sets a size limit for incoming requests, the default request. The default limit is 10mb, meaning , DPOD will drop any requests that are larger than 10mb

Assuming you have a transaction with payload size of Using those defaults may cause DPOD to drop requests. Consider the case where transaction payload size is 1mb (300kb back-end and front-end requests, and 200kb back-end and front-end responses), and the DataPower grouped 20 of them . With the defaults in place, DataPower groups 20 transactions before sending them to DPOD, the . This will generate a total request size will be 20 x 1mb  = 20mb , so of 20mb. DPOD will then drop this request (As it exceeds the 10mb limit) and will not show the payloads.

 


Changing how many payloads the DataPower will batch together

You can effect Both the number of transactions the DataPower will send groups and sends to DPOD in with each batch and the maximum batch size - all the configuration changes are done configurable in DPOD (and not in the DataPower).

Note

You will need to stop DPOD UI agent from the CLI before changing the following values, and start it again afterwards.

edit /app/ui/MonTier-UI/conf/MonTierUI.conf
the relevant configuration keys are:
wdp.wsm.push.max_elements  - how many transactions the DataPower will group Change the following system parameters:
WS-M Subscription Push Max Elements  - Number of transactions DataPower groups together (the default is 20)
wdp.wsm.push.max_envelope_size -max WS-M Subscription Max Envelope Size - Maximum batch size that the DataPower will send to DPOD (the default is 10485760 = 10mb)Image Removed


Changing the max batch size DPOD can handle
 

Note

You will need to stop DPOD WSM agent from the CLI before changing the following values, and start restart it again afterwards.

edit /app/flume/wsm_agents/conf/MonTier-WsmAgent-X/flume_wsm.conf  (where X is the number of the WSM Agent you want to effect)

The relevant configuration key is:
MonTier-WsmAgent-X.sources.wsmHttpSource1.requestSizeLimitInBytes   - max batch size that DPOD will process (the default is 10485760 = 10mb)

 

Best Practices

It is much better to lower the number of the batched payloads (wdp.wsm.push.max_elements) than to increase the batch size DPOD can accept (wdp.wsm.push.max_envelope_size and wsmHttpSource1.requestSizeLimitInBytes) - making . Making more smaller requests will allow allows both the DataPower and DPOD to work in parallel and will require requires less memory on both appliances. specificallySpecifically, setting wsmHttpSource1.requestSizeLimitInBytes to a high value may put some stress on DataPower and DPOD machines with a low amount of RAM.
 

If you still need to change the batch size because a In cases where specific transaction/batch of transaction is larger than 10mb, the best thing will be to try and raise the limit only for one specific WSM WS-M agent and choosing selecting this agent when subscribing to WSMWS-M.