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.
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.
With dd you can just copy memory.
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 is a benchmark suite. It has multiple tests, we'll use it to test our memory latency and throughput.
Running the test
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
MWB is a memory bandwidth monitoring tool. It copies large arrays of data fom memory to memory.
This instance has an average memory copy speed of nearly 6 GB/second