# Benchmark & Stress test toolset



## Sergei_Shablovsky (Sep 2, 2021)

Dear FreeBSD Gurus!

Please suggest the toolset for benchmark testing and for stress test: from memory modules, CPU, PCI bus to HDD/SDD.
(both for initial testing when new servers arrive in DC and for periodical testing after maintenance like memory upgrade, CPU upgrade, disks upgrade...)

Also would be great to read about toolset for networking hardware testing. 

_I see some tools on FreshPorts.org (https://www.freshports.org/benchmarks/?page=1) but not sure which are up to date / great._

Thank You for all detailed suggestions!


----------



## SirDice (Sep 2, 2021)

For memory testing you can use sysutils/memtest86. benchmarks/bonnie++ is a good tool to measure disk I/O. Network testing can be done with benchmarks/iperf3. If you want to stress test the whole system then simply building world (build(7)) is a really good litmus test.


----------



## grahamperrin@ (Sep 4, 2021)

Sergei_Shablovsky said:


> HDD



Without running FreeBSD: *HDAT2*. 

Shots of one of the available routines:


----------



## Sergei_Shablovsky (Nov 2, 2021)

grahamperrin said:


> Without running FreeBSD: *HDAT2*.
> 
> Shots of one of the available routines:
> 
> View attachment 11190View attachment 11191



Thank You for suggestion!

Last 20+ years I using a lot of great tool for low-level HDD testing/recovering... 

I try to find some FreeBSD-oriented toolset to testing certain part of BSD on performance, for example:
- numbers of disk io operations during certain type of network loading;
- NIC throughput, buffers state, BSD tcp stack buffers state during certain type of network loading;
- impact on 1st and 2nd CPU and memory banks certain type of network loading;
....


----------



## cmoerz (Nov 4, 2021)

Phoronix - benchmark/phoronix-test-suite and you can measure against other references posted on https://www.phoronix.com/scan.php?page=home, though admittedly, it's very Linux centric...






						FreeBSD - Phoronix
					






					www.phoronix.com


----------



## Alain De Vos (Nov 4, 2021)

If you want to compare freebsd systems just extract the kernel sources to /usr/src and do a "time make buildkernel". It will give an overall number


----------



## grahamperrin@ (Nov 5, 2021)

cmoerz said:


> benchmark/phoronix-test-suite



benchmarks/phoronix-test-suite (benchmarks, plural)

<https://pastebin.com/Wf9sbbxc> lines 3–14, installation of all three flavours seems peculiar. A bug?


----------



## diizzy (Nov 5, 2021)

I'd recommend actually the commercial version of memtest86 over the port, the non pro version is Free (with some limitations)








						MemTest86 - Official Site of the x86 Memory Testing Tool
					

MemTest86 is the original self booting memory testing software for x86 and ARM computers. Supporting both BIOS and UEFI, with options to boot from USB.



					www.memtest86.com
				




Instead of bonnie++ for benchmarking I'd say that fio ( benchmarks/fio in ports )  is much more flexible and better suited for "todays" hardware and load tests

As mentioned before buildworld is a good general "load test"

For HDDs I'd just go with dd and the long SMART test (use smartmontools)


----------



## grahamperrin@ (Nov 5, 2021)

diizzy said:


> … and the long SMART test (use smartmontools)



It's useful, but neither a stress test nor a benchmark.


----------



## cmoerz (Nov 5, 2021)

grahamperrin said:


> benchmarks/phoronix-test-suite (benchmarks, plural)
> 
> <https://pastebin.com/Wf9sbbxc> lines 3–14, installation of all three flavours seems peculiar. A bug?


Not 100% sure - this might have to do with different runtime tests for different php versions? From a purely execution-only perspective, command line php suffices.

From its github page:


> The only hard dependency on the Phoronix Test Suite is having command-line support for PHP (PHP 5.3+) installed. A complete PHP stack (e.g. with web server) is *not* needed, but merely the PHP command-line support, which is widely available from operating system package managers under the name php, php7-cli, php5-cli, php7 or php8.



So, yes, could very well be a fluke in the port.


----------



## grahamperrin@ (Nov 6, 2021)

Thanks. 

Cases where specifying the origin with pkg-install(8) will result in multiple flavours · Issue #349 · FreshPorts/freshports


----------



## Sergei_Shablovsky (Nov 7, 2021)

grahamperrin said:


> Thanks.
> 
> Cases where specifying the origin with pkg-install(8) will result in multiple flavours · Issue #349 · FreshPorts/freshports


Thank You to take an active part in resolving. I'm so busy last days and have no time to open a bug report... 

So, is the installation on 12.X without any problems ?
And what about 13.X ?


----------



## grahamperrin@ (Nov 7, 2021)

<https://www.freshports.org/benchmarks/phoronix-test-suite#flavors> which flavour do you want?


----------



## Sergei_Shablovsky (Nov 7, 2021)

grahamperrin said:


> <https://www.freshports.org/benchmarks/phoronix-test-suite#flavors> which flavour do you want?


Thank You for reply.

I mean *common known problems related to certain version of FreeBSD.*

Because due last bug, the package looks a little abandoned... I make wrong conclusion ?


----------



## grahamperrin@ (Nov 8, 2021)

Not abandoned, there's recent history: 

<https://www.freshports.org/benchmarks/phoronix-test-suite#history>


----------



## Sergei_Shablovsky (Jun 3, 2022)

SirDice said:


> For memory testing you can use sysutils/memtest86. benchmarks/bonnie++ is a good tool to measure disk I/O. Network testing can be done with benchmarks/iperf3. If you want to stress test the whole system then simply building world (build(7)) is a really good litmus test.





jbodenmann said:


> I still run the occassional stress test & memtest on this machine over night because I'm paranoid.


Which tool set (or set of pkg) You suggest to STRESS TESTING rack servers like 
2-4 CPU package
32-196 Gb RAM
hardware RAID1-10 with 2-12 HDD/SDD
internal SATA
extra FC controllers
2-6 NICs
2 PSU

As some sort of “beloved in FreeBSD”, I sure You have some “magic bullet” stress test in Your pocket...


----------



## diizzy (Jun 3, 2022)

fio, stress-ng (especially ones using Intel's ipsec crypto library), memtest86 (I'd use the standalone version), 7-zip's (archivers/7-zip) benchmark option can also be very useful, https://sevenzip.osdn.jp/chm/cmdline/commands/bench.htm


----------

