本文所有操作对应的是 Debian 系统,并且用户假设为 root 用户。根据本文所述指南,我对腾讯云和阿里云的三个云计算基础产品进行了评测,产品类别包括云服务器、云数据库和对象存储。具体对比结果请看: 国内公有云大幅降价后,首份一手云计算产品评测报告
云服务器
在开始测试云服务器之前,推荐按量计费方式购买实例。同时确保用于对比的云服务器配置规格相同或具有可比性。
通过服务商提供的账户名和密码登陆云服务器之后,请先更新系统(本文所有操作均针对 Debian 系统)。
apt-get update
在云服务器的测试过程,我将先通过 UnixBench 和 GeekBench 这两个常用的基准测试工具,获得对主机的一个总体评分。然后再从 CPU、内存和磁盘 I/O 等方面进行单项测试。
1. UnixBench
UnixBench 是测试类 Unix 系统性能的老牌工具,也是常用的基准测试工具。它会执行 11 个单项测试,包括字符串处理、浮点运算效率、 文件数据传输、管道吞吐等,然后将结果与一个基准系统进行比较,得到一个指数值。指数值越高,性能越好。
最终的得分比单个测试的结果根据参考价值,而且也方便对服务器进行比较。
在安装 UnixBench 之前,要先准备好相关的依赖。请执行:
apt-get install libx11-dev libgl1-mesa-dev libxext-dev perl perl-modules make gcc
下载安装包,然后按下面的提示操作。官方的源在 googlecode 上,国内访问不便,我已经将文件上传到对象存储服务。
wget http://codingpy-1252715393.cosgz.myqcloud.com/archive/UnixBench5.1.3.tgz
tar xvf UnixBench5.1.3.tgz
cd UnixBench
make
运行 make 之前,确保将 Makefile 文件中 GRAPHICS_TEST = defined 行被注释掉,因为我们是在服务器端进行测试,不需要做 2D/3D 图形测试。
最后,执行:
./Run
如果一切正常,应该会出现类似下面的文字:
UnixBench 测试的运行时间比较长,期间可以离开去干别的事情。
除了直接在命令行输出测试结果之外(如下图),还会在 result 目录下生成一个 HTML 格式的报告,可以将其拷贝至本地。
一般来说,得分在 1000 以上的云服务器就算还不错的。
2. GeekBench
GeekBench 是另一款知名的性能测试工具,目前的最新版本为 GeekBench 4。相较于 GeekBench 3,最新版对测试标准进行了调整,能够更好地模拟真实任务和应用。它支持测试单核和多核性能,不过由于我们选择的虚拟机只有 1 核,在测试时请忽略多核的测试得分。
还要注意的是,GeekBench 是一款商业软件,可供免费使用的只有 32 位。如果你想在 64 位服务器上使用该工具,则需先添加必备的运行时库。
dpkg --add-architecture i386
apt-get update
apt-get install libc6:i386 libstdc++6:i386
然后下载安装包:
wget http://codingpy-1252715393.cosgz.myqcloud.com/archive/Geekbench-4.0.0-Linux.tar.gz ~/ # 官方地址下载较慢,替换为国内源。
解压缩并执行测试:
tar -zxvf ~/Geekbench-4.0.0-Linux.tar.gz && cd ~/build.pulse/dist/Geekbench-4.0.0-Linux/
./geekbench_x86_64
测试结束后,GeekBench 会将结果上传到自己的网站,并返回一个访问链接。
3. CPU Cyclictest
Cyclictest 是一个高精度测试程序,可用来衡量 CPU 的平均延迟,即完成一个 CPU 周期所需的时间。通过这个数据,我们可以判断物理 CPU 的超卖情况;特定时间内,有多少虚拟 CPU 在排队等候物理 CPU 进行处理。因此,这个测试的数据越低,说明 CPU 的响应越快,延迟越低。
cyclictest 是 rt-tests 包的一部分,我们按如下操作安装并运行:
apt-get install rt-tests
cyclictest -D 10s -q
我们将使用测试结果中的 avg_lat 值。
4. 内存性能
Mbw 是一个 Linux 内存性能测试工具,可以测试内存数据拷贝操作的速度。速度越快,性能越高。在内存大小相同的情况下,该指标就显得比较重要,该指标越高越好。因为通常内存数据操作是计算的常见瓶颈之一。
按如下操作安装并运行:
apt-get install mbw
mbw -n 250 -t 0 200
我们取测试结果中 avg_copy 的值。