I have a natural entirex service which calls another entirex service. A client connects to the Natural service and requests a conversation which is only answered after the “chained” request has finished. The size of the data area defined in Natural is quite large, but can be decreased to a point
Now to the problem:
If I run a client in a single thread the process works correctly, the moment I try emulating a production scenario (ie many clients) Natural returns a 903 error and the broker trace indicates that the number of long buffers has been exceeded. It is obviously due to volume and we’ve already increased the num_long_buffers value in the attribute file from 500 to 5000. My question is, when do the allocated long-buffers get released (after every conversation has ended or once a garbage collector runs?) and what is the impact on performance/environment memory allocation if I increase the num_long_buffer value again?
Alternatively, is there a way which I can tweak my application which would balance the short buffers and long buffers?