VaRest HTTP GET is slow

Hello guys,

I am working with VaRest 1.1-rc8 plugin and my get requests keep timing out or are very slow (think 30 seconds to 2 minutes). I can’t figure it out… Via the browser all the calls are extremely fast (even after clearing cache). I am testing it on my own website as well, which is horribly slow as well. I also tried monotoring via wireshark, but it seems the request is not found there… First i thought it was a server issue, but it is easily reproducible on public sources as well. See below.

Logfiles of the code with full logging enabled for http calls:
[log.txt][1]

A slow site:
http://www.filltext.com/?rows=10&fname={firstName}&lname={lastName}&pretty=true.json

Test the same site via this tool:
http://requestmaker.com/

Somehow this large .json is fast…:
https://edg.epa.gov/data.json

Hi cageman,

We don’t offer support for externally created plugins. Please communicate with the plugin’s creator for this issue. I believe the appropriate place would be here:

Thanks!

It seems to be related to a LibCurl call, if i add the following to engine.ini

[Networking]
UseLibCurl=False

It now processes everything in a matter of milliseconds… It either seems to be related to the way UE4 calls LibCurl or libcurl itself? Care to investigate?

See my comment(s) below for more information

I think its still good to test the performance of curl vs wininet, because this performance difference is huge in the example above… By just making a HTTP call via UE you should be able to reproduce it.

For windows this solved our issues, but now are also also testing on Linux and LibCurl is the only option there, hence the above solution is not good enough. I compared the http requests between libcurl and wininet, but couldn’t find anything interesting that could explain the extremly slow Curl requests. Any ideas? Thanks!

Hey Cageman,

Thanks for the report. We currently have a issue regarding the performance of HTTP requests. You can follow it here:

https://issues.unrealengine.com/issue/UE-33732

I am very surprised that this issue has not been solved yet, its really unworkable at the moment. Also i am curious why so few people are complaining about it… there must be a workaround for this…

I am also running into this issue. The REST calls are extremely slow. I am running on Windows and tried your workaround, but I couldn’t get it to work. I just want to confirm: I edited the file in my project folder “Config/DefaultEngine.ini” and added the lines in your answer to disable LibCurl, but I still get the slow calls when I click “Play” in the engine editor. I am using Unreal Engine 4.22. Maybe this workaround doesn’t work any more? Or am I editing the wrong file?

This issue is still there in UE 5.0.3
I’ve tried to add lines

[Networking]
UseLibCurl=False

and it doesn’t prevent FHttpModule to create FCurlHttpRequest in C++. I’m curious how this huge issue still haven’t been fixed…