在简单了解各家云计算的能力之后,紧接着大家关注的问题就是性能、价格、稳定性等问题。本篇先从性能入手
本篇准备测试阿里云,Windows Azure中国站,并以AWS作为比较。测试对象以虚拟机为主,测试工具为两个:
- Unixbench:开源的Linux性能测试工具,可以综合测试虚拟机的CPU、内存、文件、进程、脚本、系统调用、管道等多个维度,并且会给出一个总分。该工具介绍:http://code.google.com/p/byte-unixbench/
- Orion: Oracle发布的一个免费IO测试工具,该工具可以测定磁盘的IOPS、吞吐量、延迟。尽管也有一些其他IO测试工具,比如dd、bonnie++、iozone,但是只有orion可以同时测定IOPS和吞吐量,这也是我选择该工具的原因。该工具介绍在http://www.oracle.com/technetwork/cn/topics/index-088165-zhs.html
OS性能测试
首先来看Unixbench,由于各家的虚拟机规格不同,我选择如下的虚拟机规格进行对比
测试使用的站点 | OS类型 | 小规格 | 中规格 | 大规格 | |
Windows Azure中国站 | 北京 | CentOS 6.3 64位 | S 1核1.7G内存 |
M 2核3.5G内存 |
L 4核7G内存 |
AWS北美 | US East | CentOS 6.3 64位 | m1.small (1 ECU) 1核1.7G内存 |
m1.medium (2 ECU) 1核3.5G内存 |
m1.large (4 ECU) 2核7.5G内存 |
阿里云 | 青岛 | CentOS 6.3 64位 | 1核1.5G内存 | 2核4G内存 | 4核8G内存 |
尽管AWS的中规格只有1个核,但是根据AWS的配置,其等效的计算能力(ECU)是小规格的2倍,所以它跟Azure的M型是对等的。大规格同理
百度云和新浪云的虚拟机还未开放,暂不考虑
首先说明下测试过程。公平起见,本测试未做任何性能调优和配置变更,完全采用各家提供的缺省OS镜像。虚拟机也都没有配置SWAP分区
Unixbench安装与配置
首先用root登录目标虚拟机
1. 下载安装包。建议下载最新版
wget http://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz
2. 解压缩
tar zxvf UnixBench5.1.3.tgz
3. 进入UnixBench目录
4. 进行编译
make clean
make
5. 运行./Run即可开始测试,等待十几分钟即可
如果运行时报如下错误
Can't locate Time/HiRes.pm可以执行下
yum install perl-Time-HiRes安装缺少的包
在Windows Azure下,CentOS缺省没有安装gcc,可以在make之前运行如下命令安装gcc
yum --disableexcludes=main install gcc
在阿里云和AWS下,Unixbench需要安装一个perl扩展包,可在运行./Run前运行
yum install perl-Time-HiRes
Unixbench测试结果
虚拟机的性能,主要取决于两个因素:物理机性能,物理机上运行的虚拟机个数。了解虚拟化的人都会知道物理核和虚拟机的逻辑CPU(vCPU)并不是一一对应的。一个物理核可以支持多个vCPU,甚至一个超线程支持多个vCPU。这样一个2个4核支持超线程的处理器,首先在虚拟化层会变成16个核,进而可以支持最少16个vCPU。显然,vCPU对应的物理核配额越多,其性能就越好,Unixbench分数就越高
先看一下总分