Hi, Probably a stupid question ... On a server I have an appserver and database on the same machine. So I configured that the AppServer connects to the database with the -db parameter set to the psychical dbname (-db D:\DB\test.db) and not with the -H etc parameters. If you connect through -H etc then you get _mprosrv.exe processes according to the settings in the database configuration (number of servers, minimum clients per server and maximum clients per server). Suppose you have set minimum clients per server set to 1, then for every AppServer that it's connected through -H, you get a _mprosrv.exe (until the maximum clients per server etc). I can imagine that doesn't apply when the AppServer connects through -db D:\DB\test.db, but does this have any performance issues. Suppose you have 20 AppServers ? Or is it better to connect with -H etc even if it's on the same machine ? Kind regards Bart
In general ... and everything needs qualification ... using self service clients is likely to give you the best performance since each client is doing its own work without having to go through a broker and there is not network layer.
A direct (shared memory) connection to the database should always give you better performance than connecting over the network, even if on the same machine. The amount of network traffic that Progress generates for a -H/-S connection can be ridiculous. The advantage of a shared memory connection is speed and performance, the disadvantage is that you are unable to scale your application horizontally as required.
Unfortunately, I don't have any further information on the intricacies of _mprosrv.exe instance generation v client connections.
I will be giving a presentation on this exact topic at PUG Challenge Americas in a couple of weeks:
891: Benchmarking Network Data Transfers
Paul Koufalis, White Star Software
My OpenEdge database is on server x. My 4GL client (_progres, prowin32, _proapsv...) is on workstation y. How do I get data from x to y...FAST?
There have been a number of presentations on the various start-up parameters, coding techniques and best practices when it comes to transporting data across the network. This presentation skims over the theory and goes straight to the results: what's fast and what isn't. Using ProTop Free, promon and other monitoring tools, this presentation will show you the cause and effect relationships between coding practices, client and database start-up parameters and the resulting execution times.
Thanks to all for replying. It's clear now that this configuration is the best when AppServer and DB are on the same machine.
I'm also intrested in the presentation at PUG (891). Will this be recorded and be available ?
I would be very surprised if Paul hasn't put forward the session for the EMEA PUG in October in Netherlands. That may well be closer to home for you?
I have not - yet. And I am being pestered to do so by a certain German who shall remain nameless.
Normally the PUG Challenge Americas presentations are available for download. Some may be recorded but James is right - come to Noordwijk NL if Manchester NH is not possible.
> On Jun 15, 2016, at 4:50 PM, Paul Koufalis wrote:
> I am being pestered to do so by a certain German who shall remain nameless
gotta love those nameless germans !=
Nameless, my Greek-Canadian friend? You think just because this is a DBA related thread or it's Euro2016 that certain German is not watching? ;-)
I submitted my proposals last night so I'm off the hook oh-nameless-German. Save those 8:00 AM time slots for me!!