性能测试经典案例解析——政务查询系统

2024-09-07 06:28

本文主要是介绍性能测试经典案例解析——政务查询系统,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

各位好,我是 

@道普云

一站式云测试SaaS平台。一个在软件测试道路上不断折腾十余年的萌新。

欢迎关注我的主页

@道普云

文章内容具有一定门槛,建议先赞再收藏慢慢学习,有不懂的问题欢迎私聊我。

希望这篇文章对想提高软件测试水平的你有所帮助。


政务查询系统的用户量相对来说是比较小的,但是它的复杂性和对实时性的要求是比较高的,我们以一个主要提供单位信息业务复杂查询功能的系统为例。

在测试过程中主要发现某查询业务在生产环境响应时间过长,超过20秒,但是在测试环境响应时间却较快,只有3秒左右。相关数据表也已经建立了索引。而且生产环境配置比测试环境高,按理说生产环境配置更高它应该更快。针对这个问题,我们要找出为什么在生产环境中慢?

接下来我们就通过时间分布分析、环境差异分析、数据库监控分析、SQL执行分析这几个方面去进行分析。

时间分布分析

业务响应时间主要消耗在SQL执行时间。

生产环境SQL执行时间在26秒。

测试环境SQL执行时间在3秒以内。

环境监控比对分析

生产环境数据量59万,使用CentOS、Oracle 12c Rac,硬件配置较高。

测试环境数据量176万,使用Windows server 2016、Oracle 12c 单节点,硬件配置较低。

服务器资源在正常范围内。

数据库监控分析(AWR)

Oracle实例处理器、内存资源指标正常。

Oracle实例中没有明显的等待事件。

存在问题的SQL语句执行计划COST在生产环境、测试环境存在巨大差异。

SQL语句执行分析(1)

SQL语句执行分析(2)

生产环境SQL语句中排序相关操作由于没有经过索引,造成IO过高。

Oracle实例中排序相关参数Sort_Area_Size、workarea_size_policy配置存在问题。

通过去除SQL语句中的排序操作,SQL执行时间大幅度提升。

通过性能问题综合分析我们得到的诊断结果是:定位索引失效原因。

通过与开发、运维人员沟通,了解到该表是通过数据迁移在生产环境进行创建。

在数据迁移过程中,表的rowid发生变化,造成索引失效。

解决方法:

通过新建表空间重新导入数据表、重建索引解决。

Alter index index_name rebuild tablespace tbs_name;

Alter index pk_name rebuild tablespace tbs_name;

这篇关于性能测试经典案例解析——政务查询系统的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144311

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于