mpro Batch Mode Overhead - Memory and Performance

Posted by Michael Brandt on 17-Apr-2017 15:31

Hi, I am considering a problem that would require handling a large number of requests.  The app server seems to involve a pretty significant performance hit.  So I'm thinking about handling each request by calling mpro in batch mode to run the required progress programs.  It might also be possible to create a single progress program that handles all the requests, and simply operates in a broker/agent fashion.  Can anyone tell me if there any major disadvantages to starting many mpro sessions?   It might be necessary to have a mechanism to limit the number of mpro sessions running simultaneously.  I would appreciate any advice with respect to memory and performance limitations.


All Replies

Posted by Patrick Tingen on 18-Apr-2017 05:03

Without knowing much about the problem you're facing, it might also be an idea to make the appserver call 'bigger', trying to combine calls; instead of calling ten times, combine them into one call. Second option could be to use asynchronous calls to achieve a poor man's multi threading.

Problem with many mbpro sessions is that it is dependent on the capabilities of the machine it is running on. Second, you create extra network traffic and more clients for the server to handle. Normally, a server machine has more power than a client machine and if your appservers are running on the server, you might be better off in letting the appservers handle heavier tasks.

Posted by Michael Brandt on 21-Apr-2017 09:10

I guess one of the reasons I thought of running mbpro for each request was that if delete was not called on an object, the memory could be reclaimed when the progress program terminates.  I understand the failing to call delete creates a memory leak, but is that a permanent leak, or just within the context of the currently running progress virtual machine context?

Posted by gus bjorklund on 21-Apr-2017 17:16

when a process terminates and exits, all of the private resources it has not already freed (memory included) are reclaimed by the operating system.

This thread is closed