Test wydajności USB w WL-500gP (oleg, openwrt)
Sprzęt
- Kilkuletni dysk HDD 2,5'' w zewnętrznej kieszeni (no-name - zwykła aluminiowa obudowa) zasilanej tylko przez USB.
- Asus WL-500gP
- Laptop Pentium M 1.6GHz z USB 2.0, opartym o chip Intela ICH6
Firmware
Jako test przeprowadzono pomiar czasu odczytu pliku 1GiB utworzonego na dysku zewnętrznym poleceniem:
dd if=/dev/urandom of=/mnt/usbdisk/plik.bin bs=1M count=1024
Wykorzystano następujące firmware:
- Oleg w wersji 1.9.2.7-7f (2006-11-06) - kernel 2.4.20
- OpenWrt RC6 - kernel 2.4.30, podstawowa konfiguracja, załadowane tylko moduły obsługi USB
W obu przypadkach dysk zewnętrzny pracował jako USB 2.0
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0402 ProdID=5642 Rev= 1.00
S: Product=USB 2.0 Storage Device
S: SerialNumber=12345678901234567890
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Oraz, dla porównania wyników
- linux debian sid (x86, kernel 2.6.19)
Wyniki
Test polegał na 5 krotnym odczycie pliku 1GiB z dysku zewnętrznego poleceniem
time cp usbdisk/plik.bin /dev/null
Oleg: 7m40s (1024MiB/460s =
2,22MiB/s)
OpenWRT: 2m13s (1024MiB/133s =
7,68MiB/s)
linux: 1m25s (1024MiB/85s =
12,04MiB/s)
Podsumowanie
Rzeczywistość jest trochę inna - faktyczny transfer z dysku podłączonego do USB nie przekracza 3,5MiB - powodem jest słaba wydajność procesora, obsługi usb lub czegoś innego. Faktem jest więc to, że nie ma co się przejmować szybkością dysku - i tak transfer zwykle mieści się w granicach 3,5MiB - oczywiście po kablu.