[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Client Server Communication / Performance over TCP/IP 4

Status
Not open for further replies.
P

Paul Koufalis

Guest
Ezaz, I have a few points to make and/or questions to ask: 1. What is the test query? To answer your question regarding C/S vs Apsv, it is imperative to understand the nature of the queries. Very short queries will be slower via AppServer as the AppServer connection cost will outweigh the query cost. In our "4GL Code Performance Workshop", Peter Judge and I talk about combining Apsv calls to avoid doing many small back-and-forths. 2. For long running queries on one table, C/S connections should be using field lists, -Mm and the various -prefetch* parameters. I have seen very good results by configuring the database and the code to stuff many more records into each message from the server to the client. Without these parameters, you may be a) sending unused field data across the network; and b) only sending 16 records per message, regardless of the -Mm network buffer size. 3. For long running queries joining multiple tables, you are probably better off using an Apsv where the agents are shared memory connected to the DB. Since the database server does not yet support server-side joins, it will likely be faster to run long, complicated, multi-table queries in shared memory via an Apsv agent. In this case, the setup/breakdown cost of the Apsv connection becomes negligible. 4. ProTop monitors and trends all this. ProTop trends the speed of shared memory queries versus localhost queries (-S port -H localhost) versus client-server queries (-S port -H ). This allows you to tune your network query performance and more importantly, gives you the data you need to act if a network change causes degradation. Any change will be clearly visible in our "User Experience" graph. Regards,

Continue reading...
 
Status
Not open for further replies.
Top