Hi! Am Donnerstag, 19. Juli 2012 schrieb Bernhard Redl: > On 07/19/2012 03:42 AM, Shavi N wrote: > > Hi, > > > > I have btrfs volume, shared via samba. I have a directory of > > documents that I want to backup on my server. win7 reports a > > maximum of ~3.10MB/s transfer transferring the same directory on a > > ext4 samba share I get 25MB/s + > > > > Any ideas? Is it like that because of how btrfs works and is > > setup? > > > > Thanks, -- To unsubscribe from this list: send the line > > "unsubscribe linux-btrfs" in the body of a message to > > majord...@vger.kernel.org More majordomo info at > > http://vger.kernel.org/majordomo-info.html > > Did you try creating an huge file directly on your linux host > with > > dd if=/dev/zero of=/mnt/<YOURPATH>/file bs=1M count=1400 > > dd will report the speed afterwards. > You can also try copying the documents from ext4 to a ramfs and then > copy them from the ramfs to btrfs.
Depending on Samba/CIFS guarantees like "I have really written your file to disk" I tend to use at least conv=fsync with dd in order to get any realistic value of it. Cause even an Intel SSD 320 isn´t that fast: merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=500 ; rm nullen 500+0 records in 500+0 records out 524288000 bytes (524 MB) copied, 0.222668 s, 2.4 GB/s merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=500 ; rm nullen 500+0 records in 500+0 records out 524288000 bytes (524 MB) copied, 0.255779 s, 2.0 GB/s merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=500 ; rm nullen 500+0 records in 500+0 records out 524288000 bytes (524 MB) copied, 0.360679 s, 1.5 GB/s merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=500 ; rm nullen 500+0 records in 500+0 records out 524288000 bytes (524 MB) copied, 0.289096 s, 1.8 GB/s (due to the rm directly afterwards, the pagecache and the delayed allocation feature in modern filesystems most of that data did not hit the device at all. Nicely viewable in atop as WRDSK_CANCEL ;) So dd often is not a disk but a memory benchmark. I just wanted to spread this knowledge once again, cause I see it again and again that people try to measure disk or filesystem speed with dd when they in reality measure mem speed. And just to circumvent any with 1.4 GiB that would not have happened argument: merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 1.34418 s, 1.1 GB/s merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 1.27035 s, 1.2 GB/s merkaba:~> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 1.43545 s, 1.0 GB/s Nonetheless be gentle: merkaba:~> fstrim -v / /: 8204824576 bytes were trimmed merkaba:~> free -m total used free shared buffers cached Mem: 7767 3849 3918 0 181 809 -/+ buffers/cache: 2859 4908 Swap: 12287 7 12280 merkaba:~> uname -a Linux merkaba 3.5.0-rc7-tp520-toi-3.3-timekeeping+ #2 SMP PREEMPT Mon Jul 16 19:08:43 CEST 2012 x86_64 GNU/Linux As to my knowledge the Intel SSD 320 does not have internal compression, but BTRFS even was mounted with compress=lzo here. So zeros are bogus in that test case anyway – since I do not know any compressing harddisks they may just be a valid test case with a Samba fileserver. With Ext4 without compression its slower: merkaba:/home> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 4.25201 s, 345 MB/s merkaba:/home> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 4.22669 s, 347 MB/s But thats still more than the SATA-300 bus can yield: merkaba:/home> LANG=C dd if=/dev/zero of=nullen bs=1M count=1400 conv=fsync ; rm nullen 1400+0 records in 1400+0 records out 1468006400 bytes (1.5 GB) copied, 6.74884 s, 218 MB/s Also note: dd is mixing up MiB and MB. Output used 1000 and input it 1024 as base. So enough of that now. fstrimming again. Ciao, -- Martin 'Helios' Steigerwald - http://www.Lichtvoll.de GPG: 03B0 0D6C 0040 0710 4AFA B82F 991B EAAC A599 84C7 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html