Skip to content

Benchmark Hardware

The SearchBench results are measured on a small dedicated machine that does nothing else during a run. Each results page says which machine it used. This page has the details.

System Minisforum MS-A2
CPU AMD Ryzen 9 9955HX: 16 cores, 32 threads, AVX-512, 2.5 GHz base, boosts to 5.06 GHz
Cache 64 MiB L3 in two groups of 8 cores, 1 MiB L2 per core
Memory 64 GB: 2 x 32 GB DDR5-5600 SO-DIMM, CL46 (TEAMGROUP Elite)
Storage WD_BLACK SN7100 2 TB NVMe (PCIe Gen4), ext4
OS Ubuntu 26.04 LTS, Linux 7.0
Firmware BIOS 1.03, balanced power mode, 90 °C temperature limit, fan mode quiet

I have two of these great little servers. It’s twin is called hugin and has the exact same hardware.

  • CPU frequency is pinned. Minimum and maximum are both set to 3.3 GHz with the performance governor. This is a mini PC, and it cannot hold boost clocks with every core busy without thermal throttling. It could run faster without thermal throttling, but it would sound like a jet engine ;-) The pin is well below what the chip can boost to, but repeatable numbers are more important.
  • Address space layout randomization is off, which removes a source of run-to-run variation in memory layout.
  • The server and the load driver get separate cores. The engine under test runs on 14 physical cores (28 threads) and the load driver on the other 2 (4 threads), so the driver never competes with the server for CPU. Simultaneous multithreading is on.
  • Traffic goes over loopback. The driver and the engine are on the same machine, so the network is not part of the measurement.
  • The page cache is warm. Indexes are read before measurement starts. These are warmed serving numbers, not cold start.
  • The normal settings are restored afterward, and the actual frequencies and temperatures are recorded throughout the run along with the results.

The actual frequencies and temperatures are recorded throughout benchmark runs, so we can detect if anything goes wrong (like thermal throttling, or clocks not being pinned).