关于Lightsail和EC2区别探究

/ 0评 / 1

TL,DR:

除了价格没区别.


从Lightsail的参数中了解到,命名方式和可突增的性能实例EC2相近,但是成本低很多.

以下这个对应t2.nano实例,Lightsail成本是3.5美金.

root@debian:~# aws lightsail get-bundles

{

    "bundles": [

        {

            "price": 3.5,

            "cpuCount": 1,

            "diskSizeInGb": 20,

            "bundleId": "nano_2_0",

            "instanceType": "nano",

            "isActive": true,

            "name": "Nano",

            "power": 300,

            "ramSizeInGb": 0.5,

            "transferPerMonthInGb": 1024,

            "supportedPlatforms": [

                "LINUX_UNIX"

            ]

        },

同等配置下的EC2,要98.3美金,当然,这个里面大多数是带宽成本.除开流量,也要6.23美金,就算这样也是Lightpsail价格的178%.

t2.nano提供5%的性能基准,有积分时候可以保证性能(或无限积分模式),EBS是每GB 3iops基准,当然,不够100iops保证100iops,并且初始含有最小540万 iops的突发.

相关性能保证的描述:

https://aws.amazon.com/cn/ec2/instance-types/

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

IO测试基准:

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/benchmark_procedures.html

现在要解决几个疑问:

测试性能耗尽脚本.

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib64

/usr/local/bin/openssl speed --seconds 60 -bytes 16384 sha256

首先,本来想升级下openssl,因为默认版本不同,然后发现EC2的系统有下面命令,而Lightsail系统则跟随CentOS一样.

#EC2

sudo amazon-linux-extras install epel

#Lightsail

sudo yum -y install epel-release

为了统一,我都从git拉取了同样的代码,编译后测试,大家都经历了编译,理论上所消耗CPU是一样的,GCC等关键软件版本(GCC 7.3)一致,在此时,Lightsail已克隆完毕,而EC2还在等待.(左EC2,右Lightsail.)

在编译环节,两者看来是同时完成的,此时EC2初始积分30分还剩29.13分.由于担心Lightsail也是积分型,所以放置了3个小时后再测(我休息了一段时间再测.)

现在测试大家都有积分,三次测试基本一样,说明性能基本没差,满载性能基本等于EC2提供的性能.数值上算是误差.

现在进行为期2小时的积分消耗,绝对能把所有积分消耗到零,测试基准性能,同时,可推算出满分是多少分.

假设基准性能是5%,即3/60,即每小时积分3分,24小时积分72分,满分72分,满分持续满负荷72分钟,如果性能是1%,即每小时积分1分,满分24分,满分持续满负荷24分钟,如此类推.

可见大家的基准基本都是5%,所以说,他们可能都是t2.nano一个模子做出来的,均为初始积分,均为5%基准.

内存上内存完全相同,可用区同一个,实际测试中,也基本没有区别,不再叙述.

IO测试脚本

#随机写

sudo fio --directory=/mnt/test --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G --numjobs=4 --time_based --runtime=180 --group_reporting --norandommap

#随机读

sudo fio --directory=/mnt/test --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G --numjobs=4 --time_based --runtime=180 --group_reporting --norandommap

#连续写

sudo fio --directory=/mnt/test --direct=1 --rw=write --randrepeat=0 --ioengine=libaio --size=1G --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_write_test 

#连续读

sudo fio --directory=/mnt/test --direct=1 --rw=read --randrepeat=0 --ioengine=libaio --size=1G --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_read_test

如果是EBS,则刚开始都能提供3000IOPS的性能,后来下降到100IOPS,测试下是否为EBS,测试证实为EBS无误,随机性能基本没差.

连续性能上来说,也差别不大,大约都为62MB,稳如狗.

进行长时间小文件IO,先耗光所有IO积分,测试,得知100IOPS,真实,这是石头了吧.

修改:网络测试结果有待争议,发现他们网络效果半斤八两,有时候EC2好过Lightsail,有时候反过来.

修改:又一个证明,lightsail这个就是t2.nano 只不过似乎是官方预留.