While playing around with 11.5 I noticed the following:
A simple Ping implemented via REST (PAS) now takes 15ms (vs +/- 40ms in 11.4). -60%, great! The time is measured via Postman, a Google Chrome App.
Now on the subject of this post: when I try to consume this REST service from the 4GL via the OpenEdge.Net library it takes about 2500 to 3000ms.
The code:
httpRequest = RequestBuilder:Get("http://localhost:9080/testapp1/rest/testapp1/system/ping"):Request.
httpRequest:AddHeader("request-id", "abc12345").
t1 = mtime.
httpResponse = HttpClient:Instance():Execute(httpRequest).
t2 = mtime.
Now there's obviously some Json parsing as well, but 2,5 seconds it is still quite a long time, especially when such a call is done on the AppServer where time is measured in milliseconds rather than in seconds. Does anyone have a suggestion how to improve on this? I've been looking into 3rd party solution (dll, so) but these somehow add considerable complexity to the overall solution.
Unfortunately, the abl code that makes the request waits for 2
seconds to see if there is any more data on the socket.
It's in the source code ..
On 23 December 2014 at 16:48, bronco wrote:
> OpenEdge.Net library performance
> Thread created by bronco
>
> While playing around with 11.5 I noticed the following:
>
> A simple Ping implemented via REST (PAS) now takes 15ms (vs +/- 40ms in
> 11.4). -60%, great! The time is measured via Postman, a Google Chrome App.
>
> Now on the subject of this post: when I try to consume this REST service
> from the 4GL via the OpenEdge.Net library it takes about 2500 to 3000ms.
>
> The code:
>
> httpRequest =
> RequestBuilder:Get("http://localhost:9080/testapp1/rest/testapp1/system/ping"):Request.
> httpRequest:AddHeader("request-id", "abc12345").
>
> t1 = mtime.
> httpResponse = HttpClient:Instance():Execute(httpRequest).
> t2 = mtime.
>
> Now there's obviously some Json parsing as well, but 2,5 seconds it is still
> quite a long time, especially when such a call is done on the AppServer
> where time is measured in milliseconds than in seconds. Does anyone have a
> suggestion how to improve on this? I've been looking into 3rd party solution
> (dll, so) but these somehow add considerable complexity to the overall
> solution.
>
> Stop receiving emails on this subject.
>
> Flag this post as spam/abuse.
--
Julian Lyndon-Smith
IT Director,
dot.r
http://www.dotr.com
While playing around with 11.5 I noticed the following:
A simple Ping implemented via REST (PAS) now takes 15ms (vs +/- 40ms in 11.4). -60%, great! The time is measured via Postman, a Google Chrome App.
Now on the subject of this post: when I try to consume this REST service from the 4GL via the OpenEdge.Net library it takes about 2500 to 3000ms.
The code:
httpRequest = RequestBuilder:Get("http://localhost:9080/testapp1/rest/testapp1/system/ping"):Request.
httpRequest:AddHeader("request-id", "abc12345").
t1 = mtime.
httpResponse = HttpClient:Instance():Execute(httpRequest).
t2 = mtime.
Now there's obviously some Json parsing as well, but 2,5 seconds it is still quite a long time, especially when such a call is done on the AppServer where time is measured in milliseconds than in seconds. Does anyone have a suggestion how to improve on this? I've been looking into 3rd party solution (dll, so) but these somehow add considerable complexity to the overall solution.
Flag this post as spam/abuse.
Somehow after switching employer I'm no longer able to log calls via supportlink. I've done several attempts to get this fixed but to no avail yet...
Somehow after switching employer I'm no longer able to log calls via supportlink. I've done several attempts to get this fixed but to no avail yet...
Flag this post as spam/abuse.
thanks Peter, happy holidays!