Giter Site home page Giter Site logo

Comments (11)

 avatar commented on May 20, 2024 2

DigitalOcean has updated their images to include Ubuntu 18.04, which ships with kernel 4.15, so we've modified the installation script for DigitalOcean servers to enable BBR by default. Note that this doesn't affect 'advanced installation' servers yet, though we plan to do that too (with the caveat that we'll only do it if the Kernel already supports BBR, rather than attempt patching it or upgrading it).

from outline-server.

tobyxdd avatar tobyxdd commented on May 20, 2024 1

Docker containers don't have their own TCP/IP stacks. The install script has to enable BBR on the host (if it's available).

from outline-server.

fortuna avatar fortuna commented on May 20, 2024

Thanks for the suggestion.

Unfortunately the kernel of our image is 4.4, so it doesn't come with BBR

# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = cubic reno

We'll investigate how easy it is to use a different kernel. Any guidance is appreciated.

from outline-server.

fortuna avatar fortuna commented on May 20, 2024

Ok, I learned that Docker actually uses the host kernel. So there's no way in our docker image to guarantee the use of BBR.

I guess we can enhance the install script to check if BBR support is available, and enable it if so.

from outline-server.

OneHappyForever avatar OneHappyForever commented on May 20, 2024

It should work on KVM vps, like digitalocean. It will NOT work on openvz.

However, based on my personal testing, I HIGHLY recommend implementing this feature.

from outline-server.

trevj avatar trevj commented on May 20, 2024

Related performance issue:
#63

from outline-server.

jab avatar jab commented on May 20, 2024

When calling the DO API to create the host VM, could the OS be switched from Ubuntu to DO’s Debian 9 image? Looks like that comes with the 4.9 kernel by default.

from outline-server.

jab avatar jab commented on May 20, 2024

Or maybe switching to Ubuntu 18.04 LTS when it comes out later this month is the better move. That has the 4.15 kernel by default.

from outline-server.

fortuna avatar fortuna commented on May 20, 2024

Those are good ideas. However they don't come with Docker pre-installed, and installing it significantly increased the server creation time the last time we tried.

Ideally DO would update the docker image to have the latest kernel

from outline-server.

jab avatar jab commented on May 20, 2024

For sure. (And if we haven't already maybe let's open a DO support request for this and/or write to the DO user forums.)

In the meantime though, for affected users I can imagine it being well worth it to grab a coffee during a longer server creation step in return for actually getting a usable proxy at the end.

Another idea could be including a

[ ] Use BBR for better connectivity from China / lossy networks
    (increases setup time by 5 minutes)

checkbox, possibly buried under an "advanced" section of the UI, during server creation.

from outline-server.

 avatar commented on May 20, 2024

I get the same speed with or without BBR, but I get higher speeds with KCP. Maybe we should use kcptun instead? It doesn't require replacing the kernel too.

from outline-server.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.