The last Thursday of the month means that the Camunda Question Corner shows up to answer any questions you might have about Camunda, BPMN, DMN or any the other topics that you might have. Unlike answers you get from the forum, the question corner give you answers live from the very faces of the Camunda experts.
For the 10th Question Corner we’ll have a special quest joining myself and @Nele, as well as a special topic to focus on. We’ll be joined by one of the most experienced Camunda experts in the Company and in the world @falko.menge. As well as being a high-profile Camunda Consultant for about 10 years he’s also part of the OMG’s working group for the BPMN and DMN standards. Recently he’s be specializing in trying to squeeze the most out of the Camunda BPM and Zeebe engines by tweaking all sorts of interesting settings and this is what he’s going to be answer question on later this month
Job Executor settings: What are common configurations for scaling the executor? (yes i know “every scenario is different”… but there are common configuration needs: More threads, more pooling, capturing jobs, etc
Performance differences with history levels
Impact (if any) of keeping process instances suspended forever (And thus filling up the runtime tables)
Performance impacts of using large collections for Multi-Instance (how long it takes to create each of the instances as jobs) (sync and async scenarios)
Size of the Deployment Cache and impacts (where and when direct look ups of BPMN occur vs deployment cache + size of BPMNs (BPMNS “can be” very large (lots of data/scripts, etc, and this increases size of cache from a memory perspective and number of objects for all of the parsed xml)
Sync actions on Rest API and WebApps vs pushing it to a job for executor on a job executor node (there is a great CamundaCon video on this from a year or two ago walking through the scaling and what works and does not work when you separate WebApps, RestApi from the Job Executor only nodes
Variable Usage: Impacts (if any) of size of variables, and quantity vs using Json or other wrapper byte array variables
How to enhance Timer Execution precision? ensuring that timers are executed more precisely to their scheduled time, and how to detect imprecise timer executions and then what are the fixes. (actual configuration examples)
some general reference performance numbers would great as they are a constant question: With X size of container with default configurations and Y DB, how long does it take to start Z process instances (and then with: if you add more engines into the cluster) (with some basic assumptions are 1 simple script task, or a Async-End on the start event, etc) (yes it always “depends” on the BPMN, but people generally want to see some general references, similar to the demos that were done in the early days of Zeebe (before it was called zeebe) showing execution throughput comparisons of camunda vs “unnamed product”/zeebe