As one can see, one “big” string strongly penalize the performances compared to one “small” string. And surpringly, the results get “inverted” when dealing with 10 strings instead of one.
Can anybody explain these two unexpected results ?
(I ran the tests on a old quadcore laptop with 8Gb RAM and a SSD drive)
I made the tests on a dedicated server once again. But the results are similar. Deactivating jdbcBatchProcessing also made no real difference (I modified the two bpm-platform.xml I found in Camunda BPM platform).
Is there something else I can do at the (H2) DB level ?
For example, change the size of any specific column in the table used internally by Camunda to store the variables ?
Camunda documentation shows that strings stored in the database are limited to 4000 characters.
So, I now try to test a json content.
Unfortunately, even with lots of topics about Spin integration, I can’t find my way out.
I still have the same following error message :
org.camunda.bpm.engine.ProcessEngineException: Cannot find serializer for value 'Value ‘null’ of type ‘json’, isTransient=false’
Could anyone be so kind to tell me what’s wrong with the test and pom files hereafter ?
I precise that spin plugin seems to be duly declared at engine configuration level in camunda-bpm-platform framework.
Kind regards,
Laurent
Modified VariablesPerformanceTest.java :
public void noneStartEventJsonVar() {
HashMap<String, Object> variables = new HashMap<String, Object>();
String jsonPayload = …
JsonValue jsonValue = SpinValues.jsonValue(jsonPayload).create();
variables.put(VARIABLE1,jsonValue);
I finally found what the problem was. The engine used by the tests was not the one I believed.
The instance actually used is an embedded one, defined in PerfTestProcessEngine.java with supported settings declared in perf-test-config.properties.
As a result, to declare the necessary Spin plugin to the engine, one simply needs to add ‘-DprocessEnginePlugins=org.camunda.spin.plugin.impl.SpinProcessEnginePlugin’ to the maven command when running tests based on JSON.
And, for anyone interested, jdbcBatchProcessing can be actived or deactivated the same way.