华为|服务端性能保障之流控

华为|服务端性能保障之流控

文章图片

华为|服务端性能保障之流控

文章图片


【华为|服务端性能保障之流控】在互联网支付时代 , 我们无法预估系统承受最大并发用户数 , 做为性能测试人员如何确保系统在高并发下的稳定性、高可用性?
不同阶段的学习提升中 , 问的问浅题深不一 , 深广度不同、天南地北都有 , 确实很有趣 , 在交流中也提升丰富我的知识体系 , 也会有碰到一些问题 , 我在平常工作中不会考虑那么完善 , 也有因知识面出现缺漏 , 让我弥补 , 让我逐渐完善我的管理体系和各类领域专业知识 , 并运用到实际项目工作中 , 例如道数据库表设计中char、varchar在性能上的区别与用法、不同类型磁盘的性能影响、APP弱网测试、南方与北方无线网传输异常原因、数据库试图使用场景、并发数与在线数如何估算等等 , 不同的技术问答题 , 都有不同的论证方法 , 都能写成一篇技术文章 。
本章介绍的是系统流量控制或者说限流 , 也是在课堂中一个学生问到一个问题 , 个人觉得值得探讨 , 因为该问题在2012年的时候 , 我曾测试过一个国有大行大型项目 , 该系统流程复杂、规则校验多、数据量庞大、并发用户数多且集中并发度高 , 客户的要求与项目运维运营技术问题 , 确实深有体会 , 加上互联网交易时代 , 各种APP产品铺天盖地 , 各种营销手段层出不穷 , 目的就是为了抢夺市场 , 抢夺用户流量 , 这时我们无法使用正常手段进行评估系统用户数 , 为了提高系统的可靠性、用户体验等 , 软件开发会从不同架构设计角度 , 非功能性设计等来完善架构的性能 , 这也是微服务能慢慢风靡原因之一 , 通过微服务架构来提高系统在高并发下的高可用性、高可靠性等 。
产品需流控背景
例如各种电商APP出现 , 确实对于未知的市场用户数量在性能测试过程中确实很难预估将来在线用户数、注册用户数、并发用户数 , 甚至游客查询产品信息用户等也会对服务产生压力 , 这种确实很难估算 , 那我们如何做呢?
现在各类高并发性能压力场景下 , 对服务端的流控已经成为硬性架构设计指标要求 , 目的是为了保证系统在高压下能平稳运行起到高可用性、高可靠性作用 。
其实很多对外接口服务也是一样为了防止外来请求数据高于自己预估指标 , 会对外服务接口设置接口限流作用 。 特别是微服务系统 , 其接口请求可能来自很多外系统调用 , 对于这种海量接口请求的微服务 , 接口限流很重要 。
应对哪些指标进行流量控制呢?
我们性能测试过程涉及的性能指标有吞吐率、TPS、HPS、并发用户数这些技术性指标等都可以当作流控的指标 , 当然业务上的某些指标也可以 , 例如输入验证码的时间限制、短信验证码输入次数、机构用户限制、JSF请求限制等 。
一般情况下 , 对请求数就是HPS进行流控比较方便 , 因为该值可查、可控性也高 ,, 通过性能压力测试容易压力与定位 。
场景案例介绍
下面场景案例是本人在2012年时 , 协助国内一家比较大型的城商行对信贷系统进行流量控制验证性测试介绍 。
项目背景:
对某系统流量监控测试主要验证在开启监控工具进行稳定性测试对抓取响应超时的JSF与UCC时是否对系统内存等资源使用有影响;同时在开启流量访问数控制开关时针对系统并发一定数量的用户数访问特定的JSF、UCC是否进行功能性控制等验证性测试 。