pterodactyl / panel

Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
https://pterodactyl.io
Other
6.77k stars 1.72k forks source link

Firm docker I/O limiting, outside of blockio #3547

Open sapphonie opened 3 years ago

sapphonie commented 3 years ago

Is there an existing feature request for this?

Describe the feature you would like to see.

The following options exist in Docker:

--device-read-bps=""
--device-write-bps=""

Describe the solution you'd like.

Wings/Ptero should fully support hard limits on I/O usage, for sysadmins who need to limit I/O per container or per machine.

Additional context to this request.

My usage case:

I have a I/O heavy SourceMod extension (the I/O heaviness is not something that can be engineered away), and every time it makes a specific request, it starves the host of I/O by using 100% of it, stuttering other containers on the same machine. Having a setting to limit each container to % of r/w I/O usage (perhaps autocalculated by running a disk benchmark on wings installation?) or MB/s would solve this issue for me.

matthewpi commented 3 years ago

If this was to be implemented it should be handled on a per-server basis manually. We should not make something to detect disk speed, disk type, or how much I/O is available for imposing a limit like this.

sapphonie commented 3 years ago

If this was to be implemented it should be handled on a per-server basis manually. We should not make something to detect disk speed, disk type, or how much I/O is available for imposing a limit like this.

After thinking it over, yeah, a simple x KB/s per server would be ideal.

BenasPaulikas commented 2 years ago

+1 for idea