Site icon David Yin's Blog

VPS performance benchmark – DigitalOcean Basic Premium AMD

I created a new VPS on DigitalOcean yesterday. It is a basic shared CPU, premium AMD with NVMe SSD, 1vCPU, 1GB memory, 25GB NVMe storage, and 1TB transfer—data center in San Francisco.

The monthly cost of this VPS is $7.

The reason why to made it is to demonstrate how to install a VPS with Ubuntu 24.04 (LTS), Webmin, Nginx, MariaDB, PHP8.3-FPM, and Perl-Fastcgi.

I just changed the TCP Congestion Control Algorithms to BBR.

Yet-Another-Bench-Script (YABS)

It includes three parts.

  1.  Disk Speed tests – fio;
  2. iperf3 Network speed test IPv4 and IPv6;
  3. Geekbench 4 test.
davidyin@walnut:~$ curl -sL yabs.sh | bash -s -- -4
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2024-06-09                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Tue Oct  8 15:57:42 PDT 2024

Basic System Information:
---------------------------------
Uptime     : 0 days, 0 hours, 14 minutes
Processor  : DO-Premium-AMD
CPU cores  : 1 @ 2299.998 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 961.6 MiB
Swap       : 0.0 KiB
Disk       : 24.1 GiB
Distro     : Ubuntu 24.04.1 LTS
Kernel     : 6.8.0-45-generic
VM Type    : KVM
IPv4/IPv6  : ✔ Online / ✔ Online

IPv6 Network Information:
---------------------------------
ISP        : DigitalOcean, LLC
ASN        : AS14061 DigitalOcean, LLC
Host       : Digital Ocean
Location   : Santa Clara, California (CA)
Country    : United States

Running fio random mixed R+W disk test with 4k block size...
fio Disk Speed Tests (Mixed R/W 50/50) (Partition /dev/vda1):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 90.53 MB/s   (22.6k) | 376.39 MB/s   (5.8k)
Write      | 90.77 MB/s   (22.6k) | 378.37 MB/s   (5.9k)
Total      | 181.31 MB/s  (45.3k) | 754.77 MB/s  (11.7k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 184.09 MB/s    (359) | 384.24 MB/s    (375)
Write      | 193.87 MB/s    (378) | 409.83 MB/s    (400)
Total      | 377.96 MB/s    (737) | 794.07 MB/s    (775)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping
-----           | -----                     | ----            | ----            | ----
Clouvider       | London, UK (10G)          | 1.12 Gbits/sec  | 1.53 Gbits/sec  | 133 ms
Eranium         | Amsterdam, NL (100G)      | 1.11 Gbits/sec  | 1.64 Gbits/sec  | 144 ms
Uztelecom       | Tashkent, UZ (10G)        | 587 Mbits/sec   | 952 Mbits/sec   | 238 ms
Leaseweb        | Singapore, SG (10G)       | 771 Mbits/sec   | 1.24 Gbits/sec  | --
Clouvider       | Los Angeles, CA, US (10G) | 2.00 Gbits/sec  | 8.31 Gbits/sec  | 11.9 ms
Leaseweb        | NYC, NY, US (10G)         | 1.89 Gbits/sec  | 3.69 Gbits/sec  | 69.3 ms
Edgoo           | Sao Paulo, BR (1G)        | 807 Mbits/sec   | 692 Mbits/sec   | 184 ms

iperf3 Network Speed Tests (IPv6):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping
-----           | -----                     | ----            | ----            | ----
Clouvider       | London, UK (10G)          | busy            | 1.21 Gbits/sec  | 134 ms
Eranium         | Amsterdam, NL (100G)      | 1.09 Gbits/sec  | 1.65 Gbits/sec  | 144 ms
Uztelecom       | Tashkent, UZ (10G)        | 522 Mbits/sec   | 848 Mbits/sec   | 238 ms
Leaseweb        | Singapore, SG (10G)       | 801 Mbits/sec   | 1.19 Gbits/sec  | 179 ms
Clouvider       | Los Angeles, CA, US (10G) | 2.00 Gbits/sec  | 8.75 Gbits/sec  | 11.9 ms
Leaseweb        | NYC, NY, US (10G)         | busy            | busy            | 69.6 ms
Edgoo           | Sao Paulo, BR (1G)        | 794 Mbits/sec   | 386 Mbits/sec   | 184 ms

Geekbench 4 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 4439
Multi Core      | 4184
Full Test       | https://browser.geekbench.com/v4/cpu/18134744

YABS completed in 10 min 6 sec
davidyin@walnut:~$

Bench.sh

It has following testing portions.

  1.   I/O test
  2.  Network Speed test
wget -qO- bench.sh | bash
-------------------- A Bench.sh Script By Teddysun -------------------
 Version            : v2023-10-15
 Usage              : wget -qO- bench.sh | bash
----------------------------------------------------------------------
 CPU Model          : DO-Premium-AMD
 CPU Cores          : 1 @ 2299.998 MHz
 CPU Cache          : 512 KB
 AES-NI             : ✓ Enabled
 VM-x/AMD-V         : ✓ Enabled
 Total Disk         : 24.1 GB (2.6 GB Used)
 Total Mem          : 961.6 MB (478.4 MB Used)
 System uptime      : 0 days, 0 hour 25 min
 Load average       : 0.12, 0.32, 0.30
 OS                 : Ubuntu 24.04.1 LTS
 Arch               : x86_64 (64 Bit)
 Kernel             : 6.8.0-45-generic
 TCP CC             : bbr
 Virtualization     : Dedicated
 IPv4/IPv6          : ✓ Online / ✓ Online
 Organization       : AS14061 DigitalOcean, LLC
 Location           : Santa Clara / US
 Region             : California
----------------------------------------------------------------------
 I/O Speed(1st run) : 538 MB/s
 I/O Speed(2nd run) : 501 MB/s
 I/O Speed(3rd run) : 617 MB/s
 I/O Speed(average) : 552.0 MB/s
----------------------------------------------------------------------
 Node Name        Upload Speed      Download Speed      Latency
 Speedtest.net    1998.97 Mbps      15605.72 Mbps       0.36 ms
 Los Angeles, US  1995.83 Mbps      8625.92 Mbps        10.93 ms
 Dallas, US       1994.46 Mbps      2191.95 Mbps        38.91 ms
 Montreal, CA     595.80 Mbps       919.63 Mbps         66.60 ms
 Amsterdam, NL    278.79 Mbps       5216.23 Mbps        141.40 ms
 Shanghai, CN     484.71 Mbps       2797.90 Mbps        170.55 ms
 Hongkong, CN     3.00 Mbps         0.81 Mbps           156.12 ms
 Mumbai, IN       342.95 Mbps       3947.60 Mbps        246.15 ms
 Singapore, SG    196.00 Mbps       723.00 Mbps         176.27 ms
----------------------------------------------------------------------
 Finished in        : 4 min 25 sec
 Timestamp          : 2024-10-08 16:13:41 PDT
----------------------------------------------------------------------


 

UnixBench

First I need to clone the project, then install the build-essential
software, build the software. At last run the test.

 

davidyin@walnut:~$ git clone https://github.com/kdlucas/byte-unixbench
Cloning into 'byte-unixbench'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (97/97), done.
remote: Compressing objects: 100% (38/38), done.
remote: Total 258 (delta 76), reused 59 (delta 59), pack-reused 161 (from 1)
Receiving objects: 100% (258/258), 209.78 KiB | 3.62 MiB/s, done.
Resolving deltas: 100% (146/146), done.
davidyin@walnut:~$ sudo apt install build-essential
davidyin@walnut:~$ cd byte-unixbench/UnixBench
davidyin@walnut:~/byte-unixbench/UnixBench$ make all
davidyin@walnut:~/byte-unixbench/UnixBench$ ./Run

  #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

------------------------------------------------------------------------------
   Use directories for:
      * File I/O tests (named fs***) = /home/davidyin/byte-unixbench/UnixBench/tmp
      * Results                      = /home/davidyin/byte-unixbench/UnixBench/results
------------------------------------------------------------------------------


1 x Dhrystone 2 using register variables  1 2 3
 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: walnut: GNU/Linux
   OS: GNU/Linux -- 6.8.0-45-generic -- #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024
   Machine: x86_64 (x86_64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: DO-Premium-AMD (4600.0 bogomips)
          x86-64, MMX, AMD MMX, Physical Address Ext, SYSENTER/SYSEXIT, AMD virtualization, SYSCALL/SYSRET
   16:20:25 up 36 min,  1 user,  load average: 0.04, 0.45, 0.58; runlevel 2024-10-08

------------------------------------------------------------------------
Benchmark Run: Tue Oct 08 2024 16:20:25 - 16:48:30
1 CPU in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       40609711.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     7595.2 MWIPS (10.2 s, 7 samples)
Execl Throughput                               1697.8 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        396478.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          104575.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1253226.3 KBps  (30.0 s, 2 samples)
Pipe Throughput                              660432.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  88938.9 lps   (10.0 s, 7 samples)
Process Creation                               4874.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4795.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    632.5 lpm   (60.0 s, 2 samples)
System Call Overhead                         659235.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   40609711.9   3479.8
Double-Precision Whetstone                       55.0       7595.2   1380.9
Execl Throughput                                 43.0       1697.8    394.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     396478.9   1001.2
File Copy 256 bufsize 500 maxblocks            1655.0     104575.1    631.9
File Copy 4096 bufsize 8000 maxblocks          5800.0    1253226.3   2160.7
Pipe Throughput                               12440.0     660432.3    530.9
Pipe-based Context Switching                   4000.0      88938.9    222.3
Process Creation                                126.0       4874.2    386.8
Shell Scripts (1 concurrent)                     42.4       4795.6   1131.0
Shell Scripts (8 concurrent)                      6.0        632.5   1054.1
System Call Overhead                          15000.0     659235.0    439.5
                                                                   ========
System Benchmarks Index Score                                         793.2

Compare with the DigitalOcean Intel CPU VPS, which one will you use?

Exit mobile version