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.
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.