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
现在要解决几个疑问:
- 性能基准是否和T2一致,如果想测试其性能基准,首先需要耗尽性能(尽量保持满负载),然后等待1小时恢复(尽量保持无负载),再次检查耗尽时间,即为积分积累效率.积分耗尽后性能,即为基准性能. 性能是一样的,并且同样5%的基准.
- 是否为EBS介质,是否满足EBS特点,维持1802秒(算上系统自身的耗损,接近半小时)的3000IOPS性能,后续是否降低到100IOPS. 性能是一样的,全部消耗后降低到100IOPS.
- 可用区内是否可以和EC2互访,是否免费,是否适用AWS传统的网络带宽计费方法. 同区同VPC可以互访.
- 网络性能,测试延迟抖动以及传输时间,连续传输1小时,以多个不同的速率. EC2也是LOW,Lightsail是不确定,同AZ理论上没区别.
- 描述中power字段是什么意思? 这个实在想不明白,哪个变量是power.
- 这里是不是同一个系统? 不是,EC2系统似乎更新.
- 是不是就是t2.nano的打包版本? 是的,实例本身没有区别.
测试性能耗尽脚本.
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 只不过似乎是官方预留.