JMeter学习第三天+

性能测试前言

老师开局一句话:性能测试和你会不会JMeter一点关系没有……

作者坚持技多不压身的原则,还是多学一点JMeter吧,看老师到底要怎么讲下去,什么并发量、吞吐量啥的……

性能测试的核心思想:在于创造大量并发去访问接口,检查当前接口在极端情况下会出现的问题。

比如访问的人数越多,内存会不会小?CPU会不会高?网络带宽会不会大?这三种指标只要有一项过高,会牵连其他两项升高,最终导致服务器停滞。

JMeter创造并发的手段很多很全面(所以性能测试还是可以用到JMeter的,可能老师觉得思想和知识积累才是性能测试最重要的东西吧,要知道核心特征的值对应着什么样的性能……),有丰富的插件,可以对各种场景进行模拟。

怎样学习性能测试:

1.首先明确吞吐量QPS/TPS系统在单位时间内处理的请求数量、并发量、响应时间等核心性能指标;

2.再在实际项目中进行监控/报警,保证服务器维持一个较为稳定的状态,或者能够及时重启服务器把损失降到最低;

3.然后,涉及到软件工程所讲的性能需求分析,怎么压怎么测试要写一个性能测试报告,这是最为重要的一点;

4.最后专家能力:能够及时分析性能瓶颈,跟开发人员提出优化建议。


性能核心概念

下面是一些基本概念的解释和如何利用这些概念来判断性能:

1. 吞吐量 (QPS/TPS)

  • 定义: QPS(Queries Per Second) 是每秒查询率,TPS(Transactions Per Second) 是每秒事务数。它们衡量了系统每秒钟能够处理的请求数或事务数。QPS适用于没有写入操作的场景,TPS适用于写入操作的场景。
  • 应用: 通过分析系统的QPS/TPS,可以评估系统能够处理的并发负载量。如果QPS/TPS太低,可能表示系统无法高效处理请求。
  • 如何优化:优化代码和数据库查询、提升服务器硬件性能、使用负载均衡(作者在Redis中有介绍过)和分布式系统架构

2. 并发量

  • 定义: 并发量指的是系统能够同时处理的用户数量或请求数量
  • 应用: 测量并监控并发量可以帮助确定系统是否能够在高负载下稳定运行。
  • 注意,如果涉及到庞大数据并发,则建议分布式测试并发量。在JMeter中,只要用户数达到上万,个人PC肯定死机,服务器也不可能搞得太多,所以要分担这样的测试。比如10w并发,可以分成20台机器,每台进行5k并发。

3. 响应时间

  • 定义: 响应时间是系统从接收到请求到生成响应所花费的时间
  • 应用: 如果响应时间太长,用户可能会对网站或应用感到不满。

4. 负载测试

  • 定义: 负载测试是指通过模拟多个用户同时访问应用来评估应用的性能。
  • 应用: 通过负载测试,可以找到系统在高负载下的性能瓶颈和问题。

5. 压力测试

  • 定义: 压力测试是将系统压力推至极限,以确保系统在极端条件下的稳定性和可靠性。
  • 应用: 通过压力测试,可以了解系统的极限性能和确定系统的稳定性。

JMeter学习第三天+_第1张图片

个人开发网站的例子

作者将来需要开发一个小的不能再小的网站。根据这个场景,下面是一些合理的性能期望:

  • 吞吐量(QPS): 一个小型的网站,QPS可以是10-100之间
  • 并发量: 并发用户可能在10-100之间
  • 响应时间: 响应时间应该少于2秒

如果网站QPS超过100,这是很好的,但也要确保服务器和数据库等可以处理这种负载。如果响应时间超过2秒,用户可能会觉得网站速度慢,应该考虑优化网站,比如通过减少图片大小、使用缓存等方法。如果QPS低于10,可能表示网站性能存在问题。如果并发量无法达到10或响应时间超过3秒,也表示网站可能需要优化和改进。

总结

每个系统和应用都有自己的性能需求和标准。重要的是定期进行性能测试,监控系统性能指标,并根据测试结果和监控数据进行优化和调整,以确保系统能够满足用户和业务的需求。


JMeter停更,作者实在是学不动了,性能测试太麻烦了,等作者准备面试或者丰富简历的时候再深入学习吧。

抱歉各位,作者先用apipost去完成作业了……这些是一通百通的,所以,所有的学习都是有用的!

你可能感兴趣的:(#,软件测试,软件工程,jmeter,学习)