一、应用性能问题
在我们过往的测试及生产问题的分析中,常常可以发现应用执行数据库操作导致出现性能问题的情况。而这些情况中最常见的原因是SQL执行时,索引未能恰当的使用,例如未建索引、SQL条件没有利用索引、索引失效等。这些问题往往占据了性能问题的60%~80%原因。
为了应用在性能方面能安全上线,通常需要专业的性能测试及分析人员通过冗长的测试过程来进行保障,对测试人员、数据环境、测试时间等多个方面均提出了较高的要求。而组织内部往往缺乏这样的专业人员,同时互联网模式下高速的系统迭代上线也很难为专门的性能测试开展提供充足的时间资源。
为了解决这些问题,我们提出了AppTrace这套系统的设计。期望以简单、自动化、高效的手段达成在测试阶段把应用性能的这60%~80%的问题都解决掉。
二、AppTrace目标
- 发现应用性能问题中最主要的原因之一:慢SQL
- 以简便的手段获取应用可能存在的SQL性能问题点
- 降低测试人员发现慢SQL的技术难度
- 使应用SQL的性能侦测覆盖率达到近乎100%
- 侦测分析结果与生产真实情况接近
三、目标实现基本过程
1)功能测试和接口测试时,AppTrace抓取测试执行过程中的所有SQL。通过功能和接口测试实现对应用功能的全量覆盖,使得应用中的SQL几乎都会被抓取到。
Comments