Ensure that OpenEdge.Net.pl is near the top of the PROPATH and before any remote drives.Progress will search each PROPATH component (directory in PROPATH) for what has been specified in the RUN statement. Placing the procedure library early in the PROPATH will reduce the number of searches and ensure that the required classes are found quicker. See the following article for more details:
How does Progress search for compiled ( .r ) and uncompiled ( .p ) code in the PROPATH?Disable TCP-NODELAY in socket options.Setting TCP-NODELAY to FALSE disables both the delayed ACK and the Nagle algorithm on sockets, removing some overhead. This can be achieved using socket options. See the following articles for more details:
What Is the TCP-NODELAY option in 4GL Sockets How to set socket options using OpenEdge HttpClient?Sample code:
USING OpenEdge.Net.HTTP.ClientBuilder.
USING OpenEdge.Net.HTTP.IHttpClientLibrary.
USING OpenEdge.Net.HTTP.IHttpRequest.
USING OpenEdge.Net.HTTP.IHttpResponse.
USING OpenEdge.Net.HTTP.Lib.ClientLibraryBuilder.
USING OpenEdge.Net.HTTP.RequestBuilder.
USING OpenEdge.Net.ServerConnection.ClientSocket.
DEFINE VARIABLE oRequest AS IHttpRequest NO-UNDO.
DEFINE VARIABLE oResponse AS IHttpResponse NO-UNDO.
DEFINE VARIABLE oSocket AS ClientSocket NO-UNDO.
DEFINE VARIABLE oLib AS IHttpClientLibrary NO-UNDO.
ASSIGN oSocket = NEW ClientSocket()
oSocket:NoDelay = FALSE
oLib = ClientLibraryBuilder:Build()
:Option(GET-CLASS(ClientSocket):TypeName, oSocket)
:Library
oRequest = RequestBuilder:Get('https://www.progress.com')
:Request.
oResponse = ClientBuilder:Build():Client:Execute(oRequest).
MESSAGE
oResponse:StatusCode SKIP
oResponse:StatusReason SKIP
VIEW-AS ALERT-BOX.
Use -q startup parameter in production.The Quick Request (-q) Client Session parameter will force the AVM to use a procedure stored in memory first, if it exists, before reading through the folders in the PROPATH.
Upgrade to OpenEdge 12.1 or later.Prior to OpenEdge 12.1, the AVM was performing additional, unnecessary searches. This has been addressed in OpenEdge 12.1 and later, reducing the number of searches performed. See the following article for more details:
Procedure libraries on PROPATH are searched for as directory entries