性能测试实战总结

【性能测试】Jmeter性能测试实战 文章目录数据驱动的理念定义特点好处要求数据驱动的使用场景jmeter中的数据驱动 数据驱动的理念 定义 从数据文件中读取测试数据,驱动测试过程的一种测试方法 数据驱动可以理解更高级的参数化 特点 测试数据与测试代码分离 数据控制过程 好处 减少测试代码量 降低脚本开发和维护的成本 便于用例的修改和维护(不用修改脚本) 要求 较强的代码能力 较强的分层架构设计思维 对开发框架要有一定的了解 数据驱动的使用场景 复杂的业务流程 根据业务场景分流 符合条件的并发场景 jmeter中的数据驱动 阅读详情
1项目背景
        人力资源上线初期,由于全省40多个电业局临时决定同时集中使用人力资源系统,这是开发初期没有想到的事情,所以用户刚刚使用就反映整个系统速度很慢,项目组和公司领导层高度重视这个事情,可是究竟慢在什么地方呢?是什么原因引起的慢,面对一个这么庞大而复杂的系统,要想找到真正的原因是很难办到的事情,大家都在怀疑和猜测着?是硬件问题?还是应用服务器慢?还是数据库服务器慢呢?围绕这一系列的疑问,性能测试工作紧张又有条不紊的展开了,而测试组担负着性能测试的主要重担,于是安排舒文林负责这个事情。

        2测试流程

        测试组接到任务过后,进行一系列的思考,确定了将整个系统逐步分解的测试办法,就是先将系统分成几个大块,应用服务器,数据库服务器,客户端程序;然后再将服务器拆成硬件和软件;然后逐步将应用软件划分成若干逻辑层,测试组舒文林经过和项目组沟通过后,首先找几个最慢的功能登陆,分页,人员子集编辑信息,组织机构查询。通过80人摸拟以上操作同时访问人力资源系统,在这样的情况下,我们发现压力主要集中在数据库服务器上,值得庆兴的是,通过观察应用服务器CPU,内存,磁盘,网络等资源,一切正常,所以我们排除了应用服务器引起慢的可能,把注意力集中在数据库服务器上。

        再观察数据库服务器时,我们发现CPU一直处于100%,磁盘I/O很慢,每秒在283K左右。于是直接想到的是换硬件,开发组决定更换磁盘阵列卡,将数据库服务器改成IBM的高档小型机。这样性能得到了一定的提升,但过了不久,用户又开始有意见了 ,那说明我们现在的系统性能还没有达到用户的要求,公司领导层再次组织进行性能测试,说的是一定要挖掘深层次的原因。

        于是测试组又派出了舒文林负责人力资源项目的性能测试,此时项目组要到了验收的时候了,这不免无形中给测试组增加了很大的压力, 这个时候Sybase工程师也来了,怎么办呢?还是老办法吧,不过这次我们是先从功能作为分解点,先找到最慢的功能,一个一个的测试/首先找到的是登陆,我们把登陆功能按照程序逻辑拆分成若干小的功能,及显示登陆页面,权限验证,加载主菜单、主画面等,结果发现登陆功能最慢的是加载主菜单和权限验证这两块,消耗了整个登陆功能大部份的时间,那就给开发人员找到了优化的地方,通过使用高速缓存,建立数据库索引,优化SQL,优化程序等技术手段过后,登陆功能性能提升了一半;最大支持用户数也由120增加到了200,接下来按照老办法,开始分页功能的测试,由于Sybase使用分页必须使用临时表,先将要分页的数据放到临时表,页面显示层再从临时表里面取出数据填充到客户端显示,


        还是先用80个用户同时使用该系统分页,并重复迭带多次,这个时候CPU长时间饱和,客户端时间很满,达到70秒,先记录作为基准测试。
        再看数据库的各种指标,我们发现数据库有严重的阻塞,终于有了根本性的发现。Sybase工程师想到通过绑定多个临时表,并通过ASE的同步机制来保持同步,这样阻塞问题缓解了,响应时间也由70秒降到了30秒。但是当用户数增加到120的时候,数据库CPU又是100%,系统又慢了下来,而且系统其它功能也都慢了下来,我们分析了一下,觉得通过增加多个临时表和多个临时库,这样会不会带来额外的CPU开销呢?肯定会的,但这个开销究竟有好大呢?这是一个还没有确定的问题?如果CPU开销小了,系统性能肯定会好起来,因为目前就CPU是个瓶劲。

        这个时候,Sybase工程师说他们已经做到最优化了,而开发人员也觉得他们该做的都做了,那为什么现在系统还慢呢?凭我的经验,我觉得这笔开销很大,但我又无法证明这一点,Sybase工程师承认这需要额外的CPU和内存开销,但究竟多大,也是一个疑问。为了弄清楚这个问题,我们选在在同一台计算机上将分页的功能做一个比较,我们抛开应用服务器,通过直接测试分页脚本,来比较各自的性能。采取在该服务器上全新安装操作系统和必要的软件,做成Ghost恢复文件。

        然后分别测试Sybase和Oracle,首先安装Sybase产品,进行测试后,然后用Ghost恢复系统到初始化环境,安装Oracle,采用和Sybase相同的测试案例进行测试, 并将oracle和Sybase调整到最优化,最后将两个测试结果汇总,测试过程忽略不计,结论是Sybase进行翻页CPU是100,而oracle是25%,Oracle分页由于有ROWNUM字段,所以不需要使用临时表,响应时间都在40秒左右,因为我们找的计算机很普通,所以时间长了点,所以我们得出Sybase使用临时表分页消耗CPU很大的结论,人力资源系统性能的测试和研究在以后的历程中,任务将会更加艰巨,我们完全有信心克服困难,战胜困难,因为我们已经积累了很多经验。 
Rust与JMeter性能测试实战 通过TCP Sampler测试Rust的裸TCP协议(需自定义编码解码)。 阅读详情

相关推荐

前端性能测试实战指南

通过这套完整的性能测试实战方案,您可以系统性地发现、诊断和解决前端性能问题,持续提升用户体验。

monk all the way 1222

计算机体系结构实验1——计算机性能评测

在进行实验1的计算机性能评测的过程中,我首先使用鲁大师,但是由于鲁大师只有评分没有其他信息,所以我改而使用了国际象棋大师进行评测,从中学习到的参数是对比倍数和每秒千步,因为还缺少一个参数,所以又使用了CPU-Z进行评测,学习到第三个参数倍频。在进行实验2的过程中,我使用的子程序是计算一个给定浮点数的指定幂次。因为程序较小,所以通过将子程序循环执行1000000次后进行时间的比对,再计算不同频率下的执行时间,并通过程序执行获取数据进行对比。实验中遇到的问题(主要在实验2)httpshttps。...

weixin_51529433的博客 2965

《Web性能测试实战》性能测试用例模板

《Web性能测试实战》性能测试用例模板《LoadRunner性能测试实战》图书配套性能测试课程:         1、性能测试入门与虚拟用户开发基础(点击进入)        2、LoadRunner Controller使用基础(点击进入)1文档介绍1.1文档目的 1.2文档范围 1.3读者对象 1.4参考文献 1.5术语与解释

探索软件测试之道 1万+

Jmeter做性能测试总结(持续更新~)

一、线程组配置中各个参数的含义 ①启动延迟:若一个测试计划下有多个线程组,比如上面的1并发、75并发、150并发等,启动的时候,如果想在线程组之间设置执行间隔,可以通过启动延迟这个参数来设置,比如1并发线程组执行完成之后,多久执行75并发。这个值由75并发的启动延迟来决定,如果设置为300秒,那么就是5分钟之后再执行75并发; ②持续时间:就是当前线程组的HTTP请求执行的持续时间。 如果并发数为:1,那么5分钟就是一直执行? ③ramp-Up时间: 二、json取样器的使用 参数含义: ①Names .

weixin_43726471的博客 1512

GD32F470 DSP库移植避坑指南:从CMSIS版本冲突到AC6工程配置

本文详细解析了在GD32F470平台上移植CMSIS-DSP库的完整流程与关键避坑点。针对CMSIS版本冲突、AC6编译器下的浮点ABI配置、DSP库源文件添加等核心难题,提供了经过验证的解决方案,帮助开发者高效完成移植,确保硬件FPU正常工作并优化性能。

data3的博客 531

NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!

真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们。

weixin_44124632的博客 1万+

Jmeter接口测试、性能测试详细讲解+实战教程,堪称经典!

下面主要就是讲一下Jmeter工具的用法,用法非常简单,比起loadrunner不知道简单多少,并且开源免费~~

GDYY3721的博客 4万+

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 437

性能测试实战(一):性能测试入门

一、性能测试入门知识 1、先抛出个问题:需求文档中,有一个性能测试需求,你怎么入手? (1)怀疑需求,通常提需求的人是产品经理,假设他不懂性能测试,那么这个需求很可能就是拍脑袋; (2)确认需求,通常需要根据实际数据来分析,这些数据通常是运维的数据,得找他们拿,来判断产品需求的准确性; (3)掌握概念,通常需要根据实际数据分析出具体要测试的对象,当然,前提是掌握性能测试概念,并通过概念去明确测试点; (4)脚本设计,通常需要先分析用户的行为,并设计一个符合用户使用的场景,这些信息都是通过运维数据展

weixin_43431593的博客 1万+

langchain4j+milvus实战

本文主要研究一下如何使用langchain4j来对接向量数据库milvus。

go4it 1474

RV1126上YOLOv8部署实战:从模型转换到板端推理的完整避坑指南

本文提供了在瑞芯微RV1126芯片上部署YOLOv8目标识别算法的完整实战指南。内容涵盖从模型转换、环境搭建到板端推理代码编写的全流程,重点解析了RKNN-Toolkit使用、量化配置、内存优化及后处理实现等关键环节的常见问题与解决方案,旨在帮助开发者高效避坑,实现边缘AI应用的稳定落地。

pz89012345的博客 568

Jmeter性能测试实战视频教程

Jmeter性能测试实战视频教程 课程观看地址:http://www.xuetuwuyou.com/course/39 课程出自学途无忧网:http://www.xuetuwuyou.com 本课程从实战角度,由浅入深讲解Jmeter性能测试,学习本课程需要具备拥有一定性能测试基础知识。 课时1:认识jmeter  课时2:jmeter常用功能介绍  课时3:jmete

隔壁☞老杨的博客 5814

快速理解OSI七层模型(举例理解,数据传输过程,深入理解OSI七层模型)

我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做OSI协议(开放系统互联(Open System Interconnection)),它是由ISO(国际标准化组织)定义的。 需要注意,随着时代的发展,OSI已经被TCP/IP 4层模型淘汰,在当今世界上并没有大规模的使用。 那么对于OSI,人们按照功能不同,分工不同,人为的将OSI的分为七层。实际上这七层是并不存在的,也就是说没有这些概念,而我们今天提到的七层概念,只是人为的划分而已。目的只是为了让大家更好地理解这些都是用来做什么的。

CN_TangZheng的博客 3万+

LoadRunner性能测试实战训练

训练地点:广州训练时间:4天( 9月17日、9月18日   10月15日、10月16日 )面向对象:性能测试工程师、测试工程师、测试主管、测试经理实战教材:《性能测试与调优实战》:http://product.china-pub.com/35011361、性能测试基本概念

软件质量优化 4005

【GlobalMapper精品教程】074:从Lidar点云创建3D地形模型

本文基于地形点云数据,基于泊松方法、贪婪三角形测量方法和阿尔法形状创建3d地形模型。

智慧空间实验室 2170

华为 MetaERP 总账模块依托 “交易即核算” 的事件驱动架构,与 Oracle EBS 相比,更强调业务事件自动触发财务动作、实时数据同步和智能规则引擎,实现业务与财务的深度融合

华为MetaERP总账模块采用"交易即核算"架构,相比Oracle EBS实现了三大突破:1)业务事件自动触发财务动作,如采购收货自动生成暂估凭证;2)业务财务数据实时同步,支持即时分析;3)内置智能规则引擎,实现自动匹配、核销和结转。该模块覆盖采购、销售、资产、薪酬等全业务场景,支持多维核算和关联交易自动抵消,显著提升核算效率与准确性。其中采购暂估、销售结转等场景实现全自动化处理,较EBS减少80%手工操作。

金牌架构师 225

性能测试等实战干货精选汇总

↓↓↓如有疑问或者建议,请在文末留言 ↓↓↓以下都是精选实战干货,特点是:简单、易懂、实用。后续还将分享更多性能相关的干货:如nginx、dubbo、mysql、red...

zouhui1003it的专栏 255

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

性能测试专题:从基础到实战

本文深入探讨了性能测试的全方位内容,涵盖基础概念、重要性、分类、执行流程及实战案例。性能测试通过模拟用户操作与系统负载,检测软件系统的响应时间、吞吐量、资源利用率等关键指标,旨在评估系统性能、发现瓶颈并优化。文章详细介绍了五种测试分类:基准测试、负载测试、压力测试、容量测试和可靠性测试,并解析了响应时间、吞吐量等核心指标。结合电商系统实战案例,展示了从需求分析到优化验证的完整测试流程,还讲解了性能测试报告的生成方法。本文旨在帮助读者全面掌握性能测试要点,提升实际工作中的测试能力。

m0_54772292的博客 862

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Web性能测试实战

Web性能测试实战  

topinking的专栏 239

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Jmeter性能测试从入门到精通-全程实战:掌握性能测试利器

Jmeter性能测试从入门到精通-全程实战:掌握性能测试利器 【下载地址】Jmeter性能测试从入门到精通-全程实战 《Jmeter性能测试从入门到精通-全程实战》是一份专为Jmeter性能测试爱好者打造的学习资料,适合从新手到进阶的所有读者。本资料以实战为核心,每个知识点都通过实际项目演练进行讲解,帮助读者在动手实践中...

gitblog_06797的博客 268

Redis性能测试:工具、参数与实战示例

本文详细介绍了Redis官方性能测试工具redis-benchmark的使用方法。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 7611

性能测试-jmeter实战2

性能测试场景:性能测试环境搭建、性能测试指标、性能测试计划

春风若有怜花意,可否许我再少年 1345

性能测试-jmeter实战1

摘要: 性能测试是确保系统稳定性的关键,通过模拟高并发场景识别瓶颈,指导系统优化。本文系统讲解了性能测试的核心要点: 必要性:解决高负载下系统崩溃问题,保障用户体验 技术体系:涵盖基础理论、工具链(JMeter/Locust等)、监控平台及全链路测试方案 核心工具对比:重点分析JMeter多协议支持、分布式压测能力,以及Locust轻量级脚本化优势 关键指标:通过三曲线模型(响应时间/吞吐量/资源利用率)定位性能拐点 实战导向:提供AB工具命令行示例、JMeter测试计划搭建逻辑,强调实践验证

春风若有怜花意,可否许我再少年 1252

jmeter性能测试步骤实战教程

如果这篇文章对你有帮助,请给小编点个赞!👍这样我才有动力继续更新下去! 今天的小知识学会了么 欢迎在留言区跟我们互动噢~ 觉得有所帮助的话点个赞呗

Yanan990830的博客 1万+

Jmeter性能测试从入门到精通-全程实战

Jmeter性能测试从入门到精通-全程实战 【下载地址】Jmeter性能测试从入门到精通-全程实战 《Jmeter性能测试从入门到精通-全程实战》是一份专为Jmeter性能测试爱好者打造的学习资料,适合从新手到进阶的所有读者。本资料以实战为核心,每个知识点都通过实际项目演练进行讲解,帮助读者在动手实践中掌握理论,真正做到...

gitblog_06714的博客 370
上一篇: 防火墙性能测试浅析
下一篇: 浅析PHP开发规范之性能优化
benpaobagzb
博客等级 码龄11年 512粉丝 636原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值