Lines Matching +full:full +full:- +full:length

7 later. See the COPYING file in the top-level directory.
10 ------------
21 ----------------------------------
27 I/O limits can be set using the throttling.* parameters of -drive, or
31 |-----------------------+-----------------------|
32 | -drive | block_set_io_throttle |
33 |-----------------------+-----------------------|
34 | throttling.iops-total | iops |
35 | throttling.iops-read | iops_rd |
36 | throttling.iops-write | iops_wr |
37 | throttling.bps-total | bps |
38 | throttling.bps-read | bps_rd |
39 | throttling.bps-write | bps_wr |
40 |-----------------------+-----------------------|
44 write limits or not, but note that if iops-total is set then neither
45 iops-read nor iops-write can be set. The same applies to bps-total and
46 bps-read/write.
51 of 100 IOPS with the following -drive line:
53 -drive file=hd0.qcow2,throttling.iops-total=100
72 ----------
80 Two parameters control bursts: their length and the maximum amount of
83 this section we'll use 'iops-total' as an example.
85 The I/O limit during bursts is set using 'iops-total-max', and the
86 maximum length (in seconds) is set with 'iops-total-max-length'. So if
91 -drive file=hd0.qcow2,
92 throttling.iops-total=100,
93 throttling.iops-total-max=2000,
94 throttling.iops-total-max-length=60
118 The default value for 'iops-total-max' is 0 and it means that bursts
119 are not allowed. 'iops-total-max-length' can only be set if
120 'iops-total-max' is set as well, and its default value is 1 second.
124 |----------------------------------+-----------------------|
125 | -drive | block_set_io_throttle |
126 |----------------------------------+-----------------------|
127 | throttling.iops-total-max | iops_max |
128 | throttling.iops-total-max-length | iops_max_length |
129 | throttling.iops-read-max | iops_rd_max |
130 | throttling.iops-read-max-length | iops_rd_max_length |
131 | throttling.iops-write-max | iops_wr_max |
132 | throttling.iops-write-max-length | iops_wr_max_length |
133 | throttling.bps-total-max | bps_max |
134 | throttling.bps-total-max-length | bps_max_length |
135 | throttling.bps-read-max | bps_rd_max |
136 | throttling.bps-read-max-length | bps_rd_max_length |
137 | throttling.bps-write-max | bps_wr_max |
138 | throttling.bps-write-max-length | bps_wr_max_length |
139 |----------------------------------+-----------------------|
143 --------------------------------------
149 QEMU provides a setting called throttling.iops-size to prevent this
154 For example, if iops-size is set to 4096 then an 8KB request will be
156 half. This only applies to requests larger than iops-size: smaller
159 The default value of iops-size is 0 and it means that the size of the
164 --------------------------------------
171 not specified, then the device name (i.e. 'virtio0', 'ide0-hd0') will
179 -drive file=hd1.qcow2,throttling.iops-total=6000,throttling.group=foo
180 -drive file=hd2.qcow2,throttling.iops-total=6000,throttling.group=foo
181 -drive file=hd3.qcow2,throttling.iops-total=3000,throttling.group=bar
182 -drive file=hd4.qcow2,throttling.iops-total=6000,throttling.group=foo
183 -drive file=hd5.qcow2,throttling.iops-total=3000,throttling.group=bar
184 -drive file=hd6.qcow2,throttling.iops-total=5000
188 is left alone (technically it is part of a 1-member group).
190 Limits are applied in a round-robin fashion so if there are concurrent
198 - I/O limits are shared within the same group, so new values will
203 - If 'group' is unset it is assumed to be the current group of that
207 - If 'group' is set then the drive will be moved to that group if
212 - I/O limits can be disabled by setting all of them to 0. In this
219 --------------------------
226 full.
231 iops-total=100
232 iops-total-max=2000
233 iops-total-max-length=60
235 - Water leaks from the bucket at a rate of 100 IOPS.
236 - Water can be added to the bucket at a rate of 2000 IOPS.
237 - The size of the bucket is 2000 x 60 = 120000
238 - If 'iops-total-max-length' is unset then it defaults to 1 and the
240 - If 'iops-total-max' is unset then 'iops-total-max-length' must be
244 full at a rate of 2000 IOPS (the burst rate). Once the bucket is full
259 ---------------------------
270 A group can be created using the object-add QMP function:
272 { "execute": "object-add",
274 "qom-type": "throttle-group",
277 "iops-total": 1000,
278 "bps-write": 2097152
283 throttle-group has a 'limits' property (of type ThrottleLimits as
284 defined in qapi/block-core.json) which can be set on creation or later
285 with 'qom-set'.
287 A throttle-group can also be created with the -object command line
292 -object throttle-group,id=group0,x-iops-total=1000,x-bps-write=2097152
294 Note however that this is not a stable API (hence the 'x-' prefixes) and
295 will disappear when -object gains support for structured options and
298 Once we have a throttle-group we can use the throttle block filter,
302 { "execute": "blockdev-add",
306 "node-name": "disk0",
315 { "execute": "blockdev-add",
318 "node-name": "throttle0",
319 "throttle-group": "group0",
326 -drive driver=throttle,throttle-group=group0,
338 -object throttle-group,id=limits0,x-iops-total=2000
339 -object throttle-group,id=limits1,x-iops-total=2500
340 -object throttle-group,id=limits2,x-iops-total=3000
341 -object throttle-group,id=limits012,x-iops-total=4000
347 -drive driver=throttle,throttle-group=limits012,
348 file.driver=throttle,file.throttle-group=limits0
350 -drive driver=throttle,throttle-group=limits012,
351 file.driver=throttle,file.throttle-group=limits1
353 -drive driver=throttle,throttle-group=limits012,
354 file.driver=throttle,file.throttle-group=limits2