Bad performance when accessing downloaded files (Linux)

Ask for help and report issues not specific to either the Mac OS X or GTK+ versions of Transmission
Post Reply
levi_pl
Posts: 1
Joined: Mon Jan 25, 2010 6:21 pm

Bad performance when accessing downloaded files (Linux)

Post by levi_pl »

Hello,

This is not transmission issue, but I think it is still it is worth mentioning here.

Environment:
- Debian unstable/experimental
- Transmission 1.76 (9395) (transmission-daemon)
- XFS filesystem on lvm
- "preallocation" : 1

Problem:
Systems shows terrible I/O performance when accessing downloaded files. I do not know if transmission was compiled with XFS support because it comes from Debian binary package. ldd shows that it's not because it is not linked against any xfs library (Am I right here ?)

ldd `which transmission-daemon`
linux-gate.so.1 => (0xb7820000)
libevent-1.4.so.2 => /usr/lib/libevent-1.4.so.2 (0xb7800000)
libcurl-gnutls.so.4 => /usr/lib/libcurl-gnutls.so.4 (0xb77c1000)
libz.so.1 => /usr/lib/libz.so.1 (0xb77ac000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb764e000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7636000)
libc.so.6 => /lib/libc.so.6 (0xb74ef000)
libnsl.so.1 => /lib/libnsl.so.1 (0xb74d8000)
librt.so.1 => /lib/librt.so.1 (0xb74cf000)
libresolv.so.2 => /lib/libresolv.so.2 (0xb74b9000)
libidn.so.11 => /usr/lib/libidn.so.11 (0xb7488000)
liblber-2.4.so.2 => /usr/lib/liblber-2.4.so.2 (0xb747b000)
libldap_r-2.4.so.2 => /usr/lib/libldap_r-2.4.so.2 (0xb7437000)
libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb7409000)
libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0xb736b000)
libgcrypt.so.11 => /usr/lib/libgcrypt.so.11 (0xb72f7000)
libdl.so.2 => /lib/libdl.so.2 (0xb72f3000)
/lib/ld-linux.so.2 (0xb7821000)
libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0xb72dc000)
libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb722a000)
libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb7206000)
libcom_err.so.2 => /lib/libcom_err.so.2 (0xb7203000)
libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb71fc000)
libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb71f9000)
libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0xb71e9000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0xb71e4000)

Unlink syscall for ~4GB file lasts for couple of minutes ...

Code: Select all

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sdc               0,00     0,00    1,00  246,00     4,00  2624,00    21,28     0,97    3,94   3,92  96,80
This is iostat output while removing file. Almost nothing else happens on this drive except unlink syscall on file downloaded using transmission. Notice large amount of I/O operations.

Roughly the same happens when reading or copying the file. Copy from the same filesystem behaves normally i.e. 20x transfer speed and 1/20 of I/O operations.

Ideas:
- changing preallocation to 2 (not optimal)
- upgrading transmission to newer version (was this issue spotted before) ?
- make sure that transmission is build with XFS support
- talk to debian package maintainer


What do you think ?
Post Reply