成都贵州核酸检测系统崩溃背后的技术

9月3日“成都发布”消息称,9月1日,成都市新型冠状病毒肺炎疫情防控指挥部发布《关于在全市开展全员核酸检测的通告》,决定自9月1日至9月4日在全市范围内开展全员核酸检测。9月2日晚,核酸检测系统出现异常,导致采样排队时间过长,核酸检测进度缓慢,给市民群众带来困扰和不便。

无独有偶,9月3日12时许,贵州省核酸检测系统出现异常,导致用户无法登录。当日16时起,贵州省核酸检测系统逐步恢复。云上贵州大数据公司发布信息表示歉意,并将以此为鉴,全力改进工作。

顶象业务安全专家认为,核酸检测系统崩溃的技术原因很多,网络带宽、云服务稳定性和资源扩展性、应用系设计、数据库性能以及运维能力都可能影响系统服务。“用户最能直观感受到的一个服务节点。当服务页面出问题后,最先想到的就是应用系统,其实像网络带宽、负载均衡、CDN、数据库性能、运维系统等基础设施和运维能力,都会影响到用户的直接体验。”

顶象业务安全专家建议,应用上线前,企业和单位需要做好应用的容量评估和规划、性能压测以及全链路压测,并制定好故障应急处理流程机制。同时,在运维服务上,尽量选择原厂背后的研发和架构团队做支持。

核酸检测系统的加载过程

成都、贵州等地核酸检测系统频陷崩溃,背后的技术原因会有多种可能。因为应用系统上线运行后,影响系统性能的环节会非常的多。从技术视角看,用户的一个url请求到后台服务,中间要经过多个环节,过程非常复杂。

1、请求发起。浏览器发起url请求、DNS解析、和服务端建立TCP链接、HTTPS协议认证、压缩数据并进行网络传输、接收到结构进行页面渲染

2、网络传输。网络节点路由、数据包封包/拆包、安全防火墙规则和限制、负载均衡/代理服务

3、系统服务。身份验证/权限控制、业务系统、其他依赖的各类应用服务

4、数据存储。缓存、数据库、消息队列、文件等。

可以看到,用户的请求要到达业务系统要经过多个环节,每一个环节都涉及性能上的问题,每一个环节又都有各自可优化的点。

例如,前端发起请求的优化,从浏览器发起url请求,涉及浏览器对域名请求并发数限制、js/css/图片等请求文件大小、请求内容的CDN加速、请求内容的浏览器缓存等。现在大多浏览器都自带开发者诊断工具,可以有针对性的去做性能定位,下图展示了用户的请求情况和单个请求的timing耗时。

核酸检测系统“崩溃”的技术原因分析

上面提到的四个流程环节都涉及性能优化,每个环节的快与慢都可能影响到用户的直接体验。核酸检测应用系统出现访问慢、崩溃等情况,可以在以下几方面查找原因。

1、网络带宽。可以类比请求数据传输的高速公路,碰到国庆/春节假期高速免费通行,就可能出现堵车的情况,影响出行速度。对应用系统来说,用户访问量激增,如果网络带宽不够,也会出现网络拥堵,影响页面的加载速度,表现出来的就是页面加载不出来或页面加载出错。

2、云服务平台/基础设施的稳定性和性能。现在云计算服务大范围普及,应用都运行在公有云或私有云上,会使用到云服务器、负载均衡、CDN、云存储、流量带宽等云服务。云服务平台作为基础设施的提供方,提升了应用开发部署和运维的效率和降低了运营成本。

一方面,云服务提供方要保障基础设施的稳定性,基础设施出现问题,会影响的业务系统的稳定性;另一方面,云服务使用方也要合理地采购云服务资源,避免资源不足影响业务系统的正常使用。

3、应用系统自身设计和性能。系统的设计的大框架,决定了应用系统的性能和稳定性。例如,技术上调侃的


转载请注明:http://www.aierlanlan.com/grrz/8792.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了