RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 615152 - rhel 6 performance worse than rhel5.6 when committing 1G changes recorded in snapshot in its base image.
Summary: rhel 6 performance worse than rhel5.6 when committing 1G changes recorded in...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.0
Hardware: All
OS: Linux
high
medium
Target Milestone: rc
: ---
Assignee: Kevin Wolf
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 616743 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-16 03:07 UTC by Quan Wenli
Modified: 2013-01-09 22:52 UTC (History)
9 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.98.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-07-29 03:17:53 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Quan Wenli 2010-07-16 03:07:48 UTC
Description of problem:

rhel 6 performance worse than rhel5.5 when committing 1G changes recorded in  snapshot in its base image.
The default cluster_size is 64k.

Version-Release number of selected component (if applicable):
rhel5.5.z:
kvm-tools-83-189.el5
kernel-2.6.18-203.el5.jcwt2

rhel6.1:
qemu-img-0.12.1.2-2.91.el6.x86_64
kernel-2.6.32-44.el6.x86_64

How reproducible:
always 

Steps to Reproduce:

1.# qemu-img create -f qcow2 1G 1G
Formatting '1G', fmt=qcow2, size=1048576 kB
2.# qemu-img info 1G
image: 1G
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 144K
cluster_size: 65536
3.# /usr/bin/qemu-img create -F qcow2 -f qcow2 -b 1G 1G-snp1
Formatting '1G-snp1', fmt=qcow2, backing_file=1G, backing_fmt=qcow2, size=1048576 kB
4.# qemu-img info 1G-snp1 
image: 1G-snp1
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 144K
cluster_size: 65536
backing file: 1G (actual path: 1G)
5.# qemu-io  1G-snp1 
qemu-io> write 0 1G -P 1
wrote 1073741824/1073741824 bytes at offset 0
1 GiB, 1 ops; 0:00:14.00 (70.894 MiB/sec and 0.0692 ops/sec)
qemu-io> q
6.# qemu-img info 1G-snp1 
image: 1G-snp1
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 1.0G
cluster_size: 65536
backing file: 1G (actual path: 1G)
7.# echo 3 >/proc/sys/vm/drop_caches 
8.# time qemu-img commit -f qcow2 1G-snp1 

Actual results:
rhel5.5.z:
# time qemu-img commit -f qcow2 1G-snp1 
Image committed.

real	1m34.717s
user	0m1.916s
sys	0m26.510s

rhel6:
# time qemu-img commit -f qcow2 1G-snp1 
Image committed.

real	20m27.317s
user	0m25.410s
sys	0m55.238s


Expected results:


Additional info:

Comment 2 RHEL Program Management 2010-07-16 03:37:46 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 3 Quan Wenli 2010-07-16 06:23:56 UTC
For committing performance ,do another comparison by using the same steps in "Steps to Reproduce:"



---------------------------------------------------------------------------
cluster_size   qemu-kvm-0.12.1.2-2.91.el6     qemu-kvm-0.12.1.2-2.9.el6
---------------------------------------------------------------------------
32K              34m3.475s                     1m46.613s
64K              17m42.336s                    1m43.910s
128K             10m37.084s                    1m46.713s
256K             6m33.872s                     1m44.113s
512K             4m52.551s                     1m43.667s
1024K            3m51.254s                     1m49.479s
2048K            3m26.996s                     1m49.146s
---------------------------------------------------------------------------

Comment 4 Kevin Wolf 2010-07-16 11:32:55 UTC
Ok, so this seems to be a case where we pay for the metadata flushes... (Tested it with 64M of data and it made the difference between 14s and 19s.) We can't revert that as it's needed for data safety.

However, bdrv_commit works sector by sector which is pretty horrible in terms of performance. I guess we can improve a lot here without much effort, even over the old performance.

Comment 5 Dor Laor 2010-07-22 11:19:03 UTC
*** Bug 616743 has been marked as a duplicate of this bug. ***

Comment 8 Quan Wenli 2010-07-26 07:13:27 UTC
Test it in qemu-kvm-0.12.1.2-2.98.el6 by using the same steps in
"Steps to Reproduce:".

---------------------------------------------
cluster_size   qemu-kvm-0.12.1.2-2.91.el6     
---------------------------------------------
32K              0m50.228s            
64K              0m49.377s   
128K             0m48.733s
256K             0m48.896s                  
512K             0m49.526s             
1024K            0m48.480s                    
2048K            0m38.093s                  
----------------------------------------------

Comment 9 Quan Wenli 2010-07-28 07:27:18 UTC
(In reply to comment #8)
> Test it in qemu-kvm-0.12.1.2-2.98.el6 by using the same steps in
> "Steps to Reproduce:".
> 
> ---------------------------------------------
> cluster_size   qemu-kvm-0.12.1.2-2.91.el6     
> ---------------------------------------------
> 32K              0m50.228s            
> 64K              0m49.377s   
> 128K             0m48.733s
> 256K             0m48.896s                  
> 512K             0m49.526s             
> 1024K            0m48.480s                    
> 2048K            0m38.093s                  
> ----------------------------------------------    

title is wrong,should be qemu-kvm-0.12.1.2-2.98.el6  no qemu-kvm-0.12.1.2-2.91.el6

Comment 11 Quan Wenli 2010-07-29 03:17:40 UTC
reproduced it in qemu-img-0.12.1.2-2.91.el6.x86_64.
verified and passed in qemu-kvm-0.12.1.2-2.98.el6 in comment #9.
Close it .


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