自用linux server性能测试

前言

用工具测试下手头用着的linux server,三个vps平台、一台物理机,测试结果看看就好,不用太较真。

测试结果汇总

服务商 Google Cloud Google Cloud 阿里云 某NAT VPS商家 个人PC
机器型号 f1-micro 1vCPU 0.6GB 10GB g1-small 1vCPU 1.7GB 40GB ecs.n4.small 1vCPU 2GiB 40GB 1vCPU 1GB 20GB 4CPU 8GB 480GB(nvme)
参考价格 $6/mo $20/mo ¥98/mo ¥26/mo
系统 Ubuntu 18.04 LTS Ubuntu 18.04 LTS CentOS 7 Ubuntu 18.04 LTS Ubuntu 18.04 LTS
CPU信息 Xeon(R) CPU @ 2.00GHz Xeon(R) CPU @ 2.00GHz E5-2682 v4 @ 2.50GHz E3-12xx v2 @ 2.50GHz i3-8100 CPU @ 3.60GHz
sysbench(cpu) 9469 (v1.0.11) 9477 (v1.0.11) 7909 (v1.0.17) 6157 (v1.0.11) 12799 (v1.0.11)
4K W/R 6.5 MB/s 8.1 MB/s 6.6 MB/s 7.8 MB/s 8.3 MB/s 8.7 MB/s 1.2 MB/s 1.2 MB/s 245 MB/s 80 MB/s
1M W/R 37.7 MB/s 128 MB/s 37.7 MB/s 128 MB/s 109 MB/s 111 MB/s 101 MB/s 103MB/s 1 GB/s 1 GB/s
RAM 4K 975 MB/s 1.5 GB/s 1.2 GB/s 2.3 GB/s 1.2 GB/s 2.1 GB/s 89.1 MB/s 94.2 MB/s 2.2 GB/s 2.9 GB/s
MariaDB ENCODE 1.457s (19.03.5) 1.772s (18.06.1) 2.135s (19.03.5) 1.126s (19.03.4)
公网带宽 >100Mb >100Mb 1Mb 共享50Mb 家宽

测试项说明

sysbench(cpu)

直接运行如下shell命令,并取运行输出中的Threads fairness avg events作为测试结果(表中括号内为sysbench软件版本),数值越大越好:

1
sysbench --test=cpu --cpu-max-prime=10000 run

4K W/R

用如下dd命令以4K为块单位测试硬盘写读速度(测3次取平均值),数值越大越好:

1
2
dd if=/dev/zero of=tmpfile bs=4096 count=32768 oflag=direct
dd of=/dev/null if=tmpfile bs=4096 count=32768 iflag=direct

1M W/R

用如下dd命令以1M为块单位测试硬盘写读速度(测3次取平均值),数值越大越好:

1
2
dd if=/dev/zero of=tmpfile bs=1048576 count=1024 oflag=direct
dd of=/dev/null if=tmpfile bs=1048576 count=1024 iflag=direct

RAM 4K

挂载出一块内存盘,用dd命令以4K为块单位测试内存写读速度(由于内存盘不支持direct io,第二次之后的测试结果有较大波动,故只取首次运行结果),数值越大越好:

1
2
3
4
5
6
mkdir ~/ram
sudo mount -t tmpfs -o size=512m ramdisk ~/ram
sudo chown $USER:$USER ~/ram
cd ~/ram
dd if=/dev/zero of=tmpfile bs=4096 count=65536
dd of=/dev/null if=tmpfile bs=4096 count=65536

MariaDB ENCODING

用Docker运行一个MariaDB实例,运行之后使用ENCODING命令测试MariaDB运行速度(表中括号内为Docker版本),数值越小越好:

1
2
3
mkdir ~/mariadb_vol
docker run -d -v ~/mariadb_vol:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345 --name mariadb_test --restart=always mariadb --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
docker exec -it mariadb_test mysql -uroot -p12345
1
SELECT BENCHMARK(10000000,ENCODE('hello','goodbye'));

总结

便宜自有便宜的道理,NAT VPS有着大带宽(虽然是共享的)、低价格的优势,但换来的是老旧的硬件平台(2012年的Ivy Bridge + DDR3)和接近机械硬盘的4K读写速度。
阿里云、谷歌云等大型云平台的VPS虽然带宽或流量贵、价格也贵,但硬件平台往往是较新的(阿里云是2016年的Broadwell + DDR4,谷歌云则更新),硬盘性能也更有保障(不过谷歌云实在是贵啊……)。怎么取舍,还是要看个人需求。


自用linux server性能测试
https://www.yooo.ltd/2019/11/18/自用linux-server性能测试/
作者
OrangeWolf
发布于
2019年11月18日
许可协议