From: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
To: Daire Byrne <daire@dneg.com>
Cc: Trond Myklebust <trondmy@hammerspace.com>,
linux-nfs <linux-nfs@vger.kernel.org>
Subject: Re: Per user rate limiter
Date: Tue, 5 Jul 2022 10:50:16 +0200 (CEST) [thread overview]
Message-ID: <1803700180.2293937.1657011016730.JavaMail.zimbra@desy.de> (raw)
In-Reply-To: <CAPt2mGO3HsM6ixecvNioZ=jNCNBZ-DuPWmq+LzEnzJdR3McC9A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1821 bytes --]
Hi Daire, hi Trond,
We will try to apply your suggestions.
Thanks for the help,
Tigran.
----- Original Message -----
> From: "Daire Byrne" <daire@dneg.com>
> To: "Trond Myklebust" <trondmy@hammerspace.com>
> Cc: "Tigran Mkrtchyan" <tigran.mkrtchyan@desy.de>, "linux-nfs" <linux-nfs@vger.kernel.org>
> Sent: Friday, 1 July, 2022 23:51:51
> Subject: Re: Per user rate limiter
> On Fri, 1 Jul 2022 at 19:23, Trond Myklebust <trondmy@hammerspace.com> wrote:
>> 2) Define QoS policies for the connections using the kernel Traffic
>
> If it helps, we use HTB qdisc/classes on our Linux NFS servers to
> optionally limit the total egress and ingress (ifb) bandwidth to/from
> our renderfarm.
>
> User workstations are exempt from these limits so always get full speed.
>
> We can do this fairly easily because our network is well defined and
> split into subnet ranges so filtering by these allows us to
> differentiate between host classes (farm/workstations etc).
>
> Strictly speaking, it's a bit more complicated in that we only apply
> limits and change them dynamically based on the "load" of the server
> and how well it is keeping up with demand. This is just a bash script
> running in a loop looking at the state, scaling the HTB limits and
> applying filters.
>
> Our goal is to always ensure that taff have a good experience on their
> interactive desktops and we'll happily slow batch farm jobs to keep it
> that way.
>
> It is basically a low-pass filter that limits server load spikes.
>
> To do something similar by user or process, you could run your jobs in
> a cgroup and have it mark the packets that the server could then use
> to filter. But I think this only works for the client writes to the
> server as you have no way to mark and act on the egress packets out of
> the server?
>
> Daire
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 2208 bytes --]
prev parent reply other threads:[~2022-07-05 8:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-01 17:58 Per user rate limiter Mkrtchyan, Tigran
2022-07-01 18:22 ` Trond Myklebust
2022-07-01 21:51 ` Daire Byrne
2022-07-05 8:50 ` Mkrtchyan, Tigran [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1803700180.2293937.1657011016730.JavaMail.zimbra@desy.de \
--to=tigran.mkrtchyan@desy.de \
--cc=daire@dneg.com \
--cc=linux-nfs@vger.kernel.org \
--cc=trondmy@hammerspace.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox