Thread (4 messages) 4 messages, 4 authors, 2012-12-17

Re: btrfs subvolume snapshot performance problem

From: Liu Bo <hidden>
Date: 2012-12-17 03:59:31

On Sun, Dec 16, 2012 at 06:28:01PM -0500, Sylvain Alain wrote:
Hi everyone, I'm still have the problem with the snapshot command.

Here what I tested today :

read  writ|files  inodes
   0   408k| 2784   7264
   0   460k| 2784   7264
   0   496k| 2784   7264
   0   424k| 2784   7264
   0   440k| 2784   7264
   0  1280k| 2784   7264
   0   500k| 2784   7264
   0   592k| 2784   7264
   0   600k| 2784   7264
   0   568k| 2784   7264
   0   792k| 2784   7264
   0   756k| 2784   7264
   0   480k| 2784   7264
   0   592k| 2784   7264
   0   432k| 2784   7264
   0   544k| 2784   7264
   0   512k| 2784   7264
   0  2912k| 2784   7264
   0  3332k| 2784   7264
   0    40M| 2784   7264
   0    52M| 2784   7264
   0  1280k| 2784   7264
   0    69M| 2784   7264
-dsk/total- --filesystem-
 read  writ|files  inodes
   0  5584k| 2784   7264
   0   784k| 2784   7264
   0   624k| 2784   7264
   0   616k| 2784   7264
   0   744k| 2784   7264
   0   736k| 2784   7264
   0   652k| 2784   7264
   0   540k| 2784   7264
   0   752k| 2784   7264
   0   780k| 2784   7264
   0   888k| 2784   7264
   0   480k| 2784   7264
   0   504k| 2784   7264
   0   548k| 2784   7264
   0   892k| 2784   7264
   0   580k| 2784   7264
   0   576k| 2784   7264
   0   636k| 2784   7264
   0   544k| 2784   7264
   0   760k| 2784   7264
   0   752k| 2784   7264
   0   648k| 2784   7264
   0   744k| 2784   7264
-dsk/total- --filesystem-
 read  writ|files  inodes
   0   516k| 2784   7264
   0   608k| 2784   7264
   0   672k| 2784   7264
   0   524k| 2784   7264
   0   524k| 2784   7264
   0   520k| 2784   7264
   0   476k| 2784   7264
   0   520k| 2784   7264
   0   568k| 2784   7264
   0   520k| 2784   7264
   0   548k| 2784   7264
   0   616k| 2784   7264
   0   832k| 2784   7264
   0   824k| 2784   7264
   0   700k| 2784   7264
   0   864k| 2784   7264
   0  1208k| 2784   7264
   0  1064k| 2784   7264
   0   588k| 2784   7264
   0   688k| 2784   7264
   0    41M| 2784   7264
 308k   17M| 2784   7269
7488k  456k| 2784   7268
-dsk/total- --filesystem-
 read  writ|files  inodes
8192B  496k| 2784   7268 ^C

When the snapshot run, you see that the write change from K to M.

And now I have a good example for my problem :

gentootux ~ # mount /dev/sda4 -o
noatime,ssd,discard,compress=lzo,noacl,space_cache,subvolid=0
/mnt/disklayout/
gentootux ~ # cd /mnt/disklayout/
gentootux disklayout # ls
@backup  @racine
gentootux disklayout # time btrfs subvolume delete @backup
Delete subvolume '/mnt/disklayout/@backup'

real   0m0.005s
user   0m0.001s
sys   0m0.002s
gentootux disklayout # ls
@racine
gentootux disklayout # time btrfs subvolume snapshot @racine @backup
Create a snapshot of '@racine' in './@backup'

real   0m2.850s
user   0m0.000s
sys   0m0.010s
gentootux disklayout # ls
@backup  @racine
gentootux disklayout # time btrfs subvolume delete @backup
Delete subvolume '/mnt/disklayout/@backup'

real   0m0.001s
user   0m0.000s
sys   0m0.000s
Could you please add a 'sync' between them and post the output here?

Something like:

# btrfs subvolume delete @backup &&
# sync &&
# time btrfs subvolume snapshot @racine @backup

thanks,
liubo
gentootux disklayout # time btrfs subvolume snapshot @racine @backup
Create a snapshot of '@racine' in './@backup'

real   3m53.616s
user   0m0.000s
sys   0m0.299s

Instead of 3 secondes to run the snapshot, it took almost 4 minutes.

Is there any btrfs log that I could look at to detect the bottleneck ?

For the record, when this happens inside my Xfce desktop, if I try to
launch a terminal, nothing happen, it's like my PC freeze until the
snapshot is done.

Thanks !

--
Salut
alp
Sylvain
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help