差点被祭天!狂欢618,且看研发人如何绝地求生
每年618,在电商团队里,那都是运营的狂欢,研发的磨难,1秒钟的延迟都可能造成千万级成交额的损失......
今年的618,我的任务是负责一个预热阶段H5活动的开发,我把这个活动部署在了华为云弹性云服务器上,主要是为了在高并发的时候可以随时调整服务器规格。
前两天这个活动已经正式上线并对外推广了,而且活动效果也是超预期的好,运营部门在例会上得到了老板的赞赏。万万没想到,在一片欢乐祥和的氛围中,运营老大提出了一个问题:“现在我们网站的加载越来越慢了,有时候一篇文章要好几秒才能加载出来,造成不少用户流失。”
什么意思?甩锅?老板的目光看向了我老大,我老大又看向了我,还没等我开口,嘚嘚瑟瑟的小实习生先说话了:“我们老师讲过,新网站出现这种情况是因为服务器没有配置好!不过我们也是第一次用云服务器,出问题也正常,下去我们就改。”
啥?云服务器可是我配置的,这锅甩到了我的头上?那可不行,这么多年的代码(bug)是白写的么,岁数大了腰不好,这锅我可背不动。
4行代码振奋618程序员...
咳咳,清了清嗓子,我开始发言了:
“网站加载速度变慢主要还是由于我们用户量的快速上涨导致的,我们用的是华为云弹性云服务器,配置也非常容易,不会出现配置问题。
早上我看了一下数据,现在日访问用户接近10万(研发多看看运营的数据还是有好处的),请求量远远超出预估,运营部门还是非常给力的。我们在初期没有预计到用户增长会这么快,为了节省成本,没有采购那么高配置的服务器。
但是我们用的是华为云弹性云服务器,升级非常快,4行代码就可以搞定,我这边的方案是根据现在的业务需求以及接下来预估的用户增长速度,变更弹性云服务器规格。另外为了节省服务器成本,除了升级服务器之外,还会使用服务器的Gzip页面压缩功能,针对JS文件、CSS文件、HTML文件进行压缩,优化网站访问速度。
另外呢,加载速度慢还有一个原因是一个页面加载各种Scripts、CSS样式表、Flash以及图片时,都会请求一次http,请求次数越多,时间耗费得也越多,接下来我们把CSS和JS写到页面上,减少http的请求次数,减少外部各类文件的数量调用次数从而提升访问速度…”
发言结束,运营老大明显是没听懂,看到老板和老大向我投来赞许的目光,我就知道,这个月的优秀员工又稳了~再看小实习生,正一脸沉默地咬着笔,怕是得消化一阵子了......
散会后,看到小实习生坐在工位上那紧锁眉头的苦思冥想,我就回想起了当年我也是实习生的状态。我觉得需要对小实习生好好的聊聊,让他对现在的一些技术和产品有一个新的认识。然后我们又回到会议室里,我就开始了“演讲”。
企业进入数字化,已经不能够按照过往的模式来进行运营了,在服务器选择方面,传统的服务器已经无法满足当前企业的业务需求。传统服务器受硬件可靠性限制,容易出现问题。它还需要额外购买和部署各种安全措施,还不能做多用户到多服务器访问控制的操作。如果出现问题的话,只有一招“手动”操作。手动重复所有部署、手动备份、手动数据恢复... ...最后做的能让你怀疑人生。
相较于传统服务器,弹性云服务器具有良好的可拓展性,支持用户随时在线对服务器的内存、系统盘和带宽进行灵活调整;凭借集群部署的成本优势,极大程度降低了IT部署与业务运维成本;由于服务分散在多台主机、甚至多个机房,所以不容易彻底宕机,抗灾容错能力强,能够确保长时间在线,让网站运行更加安全、可靠。
就拿今年公司的618活动来说,活动期间平台的流量就会陡增,同时并发访问的流量也会暴增,原本规划的硬件配置就无法满足当下的流量问题。这次我正是使用了华为云弹性服务器,根据业务需求自行定义弹性伸缩策略,才能够在活动期间高访问量的情况下,保证业务平稳健康运行满足业务需求的同时,我还没让公司多花钱。弹性云服务器的帮助企业快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使你能够更专注于核心业务的创新,而不是每周不是在维护服务器,就是在维护的路上。
华为云不断革新技术,降低高性能产品的门槛,使得用户能够以普惠级别的价格享受到超高性能的产品。多款弹性云服务器正在华为云618活动热卖中,价格低至88元起,还有6600大礼包送不停,欢迎点击体验!
跟小实习生分享后,我立马开始整改,先做服务器变更,顺手也整理了一份操作文档《4行代码变更弹性云服务器规格》,分享到部门群里:
(内容详情:https://support.huaweicloud.com/api-ecs/ecs_04_0003.html#ecs_04_0003__li20744151453314)
第一步:变更云服务器规格
1.接口相关信息
URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action
2. 请求示例(写入具体弹性云服务器规格)
{ "resize": { "flavorRef": "s3.large.2" } }
第二步:确认云服务器规格变更
前提条件:弹性云服务器状态(即云服务器的 “OS-EXT-STS:vm_state”属性)必须是 “resized”。
1.接口相关信息
URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action
2. 请求示例
{ "confirmResize": null }
第三步:(可选)回退云服务器规格变更
回退须知:弹性云服务器状态(即云服务器的“OS-EXT-STS:vm_state”属性)必须是“resized”。回退后,在变更规格过程中的数据修改将会丢失。
1.接口相关信息
URI格式:POST /v2.1/{tenant_id}/servers/{server_id}/action
2. 请求示例
{ "revertResize": null }
变更弹性云服务器的时候,还有几点注意事项:
- 关机状态的弹性云服务器才能执行变更云服务器规格操作。
- 变更规格时,弹性云服务器的磁盘容量不能变小。
- 变更弹性云服务器规格时,用户不能选择已售罄的CPU和内存资源。
- 弹性云服务器规格(CPU或内存)变小,会影响弹性云服务器的性能。
据了解,目前API Explorer平台已开放EI企业智能、计算、应用服务、网络、软件开发平台、视频等70+云服务,共上线2000+个API、6000+个错误码。在前期试运行期间,华为云API Explorer平台上的API接口也已被多家企业成功接入。
点击查看详情:《华为云一站式API解决方案平台API Explorer上线》
华为云API Explorer平台在未来几个月会实现更多功能,比如支持SDK示例代码、CLI等特性,同时也会开放更多的云服务API接口,连接更多开发者实现创新、拓宽创新边界。
【今日有“Hua”聊】