Icarus Posted June 21, 2016 Posted June 21, 2016 Hello, i am having a problem with my Orange Pi the download speed is very slow. In Deluge and by wget i get normal DL speed around 9Mb/s (i have a 10Mb internet). But in JDownloader and in builit-in web browser i get around 100Kb/s. Any idea how to solve this issue? I want to make a download server using OPi but this issue is stopping me from doing that.I am running the newest Armbian Desktop
tkaiser Posted June 21, 2016 Posted June 21, 2016 Did you already check random IO of your SD card? Please do the following and report back with results: cd $HOME iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
Icarus Posted June 22, 2016 Author Posted June 22, 2016 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 32 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 799 822 4627 4636 4654 119 102400 16 3818 3689 11008 10946 10967 105 102400 32 4919 4977 15036 15037 15009 103 102400 512 7949 7745 21960 22255 22252 933 102400 1024 7742 8101 22198 22269 22277 1843 102400 16384 8530 9337 22487 21296 22483 7540 iozone test complete. EDIT: I've also installed pyLoad and the speed seems fine.
Igor Posted June 22, 2016 Posted June 22, 2016 (edited) Please immediately trash this card since it's terribly slow and invest 5 - 10USD for up to 10x faster. http://forum.armbian.com/index.php/topic/954-sd-card-performance/ For example: 5 USD http://www.dx.com/p/genuine-samsung-micro-sd-tf-memory-card-black-orange-16gb-class-10-195361 8 USD http://www.dx.com/p/genuine-samsung-32gb-microsdhc-evo-class-10-uhs-i-memory-card-mb-mp32d-852323434 Edited June 22, 2016 by Igor example 1
tkaiser Posted June 22, 2016 Posted June 22, 2016 invest 5 - 10USD for up to 10x faster. Well, a Samsung EVO with 32 or 64 GB capacity will be 30 times faster @Icarus: the problem is that some tools write small chunks of data and if you then use a storage media that shows horribly slow random IO write performance, the 'disk' becomes the bottleneck. Other download tools access the filesystem differently and in this case your network will limit download speeds. As Igor suggested: the card you're using is inappropriate for SBC usage. In case you're planning to attach USB storage anyway, simply check using iozone and in case you keep your card, simply use our nand_sata_install.sh script to move your OS installation to USB storage if performance is ok there.
Icarus Posted June 22, 2016 Author Posted June 22, 2016 How to check USB drive with iozone? Should i just do "cd" to a place where usb drive is mounted and run iozone there? Sorry im new to armbian and i don't how how these things work.I've also tried to save directly to USB disk but the result is the same.
tkaiser Posted June 22, 2016 Posted June 22, 2016 Should i just do "cd" to a place where usb drive is mounted and run iozone there? Exactly
Icarus Posted June 22, 2016 Author Posted June 22, 2016 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 32 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k - r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 12612 9825 40949 45097 44250 7010 102400 16 11063 11158 105539 105641 103924 6875 102400 32 9798 14905 98915 131511 130070 8967 102400 512 11545 12429 153199 154047 154003 9447 102400 1024 10976 11166 112907 152358 152901 9317 102400 16384 9519 10792 152922 153645 153781 11342 iozone test complete. This test was quicker so i think these results are ok. So i can move my OS to USB disk, is there any tutorial how to do this?
tkaiser Posted June 22, 2016 Posted June 22, 2016 https://github.com/igorpecovnik/lib/blob/master/documentation/user-faq.md#how-to-install-to-emmc-nand-sata--usb (Anyone an idea why none of our users finds the documentation? This is something we clearly have to improve)
Icarus Posted June 22, 2016 Author Posted June 22, 2016 Thank you very much! Everything now works like a harm and the download speeds are normal!
tkaiser Posted June 22, 2016 Posted June 22, 2016 Since this is not the first time this issue pops up maybe it's worth adding stuff like this to a FAQ (no one reads later ) Quite a few programs really suffer from slow random IO -- especially writes (not only this downloader stuff but also browsers like Firefox that have many SQlite databases open and try to write to them in 32K chunks or even whole 'operating systems' like Android). And since users tend to try out new OS images with crappy SD cards lying around their first experience with Armbian might be 'Huh? Internet slow as hell! Armbian sucks!' (blaming software for 100 percent hardware related problems) 2
Icarus Posted June 22, 2016 Author Posted June 22, 2016 Damn... Again something is fucked up, a the beginning it was fine but later it got slower again. Is it again SD card bottleneck? iozone benchmark is taking forever...EDIT: I've formatted my pendrive and installed OS from scratch. And it seems that pendrive is getting slower after filling it with over 1GB of data (so after moving OS on it)... fml.Before: Run began: Wed Jun 22 20:26:54 2016 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 102400 kB Record Size 4 kB Record Size 16 kB Record Size 32 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 102400 4 5128 2184 42939 45273 44219 6221 102400 16 14258 13214 105857 107476 104976 7154 102400 32 13884 14508 114006 131381 129819 8208 102400 512 11555 20252 151983 153029 152443 10022 102400 1024 16551 10819 150017 152989 153043 10097 102400 16384 12763 10231 151214 153252 153523 11114 After (reduced size to 10M taking ages in 100M): Run began: Wed Jun 22 21:23:37 2016 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 10240 kB Record Size 4 kB Record Size 16 kB Record Size 32 kB Record Size 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 10M -r 4k -r 16k -r 32k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 10240 4 2378 3446 7710 7765 2220 129 10240 16 12697 12543 12615 12652 6399 420 10240 32 4881 11743 12071 12623 8411 487 10240 512 12257 12111 12684 12688 12280 12080 10240 1024 4546 4543 12084 12602 12422 8513 iozone test complete. So it seems i need to buy a proper SD card.Thank you @Igor for giving me that link to thread with SD cards i will have look into that I've tested pendrive with CrystalDiskMark (2GB test) random 4k write is: 0,232MB So its 100% pendrive fault
Recommended Posts