Jump to content

MichaGue

Members
  • Posts

    15
  • Joined

  • Last visited

  1. Hello, is the last BPi Vanilla wheezy image somewhere still available for download? I want to run it with Open Media Vault, which still needs wheezy. Thanks a lot. Michael
  2. Thanks for the solution. I have the same problem running armbian wheezy on a banana pi. But I am a complete newbie to linux. Could you explane your workaround in step 2 a bit more precise? Which single steps have to be done? Thanks for your help. Best regards, Michael
  3. Hello, here is a list of the interrupts of my BPi: root@bananapi:~# cat /proc/interrupts CPU0 CPU1 17: 0 0 GIC 29 Edge arch_timer 18: 1240001 514159 GIC 30 Edge arch_timer 21: 0 0 GIC 54 Level sun4i_timer0 22: 0 0 GIC 113 Level sun5i_timer0 26: 0 0 GIC 42 Level sun4i-spi 27: 14635330 0 GIC 64 Level sunxi-mmc 28: 0 0 GIC 71 Level ehci_hcd:usb1 29: 0 0 GIC 96 Level ohci_hcd:usb3 30: 755 0 GIC 88 Level 1c18000.sata 31: 0 0 GIC 72 Level ehci_hcd:usb2 32: 0 0 GIC 97 Level ohci_hcd:usb4 35: 0 0 GIC 56 Level 1c20d00.rtc 40: 12758 0 GIC 61 Level sun4i-ts 41: 15 0 GIC 33 Level serial 44: 198 0 GIC 39 Level mv64xxx_i2c 45: 0 0 GIC 41 Level mv64xxx_i2c 46: 10 22509 GIC 117 Level eth0 61: 0 0 - 10 Edge 1c0f000.mmc cd 83: 0 0 interrupt-controller 0 Level axp20x_irq_chip 117: 0 0 axp20x_irq_chip 33 Edge axp20x-pek-dbr 118: 0 0 axp20x_irq_chip 34 Edge axp20x-pek-dbf IPI0: 0 0 CPU wakeup interrupts IPI1: 0 0 Timer broadcast interrupts IPI2: 181817 7814302 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 9 42 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 0 0 IRQ work interrupts IPI7: 0 0 completion interrupts Err: 0 Which interrupt is responsible for the sata communication (hdd connected to onboard sata)? Is it only "1c18000.sata"? root@bananapi:~# cat /proc/interrupts CPU0 CPU1 30: 755 0 GIC 88 Level 1c18000.sata Thanks a lot and best regards, Michael
  4. Hello, in Armbian TCP buffers are already set. I can change them by putting new values to /etc/sysctl.conf. But, is this elegant? Or would it be better to change directly the values from armbian? In which file configures Armbian the TCP buffers? Thanks a lot and best regards, Michael
  5. Here are the results. Both (server and client) are configured with the same TCP window size. BPi through the above told values (tuning default value) and Win7 PC through TCP window size setting in Jperf. With this I get really stable bandwidth of around 929 MBit/s (BPi => Notebook) and around 643 MBit/s (Notebook => BPi). BPi => GBit Switch => Notebook (Win7 running JPerf) root@bananapi:~# iperf -s -P 0 -i 1 -p 5001 -f m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 1.00 MByte (default) ------------------------------------------------------------ [ 4] local 192.168.0.18 port 5001 connected with 192.168.0.16 port 53909 [ ID] Interval Transfer Bandwidth [ 4] 0.0- 1.0 sec 92.3 MBytes 774 Mbits/sec [ 4] 1.0- 2.0 sec 113 MBytes 949 Mbits/sec [ 4] 2.0- 3.0 sec 113 MBytes 950 Mbits/sec [ 4] 3.0- 4.0 sec 113 MBytes 949 Mbits/sec [ 4] 4.0- 5.0 sec 113 MBytes 949 Mbits/sec [ 4] 5.0- 6.0 sec 113 MBytes 944 Mbits/sec [ 4] 6.0- 7.0 sec 113 MBytes 946 Mbits/sec [ 4] 7.0- 8.0 sec 113 MBytes 947 Mbits/sec [ 4] 8.0- 9.0 sec 113 MBytes 944 Mbits/sec [ 4] 9.0-10.0 sec 112 MBytes 941 Mbits/sec [ 4] 0.0-10.0 sec 1109 MBytes 929 Mbits/sec Notebook (Win 7 running Jperf) => GBit Switch => BPi root@bananapi:~# iperf -c 192.168.0.16 -P 1 -i 1 -p 5001 -f m -t 10 -T 1 ------------------------------------------------------------ Client connecting to 192.168.0.16, TCP port 5001 TCP window size: 3.00 MByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.18 port 55572 connected with 192.168.0.16 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 1.0 sec 62.4 MBytes 523 Mbits/sec [ 3] 1.0- 2.0 sec 76.4 MBytes 641 Mbits/sec [ 3] 2.0- 3.0 sec 79.0 MBytes 663 Mbits/sec [ 3] 3.0- 4.0 sec 78.9 MBytes 662 Mbits/sec [ 3] 4.0- 5.0 sec 78.6 MBytes 660 Mbits/sec [ 3] 5.0- 6.0 sec 79.1 MBytes 664 Mbits/sec [ 3] 6.0- 7.0 sec 78.6 MBytes 660 Mbits/sec [ 3] 7.0- 8.0 sec 76.0 MBytes 638 Mbits/sec [ 3] 8.0- 9.0 sec 78.8 MBytes 661 Mbits/sec [ 3] 9.0-10.0 sec 78.4 MBytes 657 Mbits/sec [ 3] 0.0-10.0 sec 766 MBytes 643 Mbits/sec
  6. Sometimes it is usefull to write problems down to find the right solution. The answer to my question seems to be easy. Just increase the default value of net.ipv4.tcp_rmem = 8192 873800 8738000 #(min default max) net.ipv4.tcp_wmem = 4096 655360 6553600 #(min default max) will change the TCP window size. Measurements will follow.
  7. Hello, I am setting up a filserver, using a BPi and a WD Red 3TB connected to the sata port of the BPi. The BPi runs armbian v4.5 with vanilla kernel. For the first tuning I used the recommandations from tkaiser (thanks a lot for that). The only difference is, that I use ondemand as govenor and the frequency values out of the armbian image (thanks a lot to igore for the great work). root@bananapi:~# sysctl -a | grep mem net.core.optmem_max = 65535 net.core.rmem_default = 163840 net.core.rmem_max = 8738000 net.core.wmem_default = 163840 net.core.wmem_max = 6553600 net.ipv4.igmp_max_memberships = 20 net.ipv4.tcp_mem = 8874 11832 17748 net.ipv4.tcp_rmem = 8192 873800 8738000 net.ipv4.tcp_wmem = 4096 655360 6553600 net.ipv4.udp_mem = 17748 23664 35496 net.ipv4.udp_rmem_min = 4096 net.ipv4.udp_wmem_min = 4096 sysctl: reading key "net.ipv6.conf.all.stable_secret" sysctl: reading key "net.ipv6.conf.bond0.stable_secret" sysctl: reading key "net.ipv6.conf.default.stable_secret" sysctl: reading key "net.ipv6.conf.eth0.stable_secret" sysctl: reading key "net.ipv6.conf.lo.stable_secret" sysctl: reading key "net.ipv6.conf.tunl0.stable_secret" vm.highmem_is_dirtyable = 0 vm.lowmem_reserve_ratio = 32 32 vm.overcommit_memory = 0 root@bananapi:~# cat /proc/interrupts CPU0 CPU1 17: 0 0 GIC 29 Edge arch_timer 18: 115380 107747 GIC 30 Edge arch_timer 21: 0 0 GIC 54 Level sun4i_timer0 22: 0 0 GIC 113 Level sun5i_timer0 26: 0 0 GIC 42 Level sun4i-spi 27: 2561171 0 GIC 64 Level sunxi-mmc 28: 0 0 GIC 71 Level ehci_hcd:usb1 29: 0 0 GIC 96 Level ohci_hcd:usb3 30: 757 0 GIC 88 Level 1c18000.sata 31: 0 0 GIC 72 Level ehci_hcd:usb2 32: 0 0 GIC 97 Level ohci_hcd:usb4 35: 0 0 GIC 56 Level 1c20d00.rtc 40: 3096 0 GIC 61 Level sun4i-ts 41: 18 0 GIC 33 Level serial 44: 198 0 GIC 39 Level mv64xxx_i2c 45: 0 0 GIC 41 Level mv64xxx_i2c 46: 8 5431 GIC 117 Level eth0 61: 0 0 - 10 Edge 1c0f000.mmc cd 83: 0 0 interrupt-controller 0 Level axp20x_irq_chip 117: 0 0 axp20x_irq_chip 33 Edge axp20x-pek-dbr 118: 0 0 axp20x_irq_chip 34 Edge axp20x-pek-dbf IPI0: 0 0 CPU wakeup interrupts IPI1: 0 0 Timer broadcast interrupts IPI2: 47869 1399468 Rescheduling interrupts IPI3: 0 0 Function call interrupts IPI4: 7 7 Single function call interrupts IPI5: 0 0 CPU stop interrupts IPI6: 0 0 IRQ work interrupts IPI7: 0 0 completion interrupts Err: 0 For seperate testing I run iperf for the network and iozone for the hdd (for iozone results look here). Using iperf with the above made tuning results in the following values. BPi => GBit-Switch => Notebook root@bananapi:~# iperf -s -P 0 -i 1 -p 5001 -f m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 0.83 MByte (default) ------------------------------------------------------------ [ 4] local 192.168.0.18 port 5001 connected with 192.168.0.16 port 51470 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 319 MBytes 268 Mbits/sec Notebook => GBit-Switch => BPi root@bananapi:~# iperf -c 192.168.0.16 -P 1 -i 1 -p 5001 -f m -t 10 -T 1 ------------------------------------------------------------ Client connecting to 192.168.0.16, TCP port 5001 TCP window size: 0.62 MByte (default) ------------------------------------------------------------ [ 3] local 192.168.0.18 port 45284 connected with 192.168.0.16 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 654 MBytes 548 Mbits/sec The first thing I do not understand is the source of the default TCP window size iperf uses (0.83 MByte as server, 0.62 MByte as client). Which parameter in the linux configuration is responsible for that? After the first run I increased the TCP window size in iperf manually which results in much better bandwidth. BPi => GBit-Switch => Notebook (manually set TCP-Window size 768K, higher value did not increase the bandwidth) root@bananapi:~# iperf -s -P 0 -i 1 -p 5001 -w 768.0K -f m ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 1.50 MByte (WARNING: requested 0.75 MByte) ------------------------------------------------------------ [ 4] local 192.168.0.18 port 5001 connected with 192.168.0.16 port 51528 [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 1102 MBytes 924 Mbits/sec Notebook => GBit-Switch => BPi (manually set TCP-Window Size 512K, higher value did not increase the bandwidth) root@bananapi:~# iperf -c 192.168.0.16 -P 1 -i 1 -p 5001 -w 512.0K -f m -t 10 -T 1 ------------------------------------------------------------ Client connecting to 192.168.0.16, TCP port 5001 TCP window size: 1.00 MByte (WARNING: requested 0.50 MByte) ------------------------------------------------------------ [ 3] local 192.168.0.18 port 45302 connected with 192.168.0.16 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 780 MBytes 654 Mbits/sec So the final question is, which linux parameter has to be tuned to set the manually increased TCP window size in iperf permanet for the system? Thanks a lot for your help. Best regards, Michael
  8. So, I did the tests mentioned in the above link. First part is always the result from iozone, the second part is a snapshot of iostat for each iozone test. ----------------------------------------------- 1.) iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K ----------------------------------------------- Auto Mode Using maximum file size of 4096000 kilobytes. File size set to 4096000 KB Record Size 4 KB Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 4K 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 4096000 4 38842 38897 140696 140965 ================ avg-cpu: %user %nice %system %iowait %steal %idle 0,24 0,00 3,17 49,12 0,00 47,47 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,40 0,00 0,00 8,00 0,00 5,00 0,00 5,00 5,00 0,20 sda 0,00 57,80 0,00 4,80 0,00 38,20 16300,33 6,49 1352,08 0,00 1352,08 208,33 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 1,11 0,00 35,22 21,82 0,00 41,86 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 0,00 1125,20 0,00 140,65 0,00 256,00 1,51 1,35 1,35 0,00 0,89 99,80 -------------------------------------------------- 2.) iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K -------------------------------------------------- Auto Mode Using maximum file size of 4096000 kilobytes. File size set to 4096000 KB Record Size 1024 KB Command line used: iozone -a -g 4000m -s 4000m -i 0 -i 1 -r 1024K 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 4096000 1024 38224 38411 135551 141479 =============== avg-cpu: %user %nice %system %iowait %steal %idle 0,47 0,00 4,44 43,22 0,00 51,87 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,20 0,00 0,00 8,00 0,00 20,00 0,00 20,00 20,00 0,40 sda 0,00 99,20 0,00 4,60 0,00 37,16 16542,61 7,34 1468,70 0,00 1468,70 217,39 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 0,75 0,00 45,52 5,54 0,00 48,19 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 0,00 1113,00 0,00 139,12 0,00 256,00 1,23 1,14 1,14 0,00 0,88 98,40 -------------------------------------------------- 3.) iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m -------------------------------------------------- OPS Mode. Output is in operations per second. Include fsync in write timing No retest option selected Record Size 4 KB File size set to 2048000 KB Command line used: iozone -O -i 0 -i 1 -i 2 -e -+n -r 4K -s 2000m 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 2048000 4 9442 0 34933 0 134 1652 ============== avg-cpu: %user %nice %system %iowait %steal %idle 0,12 0,00 4,22 45,78 0,00 49,88 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 96,20 0,00 4,80 0,00 37,55 16023,00 7,69 1568,33 0,00 1568,33 208,33 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 1,42 0,00 34,39 22,34 0,00 41,84 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 0,00 1102,60 0,00 137,80 0,00 255,95 1,51 1,38 1,38 0,00 0,91 100,00 avg-cpu: %user %nice %system %iowait %steal %idle 0,20 0,00 0,70 48,04 0,00 51,06 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,20 0,00 0,00 8,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 0,00 144,60 0,00 0,56 0,00 8,00 1,00 6,89 6,89 0,00 6,89 99,60 avg-cpu: %user %nice %system %iowait %steal %idle 0,00 0,00 2,23 83,42 0,00 14,35 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util mmcblk0 0,00 0,00 0,00 0,20 0,00 0,00 8,00 0,00 0,00 0,00 0,00 0,00 0,00 sda 0,00 0,40 0,00 1644,00 0,00 7,28 9,07 143,48 87,66 0,00 87,66 0,61 100,00 For the third test I wonder why the random read is so slow. Much slower than random write. Any ideas? Thanks a lot. Michael
  9. Shame on me - using the right working directory results in ... KB reclen write rewrite read reread 32768 512 160596 297245 480645 482294 32768 1024 161545 298827 494379 492901 65536 512 160969 297935 499969 501899 65536 1024 159870 290379 490795 492425 131072 512 86015 103228 499439 502047 131072 1024 91007 104062 495939 497062 262144 512 54405 56703 498674 500277 262144 1024 54576 57630 494419 498526 524288 512 46027 45875 496817 498723 524288 1024 45277 46087 497868 499793 1048576 512 41372 42090 138739 140698 1048576 1024 41677 42307 138568 142234 2048000 512 39911 40169 138249 140220 2048000 1024 39789 39804 135877 137287 That looks much better.
  10. Hi PaceyIV, thank you for your reply. So yout get 4x the write and 5x the reading speed of my measurement. I think there must be something wrong in my system. Does anyone has an idea what the problem could be? Thanks a lot and best regards, Michael
  11. I was connect via putty to the banana pi and started iozone through putty (connection 1Gig Ethernet). But this should not matter, because the iozone test runs internally on the banana pi, no transfer to the connected system.
  12. Hm, I do not understand your question because I think the answer is written in my question: - Armbian 4.2.2 wheezy - BananaPi - iozone -a -y 512k -q 1024K -s 2000m -g 2000m -i 0 -i1 - WD Red 3TB, connected to SATA on BananaPi - HDD format is EXT4 Which information do you miss? Thanks a lot.
  13. Hi all, I run a BPi with Armbian 4.2 - kernel 4.2.2. A WD Red 3TB is connected via sata. I have tested hdd performance which seems to be very slow (for my opinion). Auto Mode Using Minimum Record Size 512 KB Using Maximum Record Size 8192 KB File size set to 2048000 KB Using maximum file size of 2048000 kilobytes. Command line used: iozone -a -y 512k -q 1024K -s 2000m -g 2000m -i 0 -i1 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. KB reclen write rewrite read reread 2048000 512 10097 10482 20809 21397 2048000 1024 10570 9597 20533 20977 What could be the problem? Best regards, Michael
  14. I found the answer for my question: http://www.lemaker.org/thread-15543-1-1.html Thanks a lot.
  15. Hi Igor, hi all, I use a BPi M1 and today I tested Igor's debian wheezy 4.1.2 image. It works really great. Thanks a lot. As mentioned in the FAQ I had a look at /etc/init.d/cpufrequtils. As written there it is possible to change the frequencies. The possible values are stored in "scaling_available_frequencies". The default value for "max_speed" in Igor's image is "max_speed=1010000". But this value ist not available inside "scaling_available_frequencies". "cpufreq-info -m" tells the current policy: frequency shoukd be within 480-960 MHz. 960 MHz is the maximum value in "scaling_available_frequencies". Normally BPi is able to run at 1008 MHz. How can I change the values inside "scaling_available_frequencies"? Is there a reason why the govenor "interactive" ist choosen? Thanks a lot. Best regards, Michael
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines