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.
- Disk Speed tests – fio;
- iperf3 Network speed test IPv4 and IPv6;
- 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.
- I/O test
- 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?