交易系统的性能是体现交易业务能力的重要指标,如何确保交易系统能够满足大数据量的交易需求至关重要。对于交易系统来说,如果性能问题不能提早被发现,而是到了生产环节才被发现,代价是非常惨痛的,轻则影响用户体验,重则造成重大财务损失。因此,只有对交易系统的性能容量指标进行合理的评测,才能满足业务的长期发展。
中汇信息技术(上海)有限公司,是外汇交易中心旗下全资子公司,致力于为建立全球人民币和相关产品交易主平台和定价中心,提供技术研发,运维和信息服务。公司的发展目标是确保交易中心的系统建设和开发,并且争取建设成为国内一流,具有国际影响力的本外币交易系统解决方案,行业标准和国家的重要基础设施的供应商。
中汇信息技术(上海)有限公司测试部经理潘春媚
据中汇信息技术测试部经理潘春媚介绍,通常来说,交易中心的性能测试主要关注用户在群体效应下系统的响应时间,和资源使用的时间特性。性能测试的一个重要目标就是快速定位到工程级的问题,并解决回归问题。在飞速的业务发展中,中汇公司的性能测试在定位环节遇到了极大阻力。
压在性能测试定位环节上的三座大山
首先,统计分析困难。在传统测试的性能分析中,通常依赖于日志。而交易中心业务量巨大,日志多,在这种数据量比较大的情况下,宏观数据分析统计非常困难,而且耗时很久。且过多的日志本身就会对系统的性能带来一定的影响。
第二,很多复杂的性能问题比较隐蔽,往往一个环节的问题会遮盖掉其他环节的问题。同时,基础设施问题的定位也很困难,因为硬件基础设施的性能问题,往往会表现为软件层面的性能问题,误导了性能问题的定位和分析。还有一些比较隐蔽的,复杂的资源限制、参数限制,也给性能问题定位增加了困难。
第三,偶发性问题难以复现。在性能测试过程中,偶发性问题,或者在某些条件下才出现的性能问题很难去复现,这也给性能问题的定位增加了很多困难。为了解决这些痛点,经过种种对比和评测,中汇公司选择了Dynatrace。
依靠数据和报表快速定位
Dynatrace的Hotspots提供了系统的请求链路,分布状况的相关数据,Purepath提供了执行的关键路径,Database提供了资源使用情况和数据库的情况,Serviceflow和Smartscape Topology则提供了更多信息。结合多维度的信息和相应的报表,可以帮助交易系统的性能测试由黑盒测试转向灰盒测试,大大提升了性能问题的分析和定位的效率和准确性。
“Dynatrace在解决性能问题定位方面给我们带来了好处是显而易见的。”潘春媚表示。首先,不需要日志的记录就可以直接定位分析问题,并且有详细的报表和详实的数据提供。其次,可以无需重现这些问题,直接在发现问题的场景来定位问题,大大提高了沟通的效率。Dynatrace提供的多维度的数据和报表,还可以拓宽问题定位人员的思路,加快定位的效率。
在中汇公司,性能测试和功能测试团队使用同一套环境,白天做功能测试,晚上做性能测试。在进行比较复杂的业务场景测试,或者全链路的业务流性能测试时,往往会涉及到上下游很多系统,如果发现最下游的系统有性能问题时,以往都是性能测试团队陪着开发团队一遍遍的重现场景,帮助开发团队一个个的进行排除,很多时候会工作到后半夜。
使用Dynatrace后,只需提供当时发现问题的数据给相关的上下游的开发团队,通过数据分析来解决定位问题,而不再需要一遍遍的重现这些问题,极大提高了效率和准确性。从此,再也不用加班到后半夜!
性能测试不仅验证了业务需求,还验证了是否符合系统设计及测试设计
Dynatrace帮助中汇公司改进了性能测试的测试流程。性能测试是把复杂的用户行为,通过统计抽象,建立用户模型和测试模型,最终形成规律性的测试脚本。通过性能测试,分析测试产生的结果和数据,来验证系统是否符合业务需求,这就相当于性能测试设计,来源于业务需求和系统设计,同时最终服务于业务需求。
传统的性能测试往往只验证了系统是否符合业务需求,却忽略了系统设计。一些系统设计层面的问题,往往会遗漏到生产,成为生产问题暴露之后才被发现,这样的代价是非常惨痛的。利用Dynatrace提供的多维度的数据和专业的报表,可以去验证系统的负载和可靠性的设计,分布式的服务设计,调用链路,关键技术选型,安全设计等等,检查系统是否符合当初的系统设计。同时通过这些数据,也能验证负载策略,测试脚本的正确性、有效性、依赖性、关联性,以及参数化设计,也就是说,在Dynatrace的帮助下,性能测试除了验证业务需求之外,还可以检查系统是否符合当初的系统设计,以及是否符合当初做性能测试的时候的测试设计。如果发现系统设计层面的问题,将快速定位,让系统设计层面比较难发现的系统问题更早的被发现。此外,Dynatrace提供的多维度数据,能够帮助查看系统各部分资源占用的情况是否符合预期,为后续的调整提供了参考。
希望在改进测试质量、软件质量,及生产环境应用领域深入合作
谈到未来的合作,潘春媚表示,希望利用Dynatrace帮助中汇公司持续改进测试质量,利用Dynatrace和自动化测试相结合,不断监控整个测试过程的数据,尽早发现潜在问题,提高缺陷预防的能力。此外,中汇公司还希望通过Dynatrace在新技术领域做更多的研究,持续改善软件质量。在后续条件成熟后,中汇公司希望把Dynatrace在测试环境中的使用经验和工作方式,推广到生产环境中去,利用Dynatrace监控生产环境,收集生产环境的数据,反向推动测试过程的改进,反向推动产品的设计。
|