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

  • Thread starter Thread starter dbeavon
  • Start date Start date
Status
Not open for further replies.
D

dbeavon

Guest
I believe I've heard that OE version 12 will have a variety of server-side enhancements to support faster client-server connectivity. It sounds like the goal might be to make the server-side "smarter", and perhaps handle more complex work items that require understanding the execution of the ABL client code at a higher level In particular, I believe we may start seeing things like a multi-threaded database server, server-side joins, predicate resolution on the server, etc. I guess we won't know for sure until it is finally released. ABL client-server can be slow and somewhat difficult to troubleshoot and optimize. It starts by investigating the size, quantity and direction of the network packets. If you can investigate the number of packets/unicasts that are participating in the entire query then you are half-way there! I'd recommend that you simply start with the Windows task manager. It will track the number of packets since it was first opened. Typically an ABL client/server performance problem will be correlated to large packet counts. You should see them go up into the thousands or ten-thousands! The next step is to open WireShark and see that they are rapidly alternating back and forth in each direction (ie. there is lots of chatter but little is getting accomplished very quickly). Optimizing the code usually involves breaking down the program into lots of FOR EACH NO-LOCK table scans. That is pretty much the only trick in the book that works reliably. It will send large amounts of data in one direction really quickly and should allow something to be accomplished (whether the packet count is high or not). Other than FOR EACH NO-LOCK there are other tricks for client-server that work in certain scenarios, including the adjustment of your database startup parameters. You can search for them in the KB.

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