Hi,

I have a problem getting the performance up when writing to an external 
harddisk, connected via usb 2.0.

It shows when doing:
i)   cp file_from_local_sata_hdd to_usb_hdd_formatted_with_ext3fs_or_reiserfs
ii)  tar -xf file_from_local_sata_hdd 
-C/directory_on_usb_hdd_formatted_with_ext3fs_or_reiserfs
iii) dd if=file_from_local_sata_hdd 
of=to_usb_hdd_formatted_with_ext3fs_or_reiserfs
iv)  all other stuff that incorporates writing to the disk, like creating 
encfs-files on it or
trying to setup an encrypted loop device with yast on it.

It shows on both opensuse 10.1 and 10.2, on a dual core centrino notebook 
(lenovo x60s) as well as
on a dual core pentium desktop. No patched or self-built kernel or -modules are 
installed, all is
pretty and default exept that all the latest packages from guru and packman are 
installed via smart.

Performance figures look like this:

CASE 1, writing onto the local sata disk:
> dd if=/dev/zero of=tmp.txt count=1000
1000+0 records in
1000+0 records out
512000 bytes (512 kB) copied, 0.012393 seconds, 41.3 MB/s
>

CASE 2, "default" writing to the usb hdd, one can replace dd with cp or tar at 
will, the figures
stay the same:
> dd if=/dev/zero of=/media/usbdisk/tmp/tmp.txt count=1000
1000+0 records in
1000+0 records out
512000 bytes (512 kB) copied, 3.26417 seconds, 157 kB/s
>

CASE 3, notice the increased bs:
> dd if=/dev/zero of=/media/usbdisk/tmp/tmp.txt count=4 bs=128K
4+0 records in
4+0 records out
524288 bytes (524 kB) copied, 0.033982 seconds, 15.4 MB/s
>

CASE 3 is what i would be expecting and what also what I get when writing to a 
fat32-partition on
the external usb hdd. This also implies IMHO that there is nothing wrong with 
my usb-setup as
suggested in various other postings regarding usb-performance.

Here is an output regarding the usb-modules:

>lsmod | grep hci
ehci_hcd               34696  0
uhci_hcd               26892  0
usbcore               115024  3 usbhid,ehci_hcd,uhci_hcd
>

As suggested in
http://marc.abramowitz.info/archives/2007/02/17/getting-good-performance-out-of-usb-hard-drives-in-linux/
I also tried fiddling with the value of /sys/block/sdX/device/max_sectors but 
with no significant
success...

I have created the ext3 and reiser partitions on the usb hdd with the yast 
partitioner, basically
leaving everything at default settings.

Any hints on where else to look for the cause of this poor performance?

My workaround right now is to "copy" with:
tar -cf - file_from_local_sata_hdd | tar -xf - -b2000 
-C/directory_on_usb_hdd_ext3fs_or_reiserfs

I am using -b2000 hereby to be able to do larger blocksized writes.

Regards,

Franz.



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to