性能测试经典案例解析——网上报税系统
2021/03/02

每个省份都有网上报税系统,今天案例中介绍的总体用户量不是非常大,但也达到了10万级别;由于报税都是有时间要求的,超过一定的时间,需要缴纳一定的费用,再者需要填报的信息非常之多,每个步骤完结之后才可以进行下一个步骤,所以网上报税系统对业务处理的实时性要求非常高;也是由于报税的时间期限,就要求系统的稳定性需要很高,一旦无法访问,对税务系统的影响非常恶劣,所以网上报税系统的第三个特点是业务处理可靠性要求高。


系统架构整体较为复杂,如下图:


image.png


在测试过程中主要发现了以下几个问题

· 业务响应时间长。

· 业务处理失败率高。

· 系统服务宕机。


分析的话,我们主要从以下几个方面去诊断:前端程序问题、基础软件配置问题、数据库设计问题、测试模拟问题、部署运维问题。


前端程序问题现象及监控

系统登录加载首页页面响应时间过长。

通过HTTPWatch发现哪些请求处理时间过长,连接出现阻塞。

通过Web服务器资源监控发现资源利用率正常。

通过其他服务器资源监控发现资源利用率较低。


前端程序问题分析诊断

通过与开发人员讨论分析,发现处理时间较长的请求包含数据较多,且为同步调用,处理时间过长。


基础软件配置问题现象及监控

前端页面响应时间过长,部分写入业务处理操作失败率较高。

通过HTTPWatch发现哪些请求处理时间过长。

通过Web服务器、应用服务器资源监控发现处理器资源利用率也较高。


基础软件配置问题分析诊断

通过比对测试发现Weblogic线程池、连接池配置不合理。网上报税系统-数据库设计问题现象及监控

纳税申报确认操作响应时间过长。

通过在应用程序中加入相关时间监控日志,定位向核心征管数据库写入数据处理时间过长。

通过应用服务器、数据库服务器资源监控发现资源占用合理。


数据库设计问题分析诊断

通过比对测试发现,申报确认部分相关数据表缺少索引。网上报税系统-测试模拟问题现象及监控

报表填报操作出现大量地址被占用异常。

通过应用服务器日志分析,发现异常信息由应用服务器返回。

通过应用服务器操作系统资源监控发现网络连接资源存在问题。


测试模拟问题分析诊断

通过比对测试分析发现,报表填报时需要较多TCP连接,由于部分报表响应时间较快,服务器大量端口处于准备释放网络连接的Time_Wait状态,新的连接请求获取不到相关端口资源。

通过分析发现生产环境请求速率达不到测试模拟速率。


部署运维问题现象及监控

部分报表加载操作响应时间过长。

通过性能诊断工具,定位部分SQL语句处理时间过长。


部署运维问题分析诊断

通过对相关SQL语句、数据库性能视图进行分析,发现核心征管数据库生产库长时间未进行统计信息收集,导致SQL语句执行计划出现问题。


以上就是比较全面的一个诊断过程,基本上就将系统的性能问题锁定了。