Results 1 to 3 of 3

Thread: Limit disk read speed on a per-client basis

Threaded View

  1. #1
    Join Date
    Dec 2012
    Posts
    26

    Default Limit disk read speed on a per-client basis

    Although Amanda has an overall network bandwidth throttle config option, it's quite surprising that there isn't a per-client disk read throttle setting too. In our situation, we're using the same SAN for almost all our Amanda clients. If you can't wrap your head around that, think of a setup where all clients mount unique NFS disks from the same NFS server, so there's a lot of "disk read" contention (which uses the network behind the scenes) amongst the (NFS) clients and the NFS server, particularly if multiple parallel reads are taking place.

    Hence, if we set inparallel above 1 (which we will need to because there's 20+ clients), the SAN goes berserk contending for disk reads and we start to see timeouts or very long dump times for the clients. And yet the "overall network bandwidth" is quite low between the Amanda server and all the clients combined - now can you see why an overall network throttle is of no use to us?

    What I propose is that each Amanda client is "disk read limited" - this would be a value in Kbytes/sec that no particular second could exceed. This is prior to any client-side encryption/compression - it's purely reading from whatever "disk" medium they are backing up from. Basically, it maximises the amount they can read in one file operation that can fit in one second. perhaps sleeping the rest of the second if it can be read in faster than a second. Clearly the first read would have to be at the speed limit and then future reads scaled down appropriately if needed [i.e. if the first read took more than a second] - you should always be looking at the speed/size of the previous read to adjust as it contends with more clients coming in and slowing down the speed). It does need to be a per-client basis remember - some DLEs won't be using the SAN and will need maximum read speed.

    I've just had a thought - can client-side values be set on the Amanda server and then passed through to the client? It would be much easier to set up client values that I propose on the central server than having to change each value on the client (and then subsequently forget which client has which values).
    Last edited by rkl; December 18th, 2012 at 04:56 AM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •