千家信息网

一个令人纠结的性能性能缺陷

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,经过一段时间的连续连续加班,持续大概4个月的性能测试项目终于要结束了,现在想想,各种酸甜苦辣都有吧本次项目我作为一个专职的性能测试人员,我比较幸运,我和其他功能测试人员同时入场了,入场之后,功能测试人
千家信息网最后更新 2026年11月02日一个令人纠结的性能性能缺陷

经过一段时间的连续连续加班,持续大概4个月的性能测试项目终于要结束了,现在想想,各种酸甜苦辣都有吧
本次项目我作为一个专职的性能测试人员,我比较幸运,我和其他功能测试人员同时入场了,入场之后,功能测试人员都在忙着熟悉需求、编写测试案例,而我在熟悉需求的同时编写性能测试计划、测试方案以及测试案例,顺便忙里偷闲跟着功能测试组学习informatica如何使用,ETL如何测试,毕竟这部分以前没有接触过,顺便帮功能测试组干点活,就这样,一个月过去了,性能测试设备到位了,开始安装环境,一共四台机器,搭建过环境的朋友都知道,安装手册主要是提供思路,想按照安装手册一帆风顺的装下去那几乎是不可能,中间遇到了很多问题,通过百度、求助别人,大概用了8个工作日,环境搭建完成了,接着就是开发测试脚本,这个过程还算顺利,不顺利的情况在测试执行的时候出现了,当测试执行多用户并发是,发现只要超过20个用户登陆,数据库CPU使用率就到90%左右(当时用的可是32C 64G的机器),难道32C 64G的机器不能支持20个虚拟用户的并发,大概测试了20个功能点都这样,如果这个问题不解决,后面的混合场景、稳定性测试、浪涌测试、疲劳测试、容量测试都无法进行,此时距上线大概只有两周时间了,测试组着急,开发组在修复缺陷的同时也派人专门支持性能测试、开发组在整个过程中也检查自己是否加了索引,也针对这些功能点重建了索引,行方的质量经理也很着急,虽然大家都很着急,但是问题还没有解决,行方请来了数据中心的数据库维护人员,请来的第一位女大侠进行简单的分析以后,把SGA由之前的12G调整到16G以后忙自己的事情去了,让我们重新测试,说要是还有问题就把报告打出来,我们经过测试发现此问题还在,第二天晚上加班的时候又请了一位数据中心的人进行诊断,诊断的结果就是oralce启用了很多进程,和其它并发用户相同的系统比较,其他系统没有这么多的进程,至于CPU使用率为什么这么高,暂时还是没有答案,在此过程中,我在网上进行了各种资料的查询(那时候白天在客户现场不能上班,只能晚上回来查询了,记录下来,第二天去检查测试环境是否存在类似的问题),学习了oracle的共享服务器模式还是专有服务器模式,以及网上有人说的一些配置文件的查看,还是没有解决问题,那时候怀疑可能是安装问题还是配置文件出问题,因为当时的想法就是请了两个数据中心的人都没诊断出问题,那指定不是一般问题,也不是小问题(现在想想,那时候太崇拜技术大拿了),最后抱着试一试的心态在网上在看看,最后通过这样一个sql语句解决了问题
select sql_text,spid,v$session.program,process from v$sqlarea,v$session,v$process where v$sqlarea.address=v$session.sql_address and v$sqlarea.hash_value=v$session.sql_hash_value and v$session.paddr=v$process.addr and v$process.spid in(PID);
首先使用topas查到消耗CPU比较高的进程,然后获取进程的ID,讲进程id扔在上述sql语句的PID进程处,执行该sql语句,最后抓到了一个sql语句,对sql语句进行了分析,分析了sql语句的执行计划,发现执行了全表扫面,而且这个sql语句同时从4张表的查询语句,那这个语句是干嘛的,为什么测试的每个功能点都用用到呢?难道是平台框架的?也不像啊?
登陆系统,发现登陆完成以后,首页有好多种提示信息/待办事宜(类似于个贷系统提示客户贷款到期、贷款逾期的这种待办事宜)这下大家恍然大悟了,为什么每个功能点都有类似的问题,只要你登陆完成,系统就会自动查询,当多用户并发时,由于sql语句不当的执行计划导致消耗了更高的CPU,这个问题终于解决了,很开心,这也是自己动手解决的第一个性能问题,以前只是协助定位,系统如期上线了,难道就结束了了吗?没有
第一:为什么开发明确说加了索引最后还是索引的问题呢,个人觉得主要是项目周期比较紧,开发流程控制不严格,按照开发组的说法在后面要重建索引,但是性能测试要进行性能测试,他们对大部分功能点表添加了索引,忽略了首页提醒信息/待办事宜的几张表
第二:数据中心的人为什么没有检查索引的问题呢?太相信开发了,因为这些开发大多数都有10年的工作经验,所以大家对开发的话深信不疑。
第三:数据中心的人为什么没有直接打出AWR或者statspack报告而直接调整了SGA呢?也许他们太忙了还是有别的原因,我们不得而知。
第四:为什么数据中心的第二位大拿发现oracle数据库启动了那么多进程而并发用户差不多的另一个系统却没有呢,我们系统使用了专有服务器,而另一个系统使用了共享服务器。
通过这个问题,我想说,第一大家不要过分崇拜技术大牛而藐视自己,第二不要百分之百相信开发组或者其他人的话,虽然他们经验很丰富、你可以表面上相信,但是别忘了实践时间出真理 第三、发现问题,一定要监控、拿出数据报告说话、毕竟推断和猜测还是有区别的。

测试 问题 数据 语句 开发 功能 系统 还是 进程 性能 数据中心 用户 索引 时候 人员 功能测试 同时 开发组 服务器 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技怎么样 互联网科技有限公司图片 善班互联网科技 亿账通互联网科技 深圳天众互联网科技公司 中国互联网金融科技基金 互联网公司会议桌创意科技软装饰 云创客互联网科技公司 北京华百购互联网科技有限公司 花神(南京)互联网科技有限公司 亳州好赞互联网科技有限公司 银行科技岗属于互联网吗 上海互联网科技公司ppt 广东鹅鹅鹅互联网科技有限公司 云鲸互联网络科技有限公司 互联网时代科技型公司的机会 互联网领先科技活动 易租星互联网科技有限公司 杭州科技互联网公司有哪些 互联网科技创业有什么好项目 深圳互联网络科技有限公司 上游互联网科技 互联网科技生活的内容 互联网科技有哪些公司 成都互联网科技公司工作好不好 亳州好赞互联网科技有限公司 科技大学互联网 工业互联网展湾科技股份有限公司 中天科技中国工业互联网 深圳互联网科技园地址
0