You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During the discussions of #28, @smclaypointed out that the implementation of the proxy_request method in the ngamsServer reads all the incoming response data before sending it back to the original client. This is fine for small amounts of data, but adds latency to the response, and more importantly has the potential of crashing NGAS if the memory limits of the machine are reached.
This issue is to re-implement proxy_request so it streams the incoming data instead of accumulating it in memory. Once this is implemented we could take care of merging the functionality currently being discussed in #28 to avoid some potential code duplication.
The text was updated successfully, but these errors were encountered:
As pointed out in #29, the previous implementation of proxy_request
accumulated the proxy's response before it was sent back to the original
client. This didn't only add latency to the system, but also the
potential of making the process crash because too much memory could end
up being used the NGAS, triggering the OOM killer to kill our process.
In the case of POST requests this streaming functionality was not
included because the underlying functions in the ngamsHttpUtils module
didn't support this. In the case of a GET request this behavior wasn't
implemented only to avoid writing some code and share it with the POST
branch of the code.
This commit finally changes the behavior of proxy_request to stream the
response back to the original client rather than accumulating it in
memory. Now that the missing functionality has been included into
ngamsHttpUtils both GET and POST requests can be streamed, while their
code is mostly shared.
Signed-off-by: Rodrigo Tobar <[email protected]>
As pointed out in #29, the previous implementation of proxy_request
accumulated the proxy's response before it was sent back to the original
client. This didn't only add latency to the system, but also the
potential of making the process crash because too much memory could end
up being used the NGAS, triggering the OOM killer to kill our process.
In the case of POST requests this streaming functionality was not
included because the underlying functions in the ngamsHttpUtils module
didn't support this. In the case of a GET request this behavior wasn't
implemented only to avoid writing some code and share it with the POST
branch of the code.
This commit finally changes the behavior of proxy_request to stream the
response back to the original client rather than accumulating it in
memory. Now that the missing functionality has been included into
ngamsHttpUtils both GET and POST requests can be streamed, while their
code is mostly shared.
Signed-off-by: Rodrigo Tobar <[email protected]>
During the discussions of #28, @smclay pointed out that the implementation of the
proxy_request
method in thengamsServer
reads all the incoming response data before sending it back to the original client. This is fine for small amounts of data, but adds latency to the response, and more importantly has the potential of crashing NGAS if the memory limits of the machine are reached.This issue is to re-implement
proxy_request
so it streams the incoming data instead of accumulating it in memory. Once this is implemented we could take care of merging the functionality currently being discussed in #28 to avoid some potential code duplication.The text was updated successfully, but these errors were encountered: