《全栈性能测试修炼宝典 JMeter实战》—第2章 2.1节性能测试初体验

简介: 性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。

本节书摘来自异步社区《全栈性能测试修炼宝典 JMeter实战》一书中的第2章,第2.1节性能测试初体验,作者ROAD_TESTING软件测试组 组稿 , 陈志勇 , 马利伟 , 万龙,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 性能测试初体验
全栈性能测试修炼宝典 JMeter实战
从本章你可以学到:

性能测试的价值

性能测试流程

性能测试成功与失败要素

不同角色看性能

性能测试工具选择

性能测试相关术语

性能测试通过标准

性能测试趋势

性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题,分析并解决;找出系统性能变化趋势,为后续的扩展提供参考。测试显然不是录制脚本那么简单的事情(而且现在很多系统还无法录制脚本)。本章带您进入性能的领域,阐述性能测试涉及的IT知识、角色、视角、流程及面临的挑战。

建议性能测试初学者仔细阅读本章、把握性能测试的大致格局和重点。

2.1 性能测试的价值
随着互联网的发展,单机软件的逐渐减少,系统从单机步入“云”时代,软件系统功能和规模也越来越庞大,盗版也越来越难,用户规模也越来越大,企业盈利随之爆发式地增长。随着用户数量的增多,系统稳定就成为企业的首要技术保障,稳定才能带来流量,才能赚钱。下面我们回顾一下著名的性能事件(这些事件内容来自于百度)。

[案例1]2012年11.11

“11月11日凌晨零时起,某企业11.11正式启动,激增的流量瞬间险些让系统陷入瘫痪状态。随后其宝出现短时间内无法付款,多家品牌商系统崩溃……”。这损失的都是钱啊!如图2-1所示。


7dd5242c9888d2f142d6df63d71310a7db44b496

某宝和某东为首的电商赚足了眼球。某宝双十一网络瘫痪遭诟病,其宝被“抢瘫”,好不容易进入支付过程,某宝提示系统繁忙,经过反复尝试,用户花费很长时间才能实现支付。破1000万用户访问时,部分某宝官网打开时间需要15~23分钟,对于一般用户是绝对不能接受的,其宝开始瘫痪无法响应,部分页面无法显示等。在关键的时刻各种性能问题到底给我们上了一节什么样的课程?来看看2012年优化性能后的数据:

2012某宝双11销售额191亿

2013某宝双11销售额350亿

2014某宝双11销售额571亿

2015某宝双11销售额912亿

没错直接损失了100多亿,如果性能测试做足能够把好关,提前做好预案,一天就可以营收100多亿,要知道好多传统百货集团一年也营收不了这么多。

来看看某东2012年因某宝瘫痪后流量暴涨,大量用户登录。结果某东的服务器被大流量冲垮,服务器也瘫痪。无论如何2012年11月11日某宝和某东的瘫痪,引人深思,性能测试的价值也随之体现。

[案例2] 12306订票网站(内容来自于百度)

12306网站创建初期的几年每逢春节就瘫痪,2014年1月9日,当日开始出售1月28日的火车票,是当年的售票高峰日。这一天的网页浏览量高达88亿次,88亿次/12小时=20W/秒+的点击。这个网站的多次瘫痪证明了,性能测试的重要性,也证明了不是用硬件就能解决软件性能。

[案例3]2008年奥运会票务系统

由于订票人数远远超出预期(性能需求没做到位,设计也没有到位,无排队等设计)刚开放后不久就瘫痪,造成了部分人无法从网络获得门票。

[案例4] 亚马逊网站瘫痪

2014年11月6日因华为手机P6在欧美销售太过火爆,电商国际巨头亚马逊网站(当地)瘫痪。造成的损失不仅仅只是活动损失,还有声誉。

要应对大规模的用户共同使用一套系统,那必须有相对应的强壮性能的系统,性能测试是对这套系统的一个质量保障,如果性能测试有漏洞,那么就会引发非常惨烈的后果,因此上线前的性能测试必不可少。

下面是软件测试分类,如图2-2所示。


4c87334d127245becf74fc0659081cc1f3d711c5

从图2-2可以看到性能测试在整个软件测试环节占了50%的内容,如测试内容中,负载测试、压力测试、性能测试、大数据量测试、恢复测试、内存泄露测试、竞品测试(比较测试)和可靠性测试。一共14个测试内容,性能的测试占领8个,可想而知性能测试在软件测试中的重要程度。

软件业大部分软件开发之初一般考虑的是软件功能的市场需求契合度,是否能被市场认可。这个前提成立之后,才会有较大的用户群体去使用,从而出现性能问题。然而根据金子塔理论,到了后期在进行修改,投入和产出不成比例。一般公司在做出确定可以盈利的产品后,会对产品进行再次开发,来达到这个性能要求。所以第一个产品(试验)的性能要求和真正的推广产品(成熟)的性能要求不是一个量级,企业发展到一定程度就得关注性能,重视性能。
性能测试的价值就是保障系统的性能,提供良好的用户体验;尽可能地找出系统性能薄弱环节,帮助进行性能优化。

相关文章
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
382 4
|
7月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
969 0
|
9月前
|
JSON Java 测试技术
面向初学者的JMeter实战手册:从环境搭建到组件解析
Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。JMeter 最初被设计用于 Web 应用测试,但后来扩展到了其他测试领域,可用于测试静态和动态资源,如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库和 FTP 服务器等等。JMeter 可对服务器、网络或对象模拟巨大的负载,在不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证程序是否返回了期望结果。
980 0
|
6月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1417 10
|
10月前
|
监控 测试技术 数据库连接
RunnerGo API 性能测试实战:从问题到解决的全链路剖析
API性能测试是保障软件系统稳定性与用户体验的关键环节。本文详细探讨了使用RunnerGo全栈测试平台进行API性能测试的全流程,涵盖测试计划创建、场景设计、执行分析及优化改进。通过电商平台促销活动的实际案例,展示了如何设置测试目标、选择压测模式并分析结果。针对发现的性能瓶颈,提出了代码优化、数据库调优、服务器资源配置和缓存策略等解决方案。最终,系统性能显著提升,满足高并发需求。持续关注与优化API性能,对系统稳定运行至关重要。
|
6月前
|
监控 Java 数据挖掘
利用Jmeter工具进行HTTP接口的性能测试操作
基础上述步骤反复迭代调整直至满足预期目标达成满意水平结束本轮压力评估周期进入常态监控阶段持续关注系统运转状态及时发现处理新出现问题保障服务稳定高效运作
923 0
|
8月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1262 23
|
8月前
|
存储 关系型数据库 测试技术
拯救海量数据:PostgreSQL分区表性能优化实战手册(附压测对比)
本文深入解析PostgreSQL分区表的核心原理与优化策略,涵盖性能痛点、实战案例及压测对比。首先阐述分区表作为继承表+路由规则的逻辑封装,分析分区裁剪失效、全局索引膨胀和VACUUM堆积三大性能杀手,并通过电商订单表崩溃事件说明旧分区维护的重要性。接着提出四维设计法优化分区策略,包括时间范围分区黄金法则与自动化维护体系。同时对比局部索引与全局索引性能,展示后者在特定场景下的优势。进一步探讨并行查询优化、冷热数据分层存储及故障复盘,解决分区锁竞争问题。
1129 2
|
10月前
|
数据可视化 测试技术 API
JMeter、Apipost 与 Postman 的 API 测试对比:为什么 APIPost 是更聪明的选择
API测试如同筹备一场晚宴,选对工具至关重要。JMeter功能强大但上手难,适合专业用户;Postman简单易用,但在复杂场景和团队协作中表现有限;而Apipost则是一款智能高效的“厨房神器”。它性能测试轻松、结果清晰、学习门槛低,并且能一键集成CI/CD流程。对于追求效率与便捷的团队而言,Apipost无疑是更优选择,让API测试如同五星大厨烹饪般丝滑流畅。
|
缓存 网络协议
Jmeter如何对UDP协议进行测试?
`jmeter-plugins`是JMeter的插件管理器,用于管理和组织所有插件。访问[官网](https://jmeter-plugins.org/install/Install/)下载并放置于`lib/ext`目录下,重启JMeter后可在“选项”中看到插件管理器。
515 1
Jmeter如何对UDP协议进行测试?