Performance compared to Bungee

Hello, I’m a bit interested in what Velocity offers. I noticed this claim “High performance: handle thousands of players on one proxy.” in the Github and was wondering how accurate that is?

We’re splitting our network load between 3 Bungees on 3 different OVH server boxes, with each Bungee taking up around 450-500% cpu. However, we start throttling around 800 players.

Can anyone provide some results with their current setup, how many players they’re able to put under one Velocity proxy, and the cpu usage for the Velocity proxy server?

Thanks!

1 Like

well I use an Asus Desktop on Windows 10 pro with 8Gb of ram and for 500 players it is 10-20% cpu usage, I am also running Java 13 for better performance so I believe velocity is what your looking for.
I would rate Velocity 8 out of 10

Could you provide a few more details about your setup? Are you talking about 800 players spread over 3 proxies (in other words, ~266 players per proxy) or 800 players per proxy (a network-wide total of 2,400)? What kind of CPU are we looking at for the proxy?

In general, since Velocity uses a completely different internal architecture, you should see better performance with Velocity compared to BungeeCord, but everything is highly dependent on your use case, hardware, plugins, etc. - so there is no “one-size-fits-all” advice.

266 players per proxy. The CPUs on the boxes are the GAME-64-OC Server - Intel i7-7700K OC from OVH.

In general, for proxies all that matters is cores and network bandwidth. Velocity can use all your CPU cores and pushes a lot of traffic.

The primary CPU cost of the proxy is roughly split between Velocity-side processing (such as compressing/encrypting packets and running plugin tasks) and the operating system kernel (for I/O). Expenses in one side affect the other as well, since they compete for the same CPU resources.

Onto your setup: With the i7-7700K you’re getting 4 cores, which is respectable but not ideal. An optimized proxy setup aimed at hundreds of players online would focus on CPU cores, even if they are relatively slow (8 2.3GHz cores are better than 4 4GHz cores). Nonetheless, the i7-7700K should still provide good performance, but it is less ideal, so be careful.

Seeing 266 players per proxy bogging you down on BungeeCord is pretty bad. Velocity should be able to manage more than that (even in a relatively low-power cloud environment like my network is on, we’ve pushed 300 players on a single proxy with room to spare). Unfortunately, again, I am unable to provide hard numbers since everyone has a different setup, but your 3 boxes should be able to handle Velocity with 266 players just fine. If not, I’m very interested in fixing the problem.

Thanks for the answers, appreciate it! One last question, are multi-“velocity” (Bungee) setups possible? We’re using RedisBungee to split the load between the three servers.

As far as I know, no such plugin exists for that, but it would probably be trivial to make one. I know this because I made RedisBungee originally.

That being said, we are fine with multi-proxy setups!

1 Like