版权声明:本文由黄希彤 原创文章,转载请注明出处:
文章原文链接:https://www.qcloud.com/community/article/659199001486974586
来源:腾云阁 https://www.qcloud.com/community
为了应付突发的访问压力,我们常常会使用弹性伸缩功能,在系统遭遇突发压力的时候迅速生成新的主机加入集群来分担压力。但是随着系统越来越大,打包的系统镜像也越来越大,生成主机的速度也就越来越慢。我的一些服务器扩容速度从一开始的1分多中已经增加到了8分中左右,对突发性访问压力的响应速度大打折扣,用户体验也开始受到影响。
咨询了CBS 团队专家之后,终于找到了优化方案:
1 制作系统盘镜像之前,确保制作镜像使用的主机的系统盘是CBS盘(云硬盘)。(如果主机用的是本地硬盘的话,先制作一个本地硬盘镜像以后,按量临时购买一台使用CBS做系统盘的新服务器,把镜像装上去,然后再关机打包新服务器的系统盘镜像。)
2 关机打包CBS系统盘的完整镜像
3 确保弹性伸缩的启动配置里面,系统盘使用的是CBS而不是本地硬盘。
也就是说,确保这三件事:被打包的系统盘是CBS盘,被生成的服务器系统盘是CBS盘,并且打包的时候关机了。
原理是,满足这几个条件的情况下,生成镜像的时候会同时生成CBS快照(云盘快照),并且创新新主机的时候会采用云盘快照的回滚机制进行回滚创建,比原来的系统镜像方式生成主机快的多。
具体的讲,快了多少呢,贴一个两种方式的对比就知道了:
在这个例子中,原本生成一台主机需要七分半钟,优化后生成一台一模一样的主机只花了1分15秒。