Throttling classic AppServer

Posted by bremmeyr on 27-Sep-2016 11:54

Windows servers, OpenEdge 11.5, classic AppServer 

Is there a way to throttle AppServer to limit _proapsv CPU use? For example to 50% of any one core. The concern is with the database and AppServer fighting for limited CPU resources. 

All Replies

Posted by Frank Meulblok on 28-Sep-2016 06:38

You can control CPU affinities and priorities at OS level.

But that's something you should be careful with, as getting something wrong will backfire and cause more issues than it solves.

One chain of events you can expect to see if you get it wrong: Lower process priority of  agent -> slower execution of ABL code -> record locks in database are held longer -> locking contention in the entire environment increases -> people start complaining about poor performance and/or having to retry due to timeouts, lock table starts blowing up, and other bad stuff.

(And that's not considering how the various shared memory latches etc. will be affected if you're connecting to the database in shared memory mode.)

Out of curiousity, what sort of CPU usage pattens are you seeing?

- If everything is fully loaded all the time, your machine is likely below minimum capacity.

- If there's spikes of high use, that tends to be tied to parts of the programs being run, which gives some more specific targets to tune and optimize.

This thread is closed