Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!


Benchy.pw | Simple server benchmarking script based on YABS - Page 3
New on LowEndTalk? Please Register and read our Community Rules.

All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.

Benchy.pw | Simple server benchmarking script based on YABS

1356

Comments

  • @Falzo said:
    more information is always good as long as it doesn't overwhelm, so why not ;-)

    I suggest to make it a bit more compact though otherwise you need to scroll a lot in a shell windows. maybe get rid of a few lines within those tables for better readability and consistency in design... e.g. like this:

    > Disk Performance Check (50/50 R/W):
    > +---------------------------------------------------------------------------+
    > | Size | Read        | Write       | Total       |       IOPS (R,W,T)       |
    > +===========================================================================+
    > | 4k   | 145.41 MB/s | 145.80 MB/s | 291.21 MB/s | 37.2k  | 37.3k  | 74.6k  |
    > | 64k  | 194.49 MB/s | 195.52 MB/s | 390.01 MB/s | 3.1k   | 3.1k   | 6.2k   |
    > | 512k | 188.58 MB/s | 198.60 MB/s | 387.18 MB/s | 0.4k   | 0.4k   | 0.8k   |
    > | 1m   | 198.02 MB/s | 211.20 MB/s | 409.23 MB/s | 0.2k   | 0.2k   | 0.4k   |
    > +---------------------------------------------------------------------------+
    > 
    > Network Performance Test (IPv4):
    > +---------------------------------------------------------------------------+
    > | Provider     | Location               | Send            | Receive         |
    > +===========================================================================+
    > | Clouvider    | London, UK             | 110 Mbits/sec   | 690 Mbits/sec   |
    > | Airstream    | Wisconsin, USA         | 109 Mbits/sec   | 338 Mbits/sec   |
    > | Uztelecom    | Tashkent, Uzbekistan   | 108 Mbits/sec   | 346 Mbits/sec   |
    > | Online.net   | Paris, France          | 110 Mbits/sec   | 639 Mbits/sec   |
    > | WebHorizon   | Singapore              | 104 Mbits/sec   | 423 Mbits/sec   |
    > +---------------------------------------------------------------------------+
    > 
    > Geekbench 5.4.4 Tryout for Linux x86 (64-bit) 
    > +-----------------------------------------------+
    > | Type of Test              | Score             |
    > +===============================================+
    > | Single Core               | 1671              |
    > | Multi Core                | 8952              |
    > +-----------------------------------------------+
    > | https://browser.geekbench.com/v5/cpu/14295092 |
    > +-----------------------------------------------+
    > 

    PS: eventually you could also compact the upper info tables a bit more, to reduce scrolling... but maybe that's just me ;-)

    What CPU was that?

  • FalzoFalzo Member

    @vitobotta said:

    Geekbench 5.4.4 Tryout for Linux x86 (64-bit)
    +-----------------------------------------------+
    | Type of Test | Score |
    +===============================================+
    | Single Core | 1671 |
    | Multi Core | 8952 |
    +-----------------------------------------------+
    | https://browser.geekbench.com/v5/cpu/14295092 |
    +-----------------------------------------------+

    What CPU was that?

    that's not my bench, but something I copied from earlier in this thread and adjusted to have an example... however, you could simply click the link for the geekbench result and find out what CPU that is, right? ;-) ;-)

  • LisoLiso Member

    @Mastodont said:
    Great, thanks. Proposal for one small improvement - proper numbers alignment in columns, is it possible?

    I'm sorry, can you give an example of proper alignment? I'll see if it is doable

  • LisoLiso Member

    @DP said:
    Geekbench 5.4.4 Tryout for Linux x86 (64-bit)
    +-----------------------------------------------+
    | Single-Core Score | 904 |
    | Multi-Core Score | 1766 |
    +-----------------------------------------------+
    | https://browser.geekbench.com/v5/cpu/14348398 |
    +-----------------------------------------------+

    I totally missed that, gonna make a minor edit and push it to git. Thank you 😀

  • possible for gb4 option?

  • LisoLiso Member
    edited April 2022

    @cybertech said:
    possible for gb4 option?

    Gb version is chosen based on your architecture, gb4 is targeted to 32 bit user-- as it doesn't support gb5.

    But if requested enough, I could implement this feature.

  • @Liso said: can you give an example of proper alignment

    Right alignment (integers) or decimal point alignment (dots below each other).

    https://creativepro.com/tip-week-decimal-align-numbers-table-cells/

  • LisoLiso Member

    @Mastodont said:

    @Liso said: can you give an example of proper alignment

    Right alignment (integers) or decimal point alignment (dots below each other).

    https://creativepro.com/tip-week-decimal-align-numbers-table-cells/

    I'll look into this, meanwhile you can check currently planned enhancement https://github.com/L1so/benchy/issues

  • Nice script :) but why do I see on ipv6 connections: busy ?
    Ipv4 works fine:
    Network Performance Test:
    +--------------------------------------------------------------------------------------+
    | Prot. | Provider | Location | Send | Receive | Latency |
    +======================================================================================+
    | IPv4 | Clouvider | London, UK | 251 Mbits/sec | 324 Mbits/sec | 12 ms |
    | | Airstream | Wisconsin, USA | 137 Mbits/sec | 189 Mbits/sec | 122 ms |
    | | Uztelecom | Tashkent, UZB | 175 Mbits/sec | 64.8 Mbits/sec | 102 ms |
    | | Online.net | Paris, FRA | 403 Mbits/sec | 314 Mbits/sec | 14 ms |
    | | WebHorizon | Singapore, SG | busy | busy | 240 ms |
    +--------------------------------------------------------------------------------------+
    | IPv6 | Clouvider | London, UK | busy | busy | 10 ms |
    | | Airstream | Wisconsin, USA | busy | busy | 120 ms |
    | | Uztelecom | Tashkent, UZ | busy | busy | 93 ms |
    | | Online.net | Paris, FR | busy | busy | 14 ms |
    | | WebHorizon | Singapore, SG | busy | busy | 240 ms |
    +--------------------------------------------------------------------------------------+

  • @vitobotta said:

    @Falzo said:

    > > Geekbench 5.4.4 Tryout for Linux x86 (64-bit) 
    > > +-----------------------------------------------+
    > > | Type of Test              | Score             |
    > > +===============================================+
    > > | Single Core               | 1671              |
    > > | Multi Core                | 8952              |
    > > +-----------------------------------------------+
    > > | https://browser.geekbench.com/v5/cpu/14295092 |
    > > +-----------------------------------------------+
    > > 

    What CPU was that?

    https://browser.geekbench.com/v5/cpu/14295092

  • mgcAnamgcAna Member, Host Rep
    edited April 2022

    I don't have to add anything but this is cool job, kudos @Liso .

  • LisoLiso Member

    @Hotmarer said:
    Maybe some possibility of benchmarking all disks and information that there are several disks in the system? There are servers where you get 20 GB SSD and 500 GB HDD and yabs shows the sum of the disks and the speed of the first disk.

    Can you post lsblk ordf -h ? I'm trying to implement this, but unfortunately I don't have server with multiple disk.

  • @Liso said:

    @Hotmarer said:
    Maybe some possibility of benchmarking all disks and information that there are several disks in the system? There are servers where you get 20 GB SSD and 500 GB HDD and yabs shows the sum of the disks and the speed of the first disk.

    Can you post lsblk ordf -h ? I'm trying to implement this, but unfortunately I don't have server with multiple disk.

    This is what it looks like in my private server. It would be best if someone else checked what it looks like in real low-end providers.

    root@debian:~# lsblk
    NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda                  8:0    0   50G  0 disk
    ├─sda1               8:1    0  487M  0 part /boot
    ├─sda2               8:2    0    1K  0 part
    └─sda5               8:5    0 49.5G  0 part
      └─debian--vg-max 254:0    0 49.5G  0 lvm  /
    sdb                  8:16   0  500G  0 disk /HDD
    sr0                 11:0    1 1024M  0 rom
    
    root@debian:~# df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    udev                        959M     0  959M   0% /dev
    tmpfs                       196M  688K  195M   1% /run
    /dev/mapper/debian--vg-max   49G 1006M   45G   3% /
    tmpfs                       976M     0  976M   0% /dev/shm
    tmpfs                       5.0M     0  5.0M   0% /run/lock
    /dev/sda1                   470M   48M  398M  11% /boot
    tmpfs                       196M     0  196M   0% /run/user/1000
    /dev/sdb                    492G   28K  467G   1% /HDD
    

    Debian 11

    Thanked by 1Liso
  • LisoLiso Member

    @Hotmarer said:

    @Liso said:

    @Hotmarer said:
    Maybe some possibility of benchmarking all disks and information that there are several disks in the system? There are servers where you get 20 GB SSD and 500 GB HDD and yabs shows the sum of the disks and the speed of the first disk.

    Can you post lsblk ordf -h ? I'm trying to implement this, but unfortunately I don't have server with multiple disk.

    This is what it looks like in my private server. It would be best if someone else checked what it looks like in real low-end providers.

    root@debian:~# lsblk
    NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda                  8:0    0   50G  0 disk
    ├─sda1               8:1    0  487M  0 part /boot
    ├─sda2               8:2    0    1K  0 part
    └─sda5               8:5    0 49.5G  0 part
      └─debian--vg-max 254:0    0 49.5G  0 lvm  /
    sdb                  8:16   0  500G  0 disk /HDD
    sr0                 11:0    1 1024M  0 rom
    
    root@debian:~# df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    udev                        959M     0  959M   0% /dev
    tmpfs                       196M  688K  195M   1% /run
    /dev/mapper/debian--vg-max   49G 1006M   45G   3% /
    tmpfs                       976M     0  976M   0% /dev/shm
    tmpfs                       5.0M     0  5.0M   0% /run/lock
    /dev/sda1                   470M   48M  398M  11% /boot
    tmpfs                       196M     0  196M   0% /run/user/1000
    /dev/sdb                    492G   28K  467G   1% /HDD
    

    Debian 11

    Thanks, if you don't mind-- can you post /etc/fstab content ? Just wanted to make sure about the layout.

  • AlwaysSkintAlwaysSkint Member
    edited April 2022
    [root@slice ~]# lsblk
    NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda               8:0    0  256G  0 disk 
    ├─data-data     253:4    0  245G  0 lvm  /data
    └─data-home     253:5    0    2G  0 lvm  /home
    sr0              11:0    1 1024M  0 rom  
    vda             252:0    0   20G  0 disk 
    ├─vda1          252:1    0  512M  0 part /boot
    └─vda2          252:2    0   19G  0 part 
      ├─system-root 253:0    0   10G  0 lvm  /
      ├─system-swap 253:1    0    1G  0 lvm  [SWAP]
      ├─system-tmp  253:2    0    2G  0 lvm  /tmp
      └─system-var  253:3    0    4G  0 lvm  /var
    [root@slice ~]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    devtmpfs                 485M     0  485M   0% /dev
    tmpfs                    496M   20K  496M   1% /dev/shm
    tmpfs                    496M   51M  446M  11% /run
    tmpfs                    496M     0  496M   0% /sys/fs/cgroup
    /dev/mapper/system-root  9.8G  4.4G  4.9G  48% /
    /dev/vda1                488M  136M  318M  30% /boot
    /dev/mapper/system-tmp   2.0G  3.5M  1.9G   1% /tmp
    /dev/mapper/system-var   3.9G  881M  2.8G  24% /var
    /dev/mapper/data-home    2.0G  409M  1.4G  23% /home
    /dev/mapper/data-data    242G  180G   50G  79% /data
    tmpfs                    100M     0  100M   0% /run/user/0
    

    (3rd attempt at markdown crap)

    [root@slice ~]# lsblk -n --output NAME,TYPE | grep -v rom
    sda             disk
    ├─data-data     lvm
    └─data-home     lvm
    vda             disk
    ├─vda1          part
    └─vda2          part
      ├─system-root lvm
      ├─system-swap lvm
      ├─system-tmp  lvm
      └─system-var  lvm
    
  • @Liso said:

    @Hotmarer said:

    @Liso said:

    @Hotmarer said:
    Maybe some possibility of benchmarking all disks and information that there are several disks in the system? There are servers where you get 20 GB SSD and 500 GB HDD and yabs shows the sum of the disks and the speed of the first disk.

    Can you post lsblk ordf -h ? I'm trying to implement this, but unfortunately I don't have server with multiple disk.

    This is what it looks like in my private server. It would be best if someone else checked what it looks like in real low-end providers.

    root@debian:~# lsblk
    NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda                  8:0    0   50G  0 disk
    ├─sda1               8:1    0  487M  0 part /boot
    ├─sda2               8:2    0    1K  0 part
    └─sda5               8:5    0 49.5G  0 part
      └─debian--vg-max 254:0    0 49.5G  0 lvm  /
    sdb                  8:16   0  500G  0 disk /HDD
    sr0                 11:0    1 1024M  0 rom
    
    root@debian:~# df -h
    Filesystem                  Size  Used Avail Use% Mounted on
    udev                        959M     0  959M   0% /dev
    tmpfs                       196M  688K  195M   1% /run
    /dev/mapper/debian--vg-max   49G 1006M   45G   3% /
    tmpfs                       976M     0  976M   0% /dev/shm
    tmpfs                       5.0M     0  5.0M   0% /run/lock
    /dev/sda1                   470M   48M  398M  11% /boot
    tmpfs                       196M     0  196M   0% /run/user/1000
    /dev/sdb                    492G   28K  467G   1% /HDD
    

    Debian 11

    Thanks, if you don't mind-- can you post /etc/fstab content ? Just wanted to make sure about the layout.

    I mount this partition manually and I have the default fstab from debian 11.

  • Any chance of a JSON output option?

  • LisoLiso Member

    @corbpie said:
    Any chance of a JSON output option?

    Soon probably, but not in my plan now.

  • @active8 said: | IPv6 | Clouvider | London, UK | busy | busy | 10 ms |

    | | Airstream | Wisconsin, USA | busy | busy | 120 ms |
    | | Uztelecom | Tashkent, UZ | busy | busy | 93 ms |
    | | Online.net | Paris, FR | busy | busy | 14 ms |
    | | WebHorizon | Singapore, SG | busy | busy | 240 ms |

    Really no one has this problem ?
    @Liso any help ?

  • LisoLiso Member

    @active8 said:

    @active8 said: | IPv6 | Clouvider | London, UK | busy | busy | 10 ms |

    | | Airstream | Wisconsin, USA | busy | busy | 120 ms |
    | | Uztelecom | Tashkent, UZ | busy | busy | 93 ms |
    | | Online.net | Paris, FR | busy | busy | 14 ms |
    | | WebHorizon | Singapore, SG | busy | busy | 240 ms |

    Really no one has this problem ?
    @Liso any help ?

    A suggestion you can try is to manually run iperf to IPv6 host.

    iperf3 -6 -c iperf.sgp.webhorizon.in -p 9201 -P 6
    

    This should help troubleshoot the problem. Had the test failed, then your server probably didn't have IPv6 configured correctly.

  • Maybe I'm paranoid, but I can't shake the suspicion that this script is somehow backdoored and the OP is a weasel rereg.

  • AlwaysSkintAlwaysSkint Member
    edited April 2022

    @dahartigan said: Maybe I'm paranoid..

    Scary named function:

        format_disk() {
            b_formatdisk=$(printf "%s" ${1:-0} | tr -d -c 0-9) s_formatdisk=0
            d_formatdisk='' type_formatdisk=''
            while [ "${b_formatdisk}" -gt 1024 ]; do
                d_formatdisk="$(printf ".%02d" $((b_formatdisk % 1024 * 100 / 1024)))"
                b_formatdisk=$((b_formatdisk / 1024)) && s_formatdisk=$((s_formatdisk += 1))
            done
            j=0 && for i in KB/s MB/s GB/s; do
                j="$((j += 1))" && [ "$((j - 1))" = "${s_formatdisk}" ] && type_formatdisk="${i}" && break
                continue
            done
            printf "%s\n" "${b_formatdisk}${d_formatdisk} ${type_formatdisk}"
        }
    

    [Edit: emboldened.]

  • LisoLiso Member

    @AlwaysSkint said:

    @dahartigan said: Maybe I'm paranoid..

    Scary named function:

        format_disk() {
            b_formatdisk=$(printf "%s" ${1:-0} | tr -d -c 0-9) s_formatdisk=0
            d_formatdisk='' type_formatdisk=''
            while [ "${b_formatdisk}" -gt 1024 ]; do
                d_formatdisk="$(printf ".%02d" $((b_formatdisk % 1024 * 100 / 1024)))"
                b_formatdisk=$((b_formatdisk / 1024)) && s_formatdisk=$((s_formatdisk += 1))
            done
            j=0 && for i in KB/s MB/s GB/s; do
                j="$((j += 1))" && [ "$((j - 1))" = "${s_formatdisk}" ] && type_formatdisk="${i}" && break
                continue
            done
            printf "%s\n" "${b_formatdisk}${d_formatdisk} ${type_formatdisk}"
        }
    

    Actually that function is to convert bytes size to human readable, I took it from https://gist.github.com/Akianonymus/25cfa570cb66821ab61846ceb0f9ca07 (there's credit above the function).

    Before that, I'm using this code-- unfortunately it's not portable to other shells (POSIX does not define array).

  • AlwaysSkintAlwaysSkint Member
    edited April 2022

    @Liso said: Actually that function is to convert bytes size to human readable

    You don't need to explain; I gathered that - just like I gathered you didn't like the previous information I posted, showing multi-disc layout. /s :|

  • LisoLiso Member

    Okay then.... I didn't know it was meant for sarcasm :/

  • @AlwaysSkint said:

    @dahartigan said: Maybe I'm paranoid..

    Scary named function:

        format_disk() {
            b_formatdisk=$(printf "%s" ${1:-0} | tr -d -c 0-9) s_formatdisk=0
            d_formatdisk='' type_formatdisk=''
            while [ "${b_formatdisk}" -gt 1024 ]; do
                d_formatdisk="$(printf ".%02d" $((b_formatdisk % 1024 * 100 / 1024)))"
                b_formatdisk=$((b_formatdisk / 1024)) && s_formatdisk=$((s_formatdisk += 1))
            done
            j=0 && for i in KB/s MB/s GB/s; do
                j="$((j += 1))" && [ "$((j - 1))" = "${s_formatdisk}" ] && type_formatdisk="${i}" && break
                continue
            done
            printf "%s\n" "${b_formatdisk}${d_formatdisk} ${type_formatdisk}"
        }
    

    [Edit: emboldened.]

    This is the brown M&M check to see how many people look at source before running random internet script.

    The ToS that give $10k to the first person to read the ToS are much better checks.

  • @dahartigan said: Maybe I'm paranoid, but I can't shake the suspicion that this script is somehow backdoored and the OP is a weasel rereg.

    They can easily hide it in the binaries for what it's worth.

    Thanked by 1dahartigan
  • LisoLiso Member
    edited April 2022

    Hello everyone, hope you all having a great day.

    I'm happy to announce that benchy now support multiple disk layout— the process utilized lsblk to get mount-point and block devices. benchy will creates a test file on your external disk mount-point, so make sure the user you ran benchy from has write permission the disk.

    The below test is conducted on my home RPI 3B+ with external HDD attached.

    pi@raspberrypi:~ $ ./benchy -gnt
    # # # # # # # # # # # # # # # # # # #
    #            Benchy v1.3            #
    #   https://github.com/L1so/benchy  #
    #        AIO Benchmarking tool      #
    # # # # # # # # # # # # # # # # # # #
    #       22 Apr 2022 05:58 WIB       #
    # # # # # # # # # # # # # # # # # # #
    
    ARM based device is not *officially supported*, use with caution.
    Server Information
    ---------------------
    OS          : Debian GNU/Linux 11 (bullseye)
    Uptime      : 24 Days, 9 Hours, 41 Minute, 11 Seconds 
    Location    : Indonesia 
    CPU         :           
    Core        :  @ MHz    
    AES-NI      : ❌ Disabled
    VM-x/AMD-V  : ❌ Disabled
    Virt        : none      
    
    Disk & Memory Usage
    ---------------------
    Disk        : 29.06 GiB 
    Disk Usage  : 3.35 GiB (13% Used)
    Mem         : 909.89 MiB
    Mem Usage   : 129 MB (14% Used)
    Swap        : 99.99 MiB 
    
    Disk Performance Check (ext4 on /dev/mmcblk0p2):
    +---------------------------------------------------------------------------+
    | Size | Read        | Write       | Total       |       IOPS (R,W,T)       |
    +===========================================================================+
    | 4k   | 339 KB/s    | 355 KB/s    | 694 KB/s    | 0.1k   | 0.1k   | 0.2k   |
    | 64k  | 1.55 MB/s   | 1.71 MB/s   | 3.27 MB/s   | 0.0k   | 0.0k   | 0.1k   |
    | 512k | 2.39 MB/s   | 2.60 MB/s   | 5.00 MB/s   | 0.0k   | 0.0k   | 0.0k   |
    | 1m   | 2.18 MB/s   | 2.48 MB/s   | 4.66 MB/s   | 0.0k   | 0.0k   | 0.0k   |
    +---------------------------------------------------------------------------+
    
    Disk Performance Check (ext4 on /dev/sda1):
    +---------------------------------------------------------------------------+
    | Size | Read        | Write       | Total       |       IOPS (R,W,T)       |
    +===========================================================================+
    | 4k   | 374 KB/s    | 393 KB/s    | 767 KB/s    | 0.1k   | 0.1k   | 0.2k   |
    | 64k  | 3.70 MB/s   | 3.96 MB/s   | 7.67 MB/s   | 0.1k   | 0.1k   | 0.1k   |
    | 512k | 9.55 MB/s   | 10.66 MB/s  | 20.22 MB/s  | 0.0k   | 0.0k   | 0.0k   |
    | 1m   | 11.27 MB/s  | 12.39 MB/s  | 23.67 MB/s  | 0.0k   | 0.0k   | 0.0k   |
    +---------------------------------------------------------------------------+
    

    Thank you for your attention, I appreciate any feedback :)


    Note

    Your lsblk must support -p, --paths flag to print complete device path, older releases with ancient util-linux may not have it (my 14.04 box for example, does not have this option)— you can check this flag availability by issuing:

    lsblk --help 2>&1 | grep -q -- '-p,'; echo $?
    

    If it returns 0, then you're fine. Otherwise I have provide precompiled binary for people whose lsblk does not support -p option. The script will automatically detect and will download if necessary.

    Thanked by 2ElonBezos dev077
  • CatixsCatixs Member, Host Rep

    Appreciat. Any chance could generate a pic with result will be amazing.

  • LisoLiso Member
    edited April 2022

    @Catixs said:
    Appreciat. Any chance could generate a pic with result will be amazing.

    Do you mean result to paste service ?

Sign In or Register to comment.