Bug 857577 - Improved live migration statistics
Improved live migration statistics
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.0
Unspecified Unspecified
unspecified Severity unspecified
: rc
: 7.0
Assigned To: Juan Quintela
Virtualization Bugs
: FutureFeature
Depends On:
Blocks: 801536 RHEV_MigrationStats 1063486 857578 1061570
  Show dependency treegraph
 
Reported: 2012-09-14 18:39 EDT by Karen Noel
Modified: 2014-06-17 23:17 EDT (History)
8 users (show)

See Also:
Fixed In Version: QEMU 1.3
Doc Type: Release Note
Doc Text:
Improved Live Migration Statistics Information about live migration is now available to analyze and tune performance. Improved statistics include information about expected downtime, downtime or dirty pages rate.
Story Points: ---
Clone Of:
: 857578 (view as bug list)
Environment:
Last Closed: 2014-06-13 06:19:00 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Karen Noel 2012-09-14 18:39:33 EDT
Description of problem:

Information about live migration is not available to analyze performance and to tune. Additional statistics should be added.

- Total migration time
- Expected downtime
- Dirty page rate
- Additional stats requested by performance team, partners, libvirt team, etc.
Comment 1 Karen Noel 2013-01-11 07:05:03 EST
[Qemu-devel] [PULL v3 00/41] Migration cleanups, refactorings, stats, and more
http://marc.info/?l=qemu-devel&m=135049188317185&w=2

- It introduces the stats discused previously
   * expected_downtime
   * downtime
   * dirty_pages_rate
Comment 3 Qunfang Zhang 2014-01-14 00:08:25 EST
This bug could be verified on qemu-kvm-rhev-1.5.3-31.el7.x86_64.

1. Migrate guest with the default configuration:

(qemu) info migrate
capabilities: xbzrle: off x-rdma-pin-all: off auto-converge: off zero-blocks: off 
Migration status: active
total time: 17943 milliseconds
expected downtime: 30 milliseconds  ==> Default downtime is correct.
setup: 149 milliseconds
transferred ram: 579095 kbytes
throughput: 268.57 mbps    ==> Match to the default migration speed 30MBps
remaining ram: 112640 kbytes
total ram: 4325856 kbytes
duplicate: 910810 pages
skipped: 0 pages
normal: 142494 pages
normal bytes: 569976 kbytes

(qemu) info migrate
capabilities: xbzrle: off x-rdma-pin-all: off auto-converge: off zero-blocks: off 
Migration status: completed
total time: 20572 milliseconds
downtime: 209 milliseconds
setup: 149 milliseconds
transferred ram: 660591 kbytes
throughput: 268.58 mbps
remaining ram: 0 kbytes
total ram: 4325856 kbytes
duplicate: 933137 pages
skipped: 0 pages
normal: 162779 pages
normal bytes: 651116 kbytes

Above values are updated during and after migration. 

2. Set "downtime" to 1s, "migration speed" to 100MBps:

(qemu) info migrate
capabilities: xbzrle: off x-rdma-pin-all: off auto-converge: off zero-blocks: off 
Migration status: active
total time: 4634 milliseconds
expected downtime: 1000 milliseconds  ==> Correct
setup: 59 milliseconds
transferred ram: 431412 kbytes
throughput: 830.57 mbps   ==> Correct
remaining ram: 279236 kbytes
total ram: 4325856 kbytes
duplicate: 905999 pages
skipped: 0 pages
normal: 105656 pages
normal bytes: 422624 kbytes

(qemu) info migrate
capabilities: xbzrle: off x-rdma-pin-all: off auto-converge: off zero-blocks: off 
Migration status: completed
total time: 6530 milliseconds
downtime: 258 milliseconds
setup: 59 milliseconds
transferred ram: 620975 kbytes
throughput: 830.88 mbps
remaining ram: 0 kbytes
total ram: 4325856 kbytes
duplicate: 935300 pages
skipped: 0 pages
normal: 152890 pages
normal bytes: 611560 kbytes

After migration, check the above values are reasonable. 


3. Turn on "xbzrle","auto-converge", "x-rdma-pin-all".

(qemu) info migrate
capabilities: xbzrle: on x-rdma-pin-all: on auto-converge: on zero-blocks: off 
Migration status: completed
total time: 19714 milliseconds
downtime: 205 milliseconds
setup: 54 milliseconds
transferred ram: 631236 kbytes
throughput: 268.57 mbps
remaining ram: 0 kbytes
total ram: 4325856 kbytes
duplicate: 936059 pages
skipped: 0 pages
normal: 155447 pages
normal bytes: 621788 kbytes
cache size: 67108864 bytes
xbzrle transferred: 5 kbytes
xbzrle pages: 90 pages
xbzrle cache miss: 5942
xbzrle overflow : 0


4. Test with qmp:

(1) default configuration:

{"execute":"query-migrate"}
{"return": {"expected-downtime": 30, "status": "active", "setup-time": 56, "total-time": 4867, "ram": {"total": 4429676544, "remaining": 4254449664, "mbps": 268.5668, "transferred": 164508924, "duplicate": 2701, "dirty-pages-rate": 0, "skipped": 0, "normal-bytes": 164163584, "normal": 40079}}

After migration finished:
{"return": {"status": "completed", "setup-time": 56, "downtime": 215, "total-time": 23002, "ram": {"total": 4429676544, "remaining": 0, "mbps": 268.5704, "transferred": 758725202, "duplicate": 905178, "dirty-pages-rate": 0, "skipped": 0, "normal-bytes": 749113344, "normal": 182889}}}

(2) with xbzrle:

{"return": {"xbzrle-cache": {"bytes": 660, "cache-size": 67108864, "pages": 21, "overflow": 0, "cache-miss": 2992}, "status": "completed", "setup-time": 57, "downtime": 211, "total-time": 23001, "ram": {"total": 4429676544, "remaining": 0, "mbps": 268.56968, "transferred": 757441588, "duplicate": 905213, "dirty-pages-rate": 0, "skipped": 0, "normal-bytes": 747831296, "normal": 182576}}}

So, the live migration statistics are included in the current qemu-kvm, this bug is fixed.
Comment 4 Ludek Smid 2014-06-13 06:19:00 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

Note You need to log in before you can comment on or make changes to this bug.