Skip to content

How to do a Memory benchmark test

Estimated time to read: 2 minutes

We will explain how you can test and compare the performance of our instance flavors. We will use an Ubuntu VM and test the Memory. You can repeat these tests on any similar platform and compare the results.

Memory

Most people don't worry about memory and look for fast CPUs. Faster memory means your service has fewer delays which translate to better application performance, so it is a big deal. Memory transfer is used nearly everywhere, caching, disk io, network, transferring computed results, etc. We do monitor all our memory busses to see if they're saturated. The Geekbench 4 test used to have a memory section, but they dropped it in version 5, so we'll use some other tools.

dd

With dd you can just copy memory.

dd if=/dev/zero of=/dev/null bs=1M count=10240

10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 0.801567 s, 13.4 GB/s

This shows it took less than a second to copy 10240 1M blocks (10GB of data) at a rate of 13.4 GB per second.

sysbench

Sysbench is a benchmark suite. It has multiple tests, we'll use it to test our memory latency and throughput.

Installation

sudo apt update && sudo apt install sysbench

Running the test

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run

Results

The test shows we have an average memory latency of 0.13ms and a bandwidth of almost 8GB per second for this flavor.

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Running memory speed test with the following options:
  block size: 1024KiB
  total size: 10240MiB
  operation: write
  scope: global

Initializing worker threads...

Threads started!

Total operations: 10240 ( 7887.68 per second)

10240.00 MiB transferred (7887.68 MiB/sec)


General statistics:
    total time:                          1.2964s
    total number of events:              10240

Latency (ms):
         min:                                    0.05
         avg:                                    0.13
         max:                                   32.45
         95th percentile:                        0.12
         sum:                                 1288.20

Threads fairness:
    events (avg/stddev):           10240.0000/0.00
    execution time (avg/stddev):   1.2882/0.00

mbw

MWB is a memory bandwidth monitoring tool. It copies large arrays of data fom memory to memory.

Installation

sudo apt update && sudo apt install mbw

Running

mbw -t2 512 -n 10| grep AVG 

Results

This instance has an average memory copy speed of nearly 6 GB/second

AVG Method: MCBLOCK Elapsed: 0.08552    MiB: 512.00000  Copy: 5986.918 MiB/s