Public-URL speed issues


#1

I am referring to the following:

In fact the Public-URL forwarding at some days seems to be very slow. And on some days it’s a bit faster. Mostly it has problems with forwarding JS-Libraries that are hosted on the devices.

Does anyone else experience this?

The Author of the topics says “We hope to fix that soon.” - Does this refer to “streaming of images” or to the public-url system at all?

I recently tried to use a different service: https://ngrok.com - Which offers the same tunneling of device specific network stuff but is A LOT faster. Especially when using their EU-Servers (we are within the EU) all requests are almost instantly returned.


#2

ngrok is cool, I’ve been trying that with some Alexa Skills (which also need publicly accessible URLs). It has the advantage indeed that you can choose servers near to you. It does cost some money for the service, though, and not sure how does it scale in the N_devices >> N_users user case, it seems to be more tailored towards equal number of devices and users (but I might get that wrong) :flashlight:

I’m guessing @craig means improvements with Device Public URLs, but will check. Lot of our services go through the US East Coast at the moment, while used quite globally, and it does seem like a bottleneck (similar to what you’ve mentioned on the chat yesterday).

Will post here anything that comes up regarding any improvements!


#3

You can also add your own functionality for this fairly easily by setting up your own VPN or even using something like reverse ssh tunneling (though you’d want to wrap that in a script to bring the connection back up if it goes down).

Doing these mean you’re not taking an additional hop through the resin.io infrasturcture, which could speed things up quite a bit depending on where in the world you and your device are.


Connecting a self-hosted VPN
#4

Ah, this would be very cool to package up as some example projects. :slight_smile:


#5

Hah, hint taken. Maybe I can make this a Hack Friday. :slight_smile:


#6

ngrok has a solution for this called “ngrok link” which is tailored for IoT devices an a different kind of connection where a single device might have multiple connections at a time

@mccollam Thanks for letting me know this -> The point about the VPN is quite interesting


#7

I see, that looks interesting, cheers! Here’s a direct link to it, just in case: https://ngrok.com/product/ngrok-link


#8

Here’s a “speed-test” of Resins Public-URL vs. NGROK Tunneling - just in case:


#9

Actually I had a break between meetings and needed something to clear my head a bit, so I knocked together a very simple example of ssh tunneling: https://github.com/resin-io-playground/simple-ssh-tunnel/

I haven’t tested it extensively but it Works For Me™ with the Raspberry Pi 3 sitting next to me on my desk.

(Please note that as I call out in the README, this is an example and not something that should be run in production! There’s no real error checking and while I tried to be reasonable in my approach to security, it could be way more locked down.)


#10

Hey @simonkemper,

We have performed a few VPN infrastructure updates recently which should reduce the latency in Device URLS as well as improve SSH speed through the Web terminal and resin ssh.

Please let us know if you see any noticeable improvements from your side.

Best, Kostas