[Libtorrent-devel] performance

Jerker Nyberg jerker at Update.UU.SE
Fri May 9 07:07:18 UTC 2008


Thanks for your reply.

As far as I can tell, random reads of size 262144 bytes should get over 15 
MByte/s throughput on this drive.

The performance I get from rtorrent is only slightly better than with no 
read ahead - random reads or size 16384 bytes. (Isn't that the common 
slice size?)

I am using rtorrent-0.8.0. I cannot change the chunk size since I have not 
created the torrents.

count 1157 size 8192 runtime 10 throughput 947814
count 1046 size 16384 runtime 10 throughput 1713766
count 973 size 32768 runtime 10 throughput 3188326
count 877 size 65536 runtime 10 throughput 5747507
count 761 size 131072 runtime 10 throughput 9974579
count 594 size 262144 runtime 10 throughput 15571353
count 509 size 524288 runtime 10 throughput 26686259
count 378 size 1048576 runtime 10 throughput 39636172
count 246 size 2097152 runtime 10 throughput 51589939
count 143 size 4194304 runtime 10 throughput 59978547

The figures are from this script in bash evolved from a one-liner. :-) The 
random access does not wrap the size of the drive anyway.

#!/bin/bash
RUNTIME=10
for BL in `seq 1 22` ; do
     SIZE=$(echo 2^$BL|bc)
     COUNT=0
     STOP=$(echo $(date +%s) + $RUNTIME | bc)
     while test "`date +%s`" -lt "$STOP" ; do
         dd if=/dev/hda of=/dev/null skip=$RANDOM bs=$SIZE count=1 &>/dev/null
     let COUNT=$COUNT+1
     done
     echo count $COUNT size $SIZE runtime $RUNTIME \
         throughput $(echo $SIZE*$COUNT/$RUNTIME|bc)
done

Regards,
Jerker Nyberg.


On Thu, 8 May 2008, In Incognito wrote:

> Try chunk size of 2097152. Anything less will drag bt real slow.
>
> On Thu, May 8, 2008 at 6:34 PM, Jerker Nyberg <jerker at update.uu.se> wrote:
>
>>
>> Hello,
>>
>> What do I tweek to get the best seeding performance out of rtorrent? I have
>> 1 Gbit/s bandwidth to play with, six machines with 2 drives and 2 GByte RAM
>> each. I copied the data (100 GB) to all 12 drives and got around 300 Mbit/s
>> total upload bandwidth. I used a rtorrent process for each drive. (I seeded
>> some free OSes.)
>>
>> It seems like the drives are busy seeking. The bandwidth for each drive is
>> only 3 MByte/s... How can I improve this? Any knobs to turn?
>>
>> I would like rtorrent to really read every chunk into the disk cache the
>> first time it is accessed. I know rtorrent is using mmap'ed read ahead using
>> madvise. Shouldn't a whole chunk be read into RAM the first time it is
>> accessed? Or is this what is done? Are the chunks not big enough? Chunk
>> sizes are 262144, 524288 or 1048576 bytes. Any other ideas?
>>
>> Regards,
>> Jerker Nyberg.
>>
>>
>>
>> _______________________________________________
>> Libtorrent-devel mailing list
>> Libtorrent-devel at rakshasa.no
>> http://rakshasa.no/mailman/listinfo/libtorrent-devel
>>
>


More information about the Libtorrent-devel mailing list