一遇“高并发”系统就难逃一“崩”,性能测试的方法你选对了吗?(下)
3、如何开启一场优质的性能测试?
“云压力测试平台能够帮助用户解决哪些性能问题?如何解决?”
一般来说,分析性能问题需要从网络层面、操作系统层面、应用服务器、服务器问题这四个层面入手。
在网络层面,主要就是带宽不足、网络异常抖动,如果使用机房的 IDC 部署,还需要考虑交换机的收敛比;
在操作系统层面,存在的典型问题是参数标准化的问题,比如说 Sysctl 以及一些网络参数的配置问题;
在服务器端,CPU 监控过程中需要区分哪些进程的 CPU 占用过高;
如果进程占用过高,还要分析进程占用大概是一个什么样的状况,磁盘 IO 如果读写过高的时候,就要考虑是否有更好的 SSD 的硬盘。
如果想要更加系统地进行性能测试问题的分析,更加全面地探索到性能问题,那么一套系统完整的测试流程是不可或缺的。
完整的测试流程如上图所示,从需求分析开始到测试的规划、脚本的编写、测试的准备,然后进行一个全面的分析,最后出具评测报告,报告中会包括一些指标如监控数据和配置数据的输出。
云压测中,需求分析的环节需要关注几个重要的点,包括网络的信息、防火墙的信息的收集,防毒墙、负载均衡的设备、软硬件加解密、应用结构化的部署,以及用户操作习惯的使用评估等,当这些点都分析的比较完整后,就可以做出来一些比较贴合实际的场景了。
在测试规划中,比较重要的是了解从各个区域访问的时间差异,比如说北上广深相对于一些偏远山区,在访问过程中这些地区的响应时间是不是基本上一致,如果不一致运维人员要需要分析一下服务器摆放位置、CPN 配置合不合理等问题。
在脚本编写上,过程需要简单化,简单到让业务人员也可以参与编写,这样做的好处在于业务人员也能够参与到测试中。在分析测试场景的时候,离市场最近的业务人员要比一些常规的技术人员分析的更透彻。
测试准备的过程中,监控工具要做到尽量全面化覆盖,除了典型的五大件之外,还需要包括一些错位预制的快速输出。监控的软硬件机器一定要部署类似于自动报警的功能,一旦出现大面积问题,可以给运维人员快速的提示,以便其作出快速响应。
在全面分析环节,要注意的是,基础数据和测试数据的预估量和生产需要基本保持一致,这样测试结果就跟线上真实的访问结果基本上不会有太大出入,具有非常准确的参考价值。
分析过程可以借助工具来完成,提前分析好各个节点需要输出的内容,做好整个测试过程的条理化,最终出具的报告或者是调优指标参数才有一定的参考价值,整个测试的输出结果才能有望成为后期运维优质化部署的参考。
生产交易日志分析的重要性不言而喻,从上述图表来看,业务分布状态上存在很多插针的信息,这就可能是访问异常的场景,需要对响应时间过高的请求做一个完整的分析,包括平时基础量、交易高峰期、特殊交易日、生产故障提、环境满载模拟等,如果这些全部模拟到位,基本就不会出现太大的纰漏了。
在生产环境压测中,测试数据准备的过程比较漫长,数据清理时可能会出现数据丢失或遗漏的问题,针对这一问题,睿象云在长期的性能测试经验中总结了四种方法:
数据预埋。即在生产的应用下挂测试库,这样即使测试性能稍稍偏低,也基本上可以测出真实访问过程的效果,而且数据基本做到了隔离,不会受到污染,方便后期清理。
非接口的标识改造。常见如在 http 请求头中的 user-agent 字段的标识做区分,在请求标识中,可以选择一些不常见的请求头,后端做业务解析,将这些数据做一些标识,提升后期数据清理的速度。
旁路数据路由。当业务流转非常清晰时,可以把正常的业务数据和压测数据进行分离处理,之后定向追踪、清理压测的数据表即可。如果线上只做查询类的交易,睿象云主要清流水表和记录表,对正常业务不会有影响。
接口字段标识改造。在关键数据表里预留压测字段的标识位,压测阶段就可以直接填充标识类的信息,后续可以直接据此来做数据清理。
4、云压力测试平台究竟能帮助企业解决哪些性能问题?
基于上面的种种分析,相信大家对压力测试的环节和注意事项都已经有了一个比较深入的了解,那么,接下来回归到最初问题的探索,云压力测试平台究竟能帮助企业解决哪些性能问题?主要在于 4 点:
真实业务流量模拟。基于云压测,不仅能够模拟成百上千用户的真实访问,还可以实现弹性可变的用户行为模拟,进行快速的用户伸缩。同时还可以实现网络流量质量的急速验证,通过正常流量来验证网络流量满载的状况。如果企业使用的是类似 F5 物理硬件设备的负载均衡,还可以验证物理设备硬件的 PPS 值是否能够满足高并发需求。
资源监控。除了 CPU、内存、磁盘的快速检测,还可以进行数据库资源使用监控,以及一些中间件资源监控。
操作系统应用优化。云压测平台可以在整个压测过程中为 Limit 参数配置提供非常好的测试依据,同时可以为 Tomcat 的连接数、Jboss 连接数进行实时调优。
性能问题定位。结合一些常见的 APM 工具,可以快速地进行一些慢事务的追踪,分析出应用和数据库常出现的一些问题,进行场景模拟,例如缓慢事务场景模拟、网络层高吞吐测试场景模拟等。
写在最后
随着科技的进步,移动互联网实现了飞跃式发展,软件产品已经应用到各个领域,在疫情助推下,线上模式走红各行各业,更是颠覆了流量高并发场景的峰值和出现频率,在此背景下,如何保障系统能够承担高并发请求,为用户带来优质的服务体验,已经成为企业发展上的“兵家必争之地”,性能测试就是那把开拓市场的利器。
传统压测弊端已现,云压测优势凸显,性能测试的未来发展方向已经渐趋明朗。作为国内云压测领域的先行者,睿象云沉淀了诸多实践经验,为电商、在线教育、在线办公等诸多领域的企业构筑好了一道性能测试的牢固城墙。
文章来源:网络 版权归原作者所有
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系小编,我们将立即处理