What are the Performance Impacts of Server-Side Operation Behavior?
We have been developed maybe a couple dozen custom operation behaviors for our process. These behaviors all fire on the "Save Work Item" event. We've begun to wonder if having so many operation behaviors could pose a risk to the user performance. We're assuming that in most cases where a single work item is saved, many operation behaviors could execute without any noticeable impact. However, this may become a concern for bulk work item operations.
On the other hand, the biggest penalty in a Work Item save might actually be the network latency in talking to the server. The server-side operation behaviors may be trivial by comparison.
Can anyone speak to whether there are performance penalties of which we should be conscious?
I suppose we could try some form of benchmarking, but we have not yet taken such steps.
One answer
of course the operational behavior needs to be executed and has an impact on the performance. This is why you should design the behavior to exit as fast as possible, e.g. detect if it needs to run as fast as you can.
I can't tell you in any quantity what the impact on the performance is, unfortunately. But as long as it is not noticeable I would not worry.
If you are interested in the current impact on your system, you could perhaps use metronome to measure the work item save performance. E.g. configure a special role to override the operation behavior and not having to execute it and measure with that role compared to the default role(s).