qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH] qemu-options: explain disk I/O throttling optio


From: Alberto Garcia
Subject: Re: [Qemu-block] [PATCH] qemu-options: explain disk I/O throttling options
Date: Tue, 21 Feb 2017 11:58:00 +0100
User-agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu)

On Mon 20 Feb 2017 05:52:04 PM CET, Stefan Hajnoczi wrote:
> The disk I/O throttling options have been listed for a long time but
> never explained on the QEMU man page.

> address@hidden address@hidden,address@hidden,address@hidden
> +Specify bandwidth throttling limits in bytes per second, either for all 
> request
> +types or for reads or writes only.

Perhaps for the manual page it makes sense to use them, but bps, bps_rd,
etc. are the legacy names for those options. They're internally renamed
to throttling.bps-total, throttling.bps-read, ...

> Values must be larger than the maximum
> +request size to avoid timeouts or hangs in the guest.  At minimum use 2 MB/s
> +for disks.

Is this so? throttle_compute_wait() does not use the request size at
all. The size is used to do the accounting afterwards. In other words:
requests are not throttled if they exceed the limit, they are throttled
after the limit has been exceeded by previous requests.

A low limit will certainly slow down the guest and can cause
timeouts, but I don't know if being larger or smaller than the maximum
request size is what makes the difference.

> address@hidden address@hidden,address@hidden,address@hidden
> +Specify bursts in bytes per second, either for all request types or for reads
> +or writes only.  Bursts allow the guest I/O to spike above the limit
> +temporarily.  The default burst value is 1/10th of the limit.

"The default burst value is 1/10th of the limit" is an implementation
detail that the user doesn't need to know about. What it means is that a
bps limit of 10 MB/s is implemented internally as 1MB per 100ms.

I would leave that out, it doesn't even make sense that the burst limit
is lower than the normal limit, we actually forbid that (aaa1e77ffae52).

> address@hidden address@hidden,address@hidden,address@hidden
> +Specify request rate limits in requests per second, either for all request
> +types or for reads or writes only.

> address@hidden address@hidden,address@hidden,address@hidden

You meant iops_max, iops_rd_max and iops_wr_max here?

Berto



reply via email to

[Prev in Thread] Current Thread [Next in Thread]