ZFS Recordsize tuning & transmission (bittorent daemon)
Arnaud Houdelette
tzim at tzim.net
Wed May 19 09:23:48 UTC 2010
On 19/05/2010 10:46, Matthias Gamsjager wrote:
>> ZFS recordsize on both pools are default (128k). But as transmission
>> bittorrent client has no write (nor read) cache, it could mean that data is
>> written is smaller chunks during download. Could this lead to data being
>> stored in many not-full records ? Does those unfull records would have to be
>> read as whole (128k) during the move, which would explain the above
>> difference on read/write ?
>>
>> I'm just making assumptions here, as my understanding of internals of ZFS is
>> limited. Some insights would be appreciated.
>>
>>
> Well ZFS does not write immediately but waits couple of seconds and
> write them in 1 single write operation.
>
That I understand. But bittorrent writes are really random... I'm unsure
that ZFS is able to aggregates the writes.
> could you give more info about what freebsd version do you use,
> hardware used, zfs parameters in /boot/loader.conf and zfs info like
> compression etc...
>
uname -a
FreeBSD carenath.tzim.net 8.0-STABLE FreeBSD 8.0-STABLE #0: Tue May 11
18:29:26 CEST 2010
tzim at carenath.tzim.net:/usr/obj/usr/src/sys/CARENATH amd64
Hardware :
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: AMD Athlon(tm) 64 Processor 3200+ (1995.24-MHz K8-class CPU)
Origin = "AuthenticAMD" Id = 0x40ff2 Family = f Model = 4f
Stepping = 2
Features=0x78bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2>
Features2=0x2001<SSE3,CX16>
AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x1d<LAHF,SVM,ExtAPIC,CR8>
real memory = 1610612736 (1536 MB)
avail memory = 1508560896 (1438 MB)
- For unsafe:
atapci0: <ATI IXP600 UDMA33 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xff00-0xff0f at device 20.1 on pci0
ad0: 152627MB <SAMSUNG HM160HC LQ100-10> at ata0-master UDMA33
- For tank
ahci0: <ATI IXP600 AHCI SATA controller> port
0xb000-0xb007,0xa000-0xa003,0x9000-0x9007,0x8000-0x8003,0x7000-0x700f
mem 0xfe7ff800-0xfe7ffbff irq 22 at device 18.0 on pci0
ada0: <SAMSUNG HD753LJ 1AA01110> ATA-7 SATA 2.x device
ada1: <SAMSUNG HD753LJ 1AA01110> ATA-7 SATA 2.x device
ada2: <SAMSUNG HD753LJ 1AA01110> ATA-7 SATA 2.x device
ada3: <SAMSUNG HD753LJ 1AA01110> ATA-7 SATA 2.x device
zfs get all unsafe/dl
NAME PROPERTY VALUE SOURCE
unsafe/dl type filesystem -
unsafe/dl creation Thu Nov 26 10:25 2009 -
unsafe/dl used 26.2G -
unsafe/dl available 106G -
unsafe/dl referenced 12.6G -
unsafe/dl compressratio 1.00x -
unsafe/dl mounted yes -
unsafe/dl quota none default
unsafe/dl reservation 1G local
unsafe/dl recordsize 128K default
unsafe/dl mountpoint /store/dl local
unsafe/dl sharenfs off default
unsafe/dl checksum on default
unsafe/dl compression off default
unsafe/dl atime off local
unsafe/dl devices on default
unsafe/dl exec on default
unsafe/dl setuid on default
unsafe/dl readonly off default
unsafe/dl jailed off default
unsafe/dl snapdir hidden default
unsafe/dl aclmode groupmask default
unsafe/dl aclinherit restricted default
unsafe/dl canmount on default
unsafe/dl shareiscsi off default
unsafe/dl xattr off temporary
unsafe/dl copies 1 default
unsafe/dl version 3 -
unsafe/dl utf8only off -
unsafe/dl normalization none -
unsafe/dl casesensitivity sensitive -
unsafe/dl vscan off default
unsafe/dl nbmand off default
unsafe/dl sharesmb off default
unsafe/dl refquota none default
unsafe/dl refreservation none default
unsafe/dl primarycache all default
unsafe/dl secondarycache all default
unsafe/dl usedbysnapshots 13.6G -
unsafe/dl usedbydataset 12.6G -
unsafe/dl usedbychildren 0 -
unsafe/dl usedbyrefreservation 0 -
cat /boot/loader.conf
ahci_load="YES"
zfs_load="YES"
vfs.root.mountfrom="zfs:unsafe/root"
#vm.kmem_size="512M"
vm.kmem_size_max="512M"
vfs.zfs.arc_max="150M"
vfs.zfs.arc_min="64M"
vfs.zfs.vdev.cache.size="10M"
vfs.zfs.prefetch_disable="0"
Bad performance IS expected on this hardware. This is a home NAS, and
the "unsafe" pool is on a laptop 2.5" IDE drive.
Still, bad performance would'nt explain the discrepancies between read
and write stats (both in zpool io stat and gstat).
> did you test your pool with Iozone to see if it performance as it should?
>
>
I did not. I just installed the port. What test should I run to get
relevant data ?
Thanks.
More information about the freebsd-fs
mailing list