Linux NFS development
 help / color / mirror / Atom feed
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 --]

      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