Slow Internet speed through tailscale exit node in Oracle Cloud

Hi Guys

I have a ~ 250/25 mb home connection and an Oracle Cloud always free VM with a ~ 480/480 mb connection that I use as a tailscale exit node. The problem is that my speed through the cloud connection is much slower than I think it should be.

Here’s a demonstration.

The difference isn’t only apparent in speed tests. It presents in real-world usage as well.

What am I missing? Is there any optimization or tweak I can apply?


I’m using just straight WireGuard, but wasn’t able to get much above 50Mbit forwarding either using the VM.Standard.E2.1.Micro (x86) shape. Try spinning up an ARM based Ampere instance. With just 1vCPU I get over 500Mbit forwarding without pegging the CPU.

Great idea.

I noticed the Ampere shape config is much more generous. But I went with x86 for compatibility. Since I’m allowed two instances I’ll give Ampere a shot and let you know how it goes.

On the free plan you’re actually able to run two VM.Standard.E2.1.Micro instances and divide up 4 vCPU/24GB RAM for Ampere however you see fit… with the 200GB storage allowance being what limits you to 4 total VM’s (minimum size of 50GB per volume). So you could run 4 Ampere VM’s configured with 1vCPU/6GB RAM/50GB each. Or make a 3vCPU/23GB/150GB Nextcloud server to go along with your 1vCPU/1GB/50GB VPN.

I notice though that CPU time and network throughput aren’t unlimited for the Ampere instances. This doesn’t quite suit my purposes. I need something I can set and forget that will never cost me a cent. This is just a hobby setup. I can’t justify spending money on it.

Also, I tried tailscale and though i get better speed with the Ampere instance (double what I got before actually) , it still doesn’t max out my connection. So I don’t think this is my solution yet.

Even if I were to follow your example and roll my own wireguard for possibly improved performance, the pricing is a non starter. :frowning_face:

Ampere is free as long as you stay under 4vCPU/24GB RAM total usage per month. Been using it since January without any costs.

4vCPU * 24 (hours) * 31 (days) = 2976 OCPU
24GB RAM * 24 (hours) * 31 (days) = 17856 GB hours

Edit: Try creating a 4vCPU instance if you’re looking to for maximum throughput. Although that’s probably overkill it should give your 4Gbit/4Gbit

So that’s what those numbers mean. Got you.
I didn’t take the time to understand their notation. (TL;DR)

I’ll stick with this VM then. For services that support it, it does have quite a bit more elbow room anyway.

I’ll also experiment with vanilla wireguard and see what I get out of it.

I forget the exact commands for Tailscale, but you should know that Tailscale automatically goes into relay mode (data routed across Tailscale service) if no firewall hole punching strategy worked, typically around 20-30-50Mbps for me.

edit: see tailscale status and tailscale netcheck: Tailscale CLI · Tailscale

1 Like

Yep. I checked this already. Running tailscale status shows the connection to the exit node to be direct. So it’s not using a relay.