原文作者hostloc的wweng,原贴:云筏CloudRaft容器云平台初评 暴力测试
有幸得到了一个容器云的内测名额,先做了一些简单的测试。这家使用的是Jelastic平台,宣称是按量计费的容器化服务,这几天体验了一下常用的功能,先发个总结,案例式的评测后面慢慢来。只发loc了,排版就不是很好看。
首先是创建环境。这个界面相比常用的面板其实有点复杂了,要看文档才能知道很多选项的位置。
上面预置了各种常用环境和Docker。以PHP为例,完整的php应用支持直接添加负载均衡、 LNMP LAMP或LEMP、MYSQL、Memcached、Redis等各种应用。但实际上简单的php环境是不需要负载均衡的,如果业务量小可以直接取消掉。
一个细节是二级域名的SSL要额外收费,独立域名的SSL需要加钱上公网ip才能用,这点是希望改进的。
评测我不太擅长,简单的介绍别人肯定都做了,那就测试一个专项方面。既然是容器云,优势就是不同负载下的弹性伸缩,所以就得拿出简单暴力的测试工具:apachebench。
被测程序:Wordpress,未启用Memcached,只有默认文章。
测试环境:内网运行centos镜像的docker容器
LNMP的Wordpress服务器最低是1个单元,最高8个单元,这样当占用资源超过1个单元的配额的时候就会扣多个单元的费用,Jelastic平台称之为纵向伸缩。同时设置了自动镜像(Jelastic平台称为横向伸缩),会复制自动在高负载的时候复制多个容器出来,负载低的时候删掉。
然后开测。
- [root@node949-env-5634803 ~]# ab -c 100 -n 10000 http://env-9035489.cloud.cloudraft.cn/
- This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
- Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
- Licensed to The Apache Software Foundation, http://www.apache.org/
- Benchmarking env-9035489.cloud.cloudraft.cn (be patient)
复制代码
很快第一个容器的8个单元cpu就全占满了,到达设定的满载时间后系统开始复制第二个容器。
不知道什么原因(可能是网络?),容器复制也非常慢,需要3-5分钟。面对突发负载,这个速度的自动扩容应该是无效的——等扩容好了,突发负载可能都下去了,这样的话只能靠加大单个容器的最大单元数。复制后的容器自动加入负载均衡,无需任何操作。
复制两三个容器后,浏览器端就能流畅打开首页了,可见自动扩容虽然慢,还是有显著效果的。统计里也能看到ab的流量被分别导向了多个容器。
ab停下来的时候就会自动缩回了。缩回后计费即停止,同时最后一个容器也会在负载消失后按1个单元的最低量计费。
实际上apachebench不能完全模拟突发负载,但是这里已经能看出Jelastic平台两种伸缩方式的不同。如果自动镜像速度能更快(30s到1分钟内能复制完毕),效果必然会更好。
后续会对两种扩容方式分别适用的两个不同系统(自助App构建系统和活动运营平台)进行更详细测试。