Lee Noble Posted October 3, 2017 Posted October 3, 2017 All, So in this example, let's use SMB, however it does seem to apply to any transport method i use. I seem to have an issue when writing to the Pi whereby the throughput will peak to 50MBps then drop right down and float around 9MBps. <a href="https://ibb.co/fSXXRG"><img src="https://thumb.ibb.co/fSXXRG/write.png" alt="write" border="0"></a> Local disk test shows shows circa 450 Rear and 50MBps write. I get the same results if i make use of the onboard flash or attach an SSD to the SATA port. Does anyone know what's happening here? it's not the source device that is causing this, It appears as though some buffer or limit is being hit on the Pi? Thanks Lee
tkaiser Posted October 3, 2017 Posted October 3, 2017 24 minutes ago, Lee Noble said: I get the same results if i make use of the onboard flash or attach an SSD to the SATA port. There is no SATA port on this board, just the most crappy USB-to-SATA bridge currently known (called GL830 and even being broken since eating your last two sectors of any disk). When you forget about this 'SATA port' the best you could get are ~40MB/s with an external USB disk enclosure that makes use of UAS (see link). Onboard eMMC should be fast (40/80MB/s sequential write/read). Please see http://linux-sunxi.org/Sunxi_devices_as_NAS#Benchmarking_.2F_Identifying_bottlenecks and use iozone and iperf3 to test storage/network locally. No idea which OS image you use but at least 12MB/s write should be possible writing to a 'SATA attached' disk, +30MB/s with an USB2 attached disk and maybe +50MB/s when writing to the eMMC (SD card has it's own limits, explained here)
Lee Noble Posted October 4, 2017 Author Posted October 4, 2017 I'm using the latest Armbian image with legacy kernel. https://www.armbian.com/orange-pi-plus-2/ I have used Iperf3 to test and get no bottlenecks using that, hitting around 770mbit, but then again this is not writing anything to EMMC. [ ID] Interval Transfer Bandwidth Retr [ 4] 0.00-10.00 sec 918 MBytes 770 Mbits/sec 0 sender [ 4] 0.00-10.00 sec 918 MBytes 770 Mbits/sec receiver /dev/mmcblk0p1: Timing cached reads: 918 MB in 2.00 seconds = 458.20 MB/sec Timing buffered disk reads: 166 MB in 3.02 seconds = 55.03 MB/sec Making use of the EMMC flash gives the same results, starts around 60MBps then drops to below 10MBps when writing to storage. If reading from EMMC storage i get a steady 60MBps. I'm not making use of SD Cards either. Makes no odds if i transfer over FTP, SMB etc etc, i get the same results when it involves writing to storage attached to the Pi, I will also add that i have tried other builds from the OrangePi site to experience the exact same results. The issue appears to be when i'm writing to storage attached to the Pi. When reading from the Pi Over SMB at 60MBps: When writing to the Pi, starts at 60MBps then drops right down to just under 10MBps then sites there: I'm starting to wonder if maybe the CPU is heating up and throttling at hardware, yet nothing in dmesg states so. Thanks
Igor Posted October 4, 2017 Posted October 4, 2017 7 minutes ago, Lee Noble said: I'm starting to wonder if maybe the CPU is heating up and throttling at hardware, yet nothing in dmesg states so. If you want to understand why this is so, start with better diagnostic tools. Install RPI monitor via armbianmonitor and observe what's going on. Nothing is wrong - Board maker simply used the most shitty USB2SATA interface on this planet and there is nothing you can do about. Except getting some other board ... or at least switch to a modern kernel and use UASP capable USB 2 SATA converters to get some better performance. Next - use search. We talked a lot about those issues.
Lee Noble Posted October 4, 2017 Author Posted October 4, 2017 Just now, Igor said: If you want to understand why this is so, start with proper diagnostic tools. Install RPI monitor via armbianmonitor and observe what's going. Nothing is wrong - Board maker simply used the most shitty USB2SATA interface on this planet and there is nothing you can do about. Except getting some other board ... or at least switch to a modern kernel and use UASP capable USB 2 SATA converters. Use search. We talked a lot about those issues. I'm not actually using SATA though, I'm using the onboard EMMC 16GB of flash storage.
tkaiser Posted October 4, 2017 Posted October 4, 2017 40 minutes ago, Lee Noble said: I'm using the latest Armbian image with legacy kernel. If you're somewhat experienced in Terminal please try to exchange contents of etc/init.d/armhwinfo with https://github.com/armbian/build/blob/master/packages/bsp/common/etc/init.d/armhwinfo, then reboot and test again (I would prefer numbers made with 'Helios Lantest' with '10 Gigabit Ethernet' settings since this tool eliminates client-side bottlenecks since running all the tests on the Client from RAM. Of course before/after numbers preferred). And yes, always run some monitoring in parallel, either 'sudo armbianmonitor -m' in another terminal window or as already suggested use RPi-Monitor.
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 15 hours ago, tkaiser said: If you're somewhat experienced in Terminal please try to exchange contents of etc/init.d/armhwinfo with https://github.com/armbian/build/blob/master/packages/bsp/common/etc/init.d/armhwinfo, then reboot and test again (I would prefer numbers made with 'Helios Lantest' with '10 Gigabit Ethernet' settings since this tool eliminates client-side bottlenecks since running all the tests on the Client from RAM. Of course before/after numbers preferred). And yes, always run some monitoring in parallel, either 'sudo armbianmonitor -m' in another terminal window or as already suggested use RPi-Monitor. Thank-you very much for your assistance, I shall test this later and report back.
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 I have just conducted the test: Before hwinfo update: After hwinfo update: And just to show that it's not an issue with my network, here is a test from the same desktop to a laptop on my LAN. As you can see from the screenshots involving the Pi it spikes up and then drops to around 12MB/s. This is with the 16GB onboard EMMC. NO SD card or SSD/HDD is attached, take a look in the attached test.zip, you can see that the CPU temp is not an issue. Is some buffer getting filled up when writing to EMMC? test.zip
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 Also just conducted another quick test, I put cooling on the CPU and kept it around 35C, still get the same results.
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 19 hours ago, Igor said: Thanks, this shows me another person seeing similar issues to me... but I don't see the root cause or solution in the thread?
tkaiser Posted October 5, 2017 Posted October 5, 2017 11 minutes ago, Lee Noble said: After hwinfo update: I forgot to mention that exchanging this needs a reboot to have any effect :\ Anyway: the quick check would be a 'sudo cpufreq-set -g performance' and repeating the test. If numbers then are somewhat better one source of the problem were insufficient cpufreq settings (ondemand without tweaks responsible for the H3 all the time clocking with 480MHz instead of 1296 MHz). Then if you installed Samba the usual way you most probably miss some important fixes, just check what the Samba and OMV installation routines here do differently. My recommendation would be to purge Samba, keep /etc/init.d/armhwinfo as it is now, download softy from the link above, execute it and either install OMV (if you're running a Debian Armbian flavour) or Samba from softy. Samba without some tweaks simply sucks on ARM devices.
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 1 minute ago, tkaiser said: I forgot to mention that exchanging this needs a reboot to have any effect :\ Anyway: the quick check would be a 'sudo cpufreq-set -g performance' and repeating the test. If numbers then are somewhat better one source of the problem were insufficient cpufreq settings (ondemand without tweaks responsible for the H3 all the time clocking with 480MHz instead of 1296 MHz). Then if you installed Samba the usual way you most probably miss some important fixes, just check what the Samba and OMV installation routines here do differently. My recommendation would be to purge Samba, keep /etc/init.d/armhwinfo as it is now, download softy from the link above, execute it and either install OMV (if you're running a Debian Armbian flavour) or Samba from softy. Samba without some tweaks simply sucks on ARM devices. Thanks I will test that, I don't think it's SMB that's the issue, it does exactly the same over FTP. Yup I did reboot I will text the cpufreq now
tkaiser Posted October 5, 2017 Posted October 5, 2017 Funny, I forgot that I generated an OMV image for the Orange Pi Plus / Plus2 already: https://sourceforge.net/projects/openmediavault/files/Other armhf images/
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 1 minute ago, tkaiser said: Funny, I forgot that I generated an OMV image for the Orange Pi Plus / Plus2 already: https://sourceforge.net/projects/openmediavault/files/Other armhf images/ Tested sudo cpufreq-set -g performance and it made no real difference. I don't actually need to use Samba, i was just using it as a test platform. As i was noticing similar performance issues when using wget & ftp etc, which lead me to where i am now. I will try your OMV image to see if it makes any difference. Failing that, what other boards are there that will perform better than this one with Gbit ethernet?
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 https://sourceforge.net/projects/openmediavault/files/Other armhf images/OMV_3_0_88_Orangepiplus_4.13.0.img.xz/download <-- Assume i need to use this one?
tkaiser Posted October 5, 2017 Posted October 5, 2017 4 minutes ago, Lee Noble said: https://sourceforge.net/projects/openmediavault/files/Other armhf images/OMV_3_0_88_Orangepiplus_4.13.0.img.xz/download <-- Assume i need to use this one? Yes. Performance should look like this then: https://forum.openmediavault.org/index.php/Thread/17855-Building-OMV-automatically-for-a-bunch-of-different-ARM-dev-boards/?postID=153498#post153498
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 4 minutes ago, tkaiser said: Yes. Performance should look like this then: https://forum.openmediavault.org/index.php/Thread/17855-Building-OMV-automatically-for-a-bunch-of-different-ARM-dev-boards/?postID=153498#post153498 Excellent, I will try after work finishes. Thanks again for your help
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 The read speeds from the Pi have doubled with your OMV Image, however the write speeds are around the same. Spikes high then sits around 12MB/s. This board is starting to annoy me, is there a better one i can buy?
tkaiser Posted October 5, 2017 Posted October 5, 2017 10 minutes ago, Lee Noble said: Spikes high then sits around 12MB/s. Then as already suggested it's now time to check local storage performance. Please change to the mountpoint of the eMMC, execute the iozone call from the 'SD card performance' link above and report back. In the past the eMMC Xunlong used on these boards was able to achieve sequential write speeds of ~40MB/s. Yours seems to be limited to 12-13 MB/s instead (so once filesystem buffers are full fs performance jumps in). There are a lot of other interesting boards available if you look for NAS performance: https://forum.openmediavault.org/index.php/Thread/19871-Which-energy-efficient-ARM-platform-to-choose/?postID=154980#post154980 https://forum.armbian.com/index.php?/topic/3953-preview-generate-omv-images-for-sbc-with-armbian/ https://forum.armbian.com/index.php?/topic/1925-some-storage-benchmarks-on-sbcs/
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 Test with a single thread: Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 32 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Thu Oct 5 15:15:08 2017 Excel chart generation enabled Record Size 4 kB File size set to 102400 kB Command line used: iozone -R -l 1 -u 1 -r 4k -s 100m -F /home/f1 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. Min process = 1 Max process = 1 Throughput test with 1 process Each process writes a 102400 kByte file in 4 kByte records Children see throughput for 1 initial writers = 240383.48 kB/sec Parent sees throughput for 1 initial writers = 12976.74 kB/sec Min throughput per process = 240383.48 kB/sec Max throughput per process = 240383.48 kB/sec Avg throughput per process = 240383.48 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 rewriters = 334943.84 kB/sec Parent sees throughput for 1 rewriters = 32081.80 kB/sec Min throughput per process = 334943.84 kB/sec Max throughput per process = 334943.84 kB/sec Avg throughput per process = 334943.84 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 readers = 487939.25 kB/sec Parent sees throughput for 1 readers = 481572.10 kB/sec Min throughput per process = 487939.25 kB/sec Max throughput per process = 487939.25 kB/sec Avg throughput per process = 487939.25 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 re-readers = 446510.19 kB/sec Parent sees throughput for 1 re-readers = 441167.91 kB/sec Min throughput per process = 446510.19 kB/sec Max throughput per process = 446510.19 kB/sec Avg throughput per process = 446510.19 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 reverse readers = 14843.72 kB/sec Parent sees throughput for 1 reverse readers = 14837.98 kB/sec Min throughput per process = 14843.72 kB/sec Max throughput per process = 14843.72 kB/sec Avg throughput per process = 14843.72 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 stride readers = 393369.38 kB/sec Parent sees throughput for 1 stride readers = 388951.35 kB/sec Min throughput per process = 393369.38 kB/sec Max throughput per process = 393369.38 kB/sec Avg throughput per process = 393369.38 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 random readers = 396329.59 kB/sec Parent sees throughput for 1 random readers = 392065.17 kB/sec Min throughput per process = 396329.59 kB/sec Max throughput per process = 396329.59 kB/sec Avg throughput per process = 396329.59 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 mixed workload = 396192.84 kB/sec Parent sees throughput for 1 mixed workload = 391970.71 kB/sec Min throughput per process = 396192.84 kB/sec Max throughput per process = 396192.84 kB/sec Avg throughput per process = 396192.84 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 random writers = 281903.44 kB/sec Parent sees throughput for 1 random writers = 31672.63 kB/sec Min throughput per process = 281903.44 kB/sec Max throughput per process = 281903.44 kB/sec Avg throughput per process = 281903.44 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 pwrite writers = 179351.41 kB/sec Parent sees throughput for 1 pwrite writers = 12650.54 kB/sec Min throughput per process = 179351.41 kB/sec Max throughput per process = 179351.41 kB/sec Avg throughput per process = 179351.41 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 pread readers = 484868.84 kB/sec Parent sees throughput for 1 pread readers = 478578.39 kB/sec Min throughput per process = 484868.84 kB/sec Max throughput per process = 484868.84 kB/sec Avg throughput per process = 484868.84 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 fwriters = 297088.16 kB/sec Parent sees throughput for 1 fwriters = 33345.74 kB/sec Min throughput per process = 297088.16 kB/sec Max throughput per process = 297088.16 kB/sec Avg throughput per process = 297088.16 kB/sec Min xfer = 102400.00 kB Children see throughput for 1 freaders = 432688.31 kB/sec Parent sees throughput for 1 freaders = 427914.81 kB/sec Min throughput per process = 432688.31 kB/sec Max throughput per process = 432688.31 kB/sec Avg throughput per process = 432688.31 kB/sec Min xfer = 102400.00 kB "Throughput report Y-axis is type of test X-axis is number of processes" "Record size = 4 kBytes " "Output is in kBytes/sec" " Initial write " 240383.48 " Rewrite " 334943.84 " Read " 487939.25 " Re-read " 446510.19 " Reverse Read " 14843.72 " Stride read " 393369.38 " Random read " 396329.59 " Mixed workload " 396192.84 " Random write " 281903.44 " Pwrite " 179351.41 " Pread " 484868.84 " Fwrite " 297088.16 " Fread " 432688.31 iozone test complete.
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 with 2 threads invalid options: not enough filenames for 2 streams Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 32 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Thu Oct 5 15:23:35 2017 Excel chart generation enabled Record Size 4 kB File size set to 512000 kB Command line used: iozone -R -l 2 -u 2 -r 4k -s 500m -F /home/f1 /home/f2 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. Min process = 2 Max process = 2 Throughput test with 2 processes Each process writes a 512000 kByte file in 4 kByte records Children see throughput for 2 initial writers = 13913.68 kB/sec Parent sees throughput for 2 initial writers = 10150.19 kB/sec Min throughput per process = 5408.52 kB/sec Max throughput per process = 8505.16 kB/sec Avg throughput per process = 6956.84 kB/sec Min xfer = 334620.00 kB Children see throughput for 2 rewriters = 13973.65 kB/sec Parent sees throughput for 2 rewriters = 12338.59 kB/sec Min throughput per process = 6985.27 kB/sec Max throughput per process = 6988.38 kB/sec Avg throughput per process = 6986.82 kB/sec Min xfer = 511772.00 kB Children see throughput for 2 readers = 956120.00 kB/sec Parent sees throughput for 2 readers = 953373.61 kB/sec Min throughput per process = 477813.00 kB/sec Max throughput per process = 478307.00 kB/sec Avg throughput per process = 478060.00 kB/sec Min xfer = 511476.00 kB Children see throughput for 2 re-readers = 882834.72 kB/sec Parent sees throughput for 2 re-readers = 880518.77 kB/sec Min throughput per process = 441303.53 kB/sec Max throughput per process = 441531.19 kB/sec Avg throughput per process = 441417.36 kB/sec Min xfer = 511752.00 kB Children see throughput for 2 reverse readers = 829007.16 kB/sec Parent sees throughput for 2 reverse readers = 826988.76 kB/sec Min throughput per process = 414120.91 kB/sec Max throughput per process = 414886.25 kB/sec Avg throughput per process = 414503.58 kB/sec Min xfer = 511072.00 kB Children see throughput for 2 stride readers = 795618.59 kB/sec Parent sees throughput for 2 stride readers = 793736.37 kB/sec Min throughput per process = 397330.00 kB/sec Max throughput per process = 398288.59 kB/sec Avg throughput per process = 397809.30 kB/sec Min xfer = 510788.00 kB Children see throughput for 2 random readers = 762159.50 kB/sec Parent sees throughput for 2 random readers = 760174.56 kB/sec Min throughput per process = 380603.88 kB/sec Max throughput per process = 381555.62 kB/sec Avg throughput per process = 381079.75 kB/sec Min xfer = 510732.00 kB Children see throughput for 2 mixed workload = 464711.15 kB/sec Parent sees throughput for 2 mixed workload = 7138.52 kB/sec Min throughput per process = 80552.02 kB/sec Max throughput per process = 384159.12 kB/sec Avg throughput per process = 232355.57 kB/sec Min xfer = 110456.00 kB Children see throughput for 2 random writers = 5875.95 kB/sec Parent sees throughput for 2 random writers = 5127.23 kB/sec Min throughput per process = 2906.99 kB/sec Max throughput per process = 2968.96 kB/sec Avg throughput per process = 2937.98 kB/sec Min xfer = 501372.00 kB Children see throughput for 2 pwrite writers = 13468.86 kB/sec Parent sees throughput for 2 pwrite writers = 11874.78 kB/sec Min throughput per process = 6405.37 kB/sec Max throughput per process = 7063.49 kB/sec Avg throughput per process = 6734.43 kB/sec Min xfer = 482176.00 kB Children see throughput for 2 pread readers = 987995.38 kB/sec Parent sees throughput for 2 pread readers = 984986.73 kB/sec Min throughput per process = 493711.94 kB/sec Max throughput per process = 494283.44 kB/sec Avg throughput per process = 493997.69 kB/sec Min xfer = 511412.00 kB Children see throughput for 2 fwriters = 13942.23 kB/sec Parent sees throughput for 2 fwriters = 12325.09 kB/sec Min throughput per process = 6967.28 kB/sec Max throughput per process = 6974.95 kB/sec Avg throughput per process = 6971.11 kB/sec Min xfer = 512000.00 kB Children see throughput for 2 freaders = 869964.94 kB/sec Parent sees throughput for 2 freaders = 867891.46 kB/sec Min throughput per process = 434929.25 kB/sec Max throughput per process = 435035.69 kB/sec Avg throughput per process = 434982.47 kB/sec Min xfer = 512000.00 kB "Throughput report Y-axis is type of test X-axis is number of processes" "Record size = 4 kBytes " "Output is in kBytes/sec" " Initial write " 13913.68 " Rewrite " 13973.65 " Read " 956120.00 " Re-read " 882834.72 " Reverse Read " 829007.16 " Stride read " 795618.59 " Random read " 762159.50 " Mixed workload " 464711.15 " Random write " 5875.95 " Pwrite " 13468.86 " Pread " 987995.38 " Fwrite " 13942.23 " Fread " 869964.94 iozone test complete.
tkaiser Posted October 5, 2017 Posted October 5, 2017 8 minutes ago, Lee Noble said: iozone test complete. Could you please also provide results from cd /home iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 sudo armbianmonitor -u (assuming /home is the eMMC mountpoint?)
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 1 minute ago, tkaiser said: Could you please also provide results from cd /home iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 sudo armbianmonitor -u (assuming /home is the eMMC mountpoint?) Yes home is the eMMC mountpoint, i have no other storage attached. I used the nand script to copy your image to the eMMC. I will test now
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 Further output as requested. root@orangepiplus:/home# sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 10 24k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.429 $ Compiled for 32 bit mode. Build: linux Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa. Run began: Thu Oct 5 15:48:18 2017 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 512 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 100M -r 4k -r 16k -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 4290 4488 15221 15253 13031 4113 102400 16 11236 10293 39564 39601 35732 9434 102400 512 12960 11991 76139 76070 75430 11921 102400 1024 12069 12402 76525 76502 71900 12284 102400 16384 12492 12149 80234 80223 80186 12458 iozone test complete. http://sprunge.us/SQAf
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 Starting to wonder if the Samsung klmag2wepd-b031 eMMC chip is counterfeit?
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 Oh - i see the issue here Samsung klmag2wepd-b031
tkaiser Posted October 5, 2017 Posted October 5, 2017 4 minutes ago, Lee Noble said: http://sprunge.us/SQAf Crap, mmc info is missing there (please search for mmc2:0001 here to get the idea how it should look like), seems I've to adjust armhwinfo for latest mainline kernel. At least it's confirmed that you're testing on ext4 (no compression) and it's as expected: the eMMC now used shows dog slow write performance (12.5MB/s max). Xunlong switched to another eMMC variant in the meantime The only good news: random IO is somewhat ok-ish so as soon as you use the eMMC for the OS and attach an USB2 disk (avoiding the crappy GL830 'SATA port') to store data you should be able to get ~37 MB/s now and maybe ~40MB/s in a few weeks (when Armbian provides THS/DVFS for H3 boards running mainline kernel)
Lee Noble Posted October 5, 2017 Author Posted October 5, 2017 1 minute ago, tkaiser said: Crap, mmc info is missing there (please search for mmc2:0001 here to get the idea how it should look like), seems I've to adjust armhwinfo for latest mainline kernel. At least it's confirmed that you're testing on ext4 (no compression) and it's as expected: the eMMC now used shows dog slow write performance (12.5MB/s max). Xunlong switched to another eMMC variant in the meantime The only good news: random IO is somewhat ok-ish so as soon as you use the eMMC for the OS and attach an USB2 disk (avoiding the crappy GL830 'SATA port') to store data you should be able to get ~37 MB/s now and maybe ~40MB/s in a few weeks (when Armbian provides THS/DVFS for H3 boards running mainline kernel) Thanks again for all your help and really sorry for wasting time as it appears to be a hardware limitation - I should have spotted this earlier.
tkaiser Posted October 5, 2017 Posted October 5, 2017 32 minutes ago, Lee Noble said: Samsung klmag2wepd-b031 Well, on the Banana Pis you get eMMC with sequential write 'performance' as low as 6MB/s, on FriendlyELEC boards with eMMC it's 7.5MB/s, with Xunlong it was 40MB/s a while back (even on the little boards like PC Plus they used KLMAG2GEND-B031) but it seems the insanely rised flash memory costs within this year led them to exchange the eMMC with slower parts now Edit: In fact KLMAG2WEPD-B031 is the type of eMMC the NanoPi also use but since there it's the 8GB variant it's as slow as 7.5MB/s.
Recommended Posts