- 测试验证(非服务部署方式)
采用负载均衡的公网服务地址, 进行测试:
[root@localhost siege-4.0.2]# curl http://47.104.145.210/fibo/35 Fibo(35) = 14930352 Server: iZm5egp1t778ocdk7f1j6fZ , private ip: 172.31.141.105
正常能够返回主机名称和IP信息。
- 创建自定义镜像
用于弹性机器扩容使用
- 创建伸缩组
进入【部署与弹性】-【弹性伸缩】,配置信息来源, 选择【自定义伸缩配置】, 这里需要【创建伸缩配置】,在里面配置上面所自定义生成的镜像, 否则服务不能正常运行, 整个伸缩功能也就无法实现。
设定实例范围: 2-6台。(期望实例数, 会随着伸缩自动增长, 但不会超过最大实例数。)
设定扩容策略为均衡分布策略,在实际应用中, 建议虚拟交换机可以划分在不同区域,以保障高可用:
创建完成:
在ECS控制台可以看到生成的实例:
在弹性伸缩后台, 可以看到实例配置信息:
- 创建弹性伸缩规则
这里设定CPU使用率不能超过30%。
- 负载测试验证
进入负载均衡SLB,可以看到已经自动配置了初始的两台实例, 权重都设定为50: 通过测试,可以看到负载均衡已经生效:
[root@localhost siege-4.0.2]# curl http://47.104.145.210/fibo/35 Fibo(35) = 14930352 Server: iZm5ecgyf8ael3v9zrtx89Z , private ip: 172.31.141.111 [root@localhost siege-4.0.2]# curl http://47.104.145.210/fibo/35 Fibo(35) = 14930352 Server: iZm5egp1t778ocdk7f1j6fZ , private ip: 172.31.141.105
- 安装压测组件:
下载:
wget http://download.joedog.org/siege/siege-4.0.2.tar.gz
解压:
tar -zvxf siege-4.0.2.tar.gz
安装依赖:
yum -y install gcc
编译安装:
cd siege-4.0.2
```bash ./configure
make
make install
- 压力测试
[root@localhost siege-4.0.2]# siege -c 255 -t 10m http://47.104.145.210/calcFib?num=99 [alert] Zip encoding disabled; siege requires zlib support to enable it ** SIEGE 4.0.2 ** Preparing 200 concurrent users for battle. The server is now under siege... HTTP/1.1 200 0.22 secs:84 bytes ==> GET /fibo/99 HTTP/1.1 200 0.22 secs:84 bytes ==> GET /fibo/99 HTTP/1.1 200 0.22 secs:84 bytes ==> GET /fibo/99 HTTP/1.1 200 0.22 secs:84 bytes ==> GET /fibo/99 HTTP/1.1 200 0.22 secs:84 bytes ==> GET /fibo/99
-c 是并发量,-t 是压测时间。持续数6,7分钟后, 可以看到自动伸缩生效,创建了新的实例。
这里自动伸缩是会监控一段时间再执行,所以在测试过程中需要等待一段时间, 具体规则可以查看:
2 无服务器计算(FaaS)
- 简述
无服务器计算(Serverless Computing),实质上将计算与容器实例脱离, 可以把一个具有独立功能的函数,来作为一个单独的服务进行部署和运行, 也称为函数即服务(Function-as-a-Service,FaaS)。
- 使用流程
- 新建函数
函数创建方式选择【HTTP函数】
函数运行配置:
触发器配置:
- 代码编辑
创建完成后, 默认会自动生成一段代码, 可以通过在线编辑器, 编写自己所需要的代码。
- 测试验证
通过触发器所提供的路径, 直接访问:
执行结果:
[root@localhost ~]# curl https://1567235516853620.cn-qingdao.fc.aliyuncs.com/2016-08-15/proxy/guide-hello_world/calc_test/ { "path": "/", "queries": {}, "headers": { "accept": "*/*", "host": "1567235516853620.cn-qingdao.fc.aliyuncs.com", "user-agent": "curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2", "x-forwarded-proto": "https" }, "method": "GET", "requestURI": "/2016-08-15/proxy/guide-hello_world/calc_test/", "clientIP": "113.118.76.129", "body": "" }