Skip to Main Content
Cumulocity IoT Feedback Portal
Status Future consideration
Categories Runtime Services
Created by Guest
Created on Oct 7, 2019

HTTP requests that contain a batch of multiple requests, to remove round-trip latency issues

Currently, for nearly all operations (apart from create measurements) the only option is to perform a network roundtrip  - send a request, wait for a response.  While it's possible to do this over multiple connections concurrently, this is inefficient on both client and server side.

 

Suggestion:  Add a REST endpoint that takes a sequence of operations and performs them all and sends the response from all of them.  This could be still treating each operation separately, but it would also allow the server side to handle these efficiently - e.g. create multiple Events for the same device,  clear a number of alarms for the same device, add multiple entities as a child of a managed object, could all be done in a single transaction, which could significantly improve performance.

  • Attach files
  • Guest
    Reply
    |
    Oct 9, 2019

    Pretty much any use case involving Apama sending requests to Cumulocity ��� we often see cases where EPL is able to send requests to Cumulocity faster than it can be managed.

    * Using EPL to convert from one measurement to another ��� we have bulk measurements, but a single create event or lookup query sent between two measurements can break up a batch ��� would make sense to combine into a single request.
    * Adding multiple entries to a group/ children of a device
    * Devices sending Events/ responding to Operations.
    * Looking up Managed Objects within a group
    * Apama outside of Cumulocity is typically worse latency if we���re talking to a remote cloud Cumulocity system ��� multiple round trips significantly reduces performance.
    Adding Sandeep and Richard in case they have any input.

  • Admin
    Nikolaus Neuerburg
    Reply
    |
    Oct 9, 2019

    Hi Chris, thanks for the feedback. Generally, I believe it is a good idea to introduce Bulk APIs for improving the platform performance. Do you have a specific use-case where this is required? We will consider this along with the other performane improvement items we have on the backlog.