LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   usb 2.0 external hdd bad performance - filesystem issue ? (http://www.linuxquestions.org/questions/linux-hardware-18/usb-2-0-external-hdd-bad-performance-filesystem-issue-322011/)

rtspitz 05-10-2005 11:28 AM

usb 2.0 external hdd bad performance - filesystem issue ?
 
hello all,

I've upgraded my old computer (duron 800 - 256MB ram) with a usb 2.0 pci card + 200GB usb drive 7200rpm with 8MB cache (canyon). I use suse 9.2 ( 2.6.8-24.14-default )



lspci-output:
-------------
-------------


mainboard:
------------

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 10) (prog-if 00 [UHCI])
Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller


usb-card:
----------

0000:00:10.0 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
0000:00:10.1 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
0000:00:10.2 USB Controller: NEC Corporation USB 2.0 (rev 04) (prog-if 20 [EHCI])



current status:

cat /proc/bus/usb/devices lists the port in question with 480Mbits and in general the disk works, but just too slow.

I've also made sure that the ehci_hcd module is loaded before uhci/ohci and grabs the right port.

for reasons of security and file permissions I'd like to run some linux filesystem on that disk and not fat32.



problem:

lack of performance.

cp a file with fat32: write: 5MB/s read: 19MB/s not super, but fast enough for backups

cp a file using ext2, ext3, reiser, jfs, xfs or whatnot: write: 0.5 to 1 MB/s read: 15MB/s



so read performance is ok, but write performace SUCKS ! copying large files is out of the question.

at first I thought it's some overhead because of the journaling that kills write performance, but ext2 is slow too.


some bonnie results as well (same partition, different filesystems, mounted sync). there is a HUGE difference in writes done with putc().


reiserfs:
---------
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13494', size: 268435456, volumes: 1
Writing with putc()...        done:    526 kB/s  40.7 %CPU
Rewriting...                  done:  7916 kB/s  17.6 %CPU
Writing intelligently...      done:  11877 kB/s  17.2 %CPU
Reading with getc()...        done:  10990 kB/s  81.9 %CPU
Reading intelligently...      done:  17637 kB/s  22.2 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
------ 1* 256  526 40.7 11877 17.2  7916 17.6 10990 81.9 17637 22.2  221.4  4.1

xfs:
----
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13643', size: 268435456, volumes: 1
Writing with putc()...        done:  1332 kB/s  15.7 %CPU
Rewriting...                  done:  8453 kB/s  17.6 %CPU
Writing intelligently...      done:  11904 kB/s  12.8 %CPU
Reading with getc()...        done:  11803 kB/s  86.0 %CPU
Reading intelligently...      done:  19991 kB/s  26.0 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
------ 1* 256  1332 15.7 11904 12.8  8453 17.6 11803 86.0 19991 26.0  220.4  3.4

ext2:
-----
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13689', size: 268435456, volumes: 1
Writing with putc()...        done:  1274 kB/s  11.1 %CPU
Rewriting...                  done:  8779 kB/s  18.4 %CPU
Writing intelligently...      done:  10105 kB/s  11.9 %CPU
Reading with getc()...        done:  9647 kB/s  70.5 %CPU
Reading intelligently...      done:  19823 kB/s  26.2 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
------ 1* 256  1274 11.1 10105 11.9  8779 18.4  9647 70.5 19823 26.2  198.6  2.8

ext3:
-----
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13750', size: 268435456, volumes: 1
Writing with putc()...        done:    569 kB/s  13.3 %CPU
Rewriting...                  done:  7747 kB/s  17.6 %CPU
Writing intelligently...      done:  9556 kB/s  15.4 %CPU
Reading with getc()...        done:  12835 kB/s  92.4 %CPU
Reading intelligently...      done:  17904 kB/s  22.5 %CPU
Seeker 2...Seeker 3...Seeker 1...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
we1d23 1* 256  569 13.3  9556 15.4  7747 17.6 12835 92.4 17904 22.5  215.4  3.2

jfs:
-----
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13707', size: 268435456, volumes: 1
Writing with putc()...        done:  1705 kB/s  15.7 %CPU
Rewriting...                  done:  8406 kB/s  15.9 %CPU
Writing intelligently...      done:  11718 kB/s  11.8 %CPU
Reading with getc()...        done:  9296 kB/s  66.9 %CPU
Reading intelligently...      done:  16804 kB/s  20.1 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
we1d23 1* 256  1705 15.7 11718 11.8  8406 15.9  9296 66.9 16804 20.1  266.8  3.4

fat32:
-----
Code:

bonnie -d /media/usb-hd1/ -s 256
Bonnie 1.4: File '/media/usb-hd1//Bonnie.13780', size: 268435456, volumes: 1
Writing with putc()...        done:  4380 kB/s  35.0 %CPU
Rewriting...                  done:  7339 kB/s  25.9 %CPU
Writing intelligently...      done:  12074 kB/s  22.9 %CPU
Reading with getc()...        done:  10607 kB/s  88.7 %CPU
Reading intelligently...      done:  19005 kB/s  34.5 %CPU
Seeker 1...Seeker 2...Seeker 3...start 'em...done...done...done...
              ---Sequential Output (nosync)--- ---Sequential Input-- --Rnd Seek-
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --04k (03)-
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
we1d23 1* 256  4380 35.0 12074 22.9  7339 25.9 10607 88.7 19005 34.5  212.9 16.0



any clues as to what the heck is going on ?




later,

robert


All times are GMT -5. The time now is 12:02 AM.