性能测试中TPS上不去的几种原因浅析

这篇具有很好参考价值的文章主要介绍了性能测试中TPS上不去的几种原因浅析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

昨晚在某个测试群看到有人问了一个问题:压力测试中TPS一直上不去,是什么原因?稍微整理了下思路,列举性的简略回答了他的问题。

这篇博客,就具体说说在实际压力测试中,为什么有时候TPS上不去的原因。如有遗漏或不对的,请评论区指出,不胜感激。。。

先来解释下什么叫TPS:

TPS(Transaction Per Second):每秒事务数,指服务器在单位时间内(秒)可以处理的事务数量,一般以request/second为单位。

下面就说说压测中为什么TPS上不去的原因:

1、网络带宽

在压力测试中,有时候要模拟大量的用户请求,如果单位时间内传递的数据包过大,超过了带宽的传输能力,那么就会造成网络资源竞争,间接导致服务端接收到的请求数达不到服务端的处理能力上限。

2、连接池

可用的连接数太少,造成请求等待。连接池一般分为服务器连接池(比如Tomcat)和数据库连接池(或者理解为最大允许连接数也行)。

3、垃圾回收机制

从常见的应用服务器来说,比如Tomcat,因为java的的堆栈内存是动态分配,具体的回收机制是基于算法,如果新生代的Eden和Survivor区频繁的进行Minor GC,老年代的full GC也回收较频繁,那么对TPS

也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。

4、数据库配置

高并发情况下,如果请求数据需要写入数据库,且需要写入多个表的时候,如果数据库的最大连接数不够,或者写入数据的SQL没有索引没有绑定变量,抑或没有主从分离、读写分离等,

就会导致数据库事务处理过慢,影响到TPS。

5、通信连接机制

串行、并行、长连接、管道连接等,不同的连接情况,也间接的会对TPS造成影响。

6、硬件资源

包括CPU(配置、使用率等)、内存(占用率等)、磁盘(I/O、页交换等)。

7、压力机

比如jmeter,单机负载能力有限,如果需要模拟的用户请求数超过其负载极限,也会间接影响TPS(这个时候就需要进行分布式压测来解决其单机负载的问题)。

8、压测脚本

还是以jemter举个例子,之前工作中同事遇到的,进行阶梯式加压测试,最大的模拟请求数超过了设置的线程数,导致线程不足。

提到这个原因,想表达意思是:有时候测试脚本参数配置等原因,也会影响测试结果。

9、业务逻辑

业务解耦度较低,较为复杂,整个事务处理线被拉长导致的问题。

10、系统架构

比如是否有缓存服务,缓存服务器配置,缓存命中率、缓存穿透以及缓存过期等,都会影响到测试结果。

PS:性能瓶颈分析不能单从局部分析,要综合起来,多维度分析问题原因。上面列出的几点,可能有描述不当或者遗漏的,仅供参考。。。

如果有不准确的,请评论指正,谢谢!

【性能测试】终于有一套全面的性能测试教程啦!真实企业性能测试全流程项目实战!文章来源地址https://www.toymoban.com/news/detail-740112.html

到了这里,关于性能测试中TPS上不去的几种原因浅析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决192.168.1.1路由器进不去的故障

    192.168.1.1进不去的原因 当你访问http://www.routerlogin.net/welcome.htm或welcome.htm或http://192.168.1.1页时,浏览器提示:无法显示该页面,总结起来,导致192.168.1.1进不去问题的原因通常是以下几种: 1.用来设置路由器的电脑的TCP/IP属性设置有误; 2.设置路由器的电脑的TCP/IP设置无误,路

    2024年02月08日
    浏览(41)
  • python安装详细教程(python官网进不去的情况)

    使用镜像网站: https://registry.npmmirror.com/binary.html?path=python/ 进入之后选择相应的版本。 安装过程同从官网下载后的安装过程,如下: https://blog.csdn.net/weixin_49237144/article/details/122915089 检查安装是否成功。 首先打开cmd,输入python,如果显示版本,则证明安装成功。 这时就可以在

    2024年02月05日
    浏览(42)
  • 【性能测试】性能测试指标TPS(Transaction per Second)

    性能测试指标TPS(Transaction per Second)总结。 提示:以下是本篇文章正文内容,下面案例可供参考 tps是Transaction per Second的缩写,也就是事物数/秒。它是软件测试结果的测量单位,一个事物是指一个客户机向服务器发送请求饭后服务器做出反应的过程。 客户机在发送请求时开

    2024年02月01日
    浏览(86)
  • Jmeter性能测试 —— TPS拐点寻找

    寻找TPS性能拐点 1、准备脚本 ①在本地电脑调试Jmeter压测脚本 ②上传到压测机Jmeter所在的服务器 2、执行压力测试 ①执行压测脚本 ②记录业务压测数据 3、监控服务器性能指标 ①监控CPU输入top命令 ②监控内存 ③jstat监控sweep和GC情况 ④jvisualvm监控jvm情况 最后感谢每一个认真

    2024年02月08日
    浏览(35)
  • 输入192.168.1.1登陆页面打不开进不去的解决方法

    路由器使用环境问题: 一般要用到路由器上网的环境应该是家庭有两台电脑或者宿舍一起共享上网,公司内网IP不够等几种情况!首先我们面对的不是路由器设置问题,而是路由器登录问题。正确登陆了路由器才能进行设置,所以登陆是我们所有使用路由器的人需要首先解决

    2024年02月07日
    浏览(44)
  • 一招永久解决github上不去问题,秒开

    进入如下路径,把hosts复制到桌面 在桌面将hosts以记事本方式打开,复制下面内容,退出保存 3. 将修改好的hosts,替换掉原系统中的hosts 打开cmd,输入下面的代码即可刷新DSN 秒开。。。

    2024年02月11日
    浏览(40)
  • postman调用接口返回404的几种原因

    postman在本地调试接口返回404的原因: 1.请求路径不对,需要仔细核对接口地址是否错误; 2.在测试本地接口时,使用postman调用后台可以正常进入方法走到断点,也可以正常走到return,但是在postman接收到的返回值如下: 这种情况检查下controller类上的注解是否为@Controller,改为

    2024年02月11日
    浏览(43)
  • 【性能测试】稳定性/并发压力测试的TPS计算+5W并发场景设计...

    1、稳定性测试TPS计算 ①普通计算公式:TPS=总请求数 / 总时间按照需求得到基础数据。 在去年第20周,某平台有5万的浏览量 那么总请求数我们可以估算为5万(1次浏览都至少对应1个请求) 总请求数 = 50000请求数 总时间:由于不知道每个请求的具体时间,我们按照普通方法,

    2024年02月04日
    浏览(56)
  • 性能测试:深入理解并发量,线程数,吞吐量,TPS

    并发数,线程数,吞吐量,每秒事务数(TPS)都是性能测试领域非常关键的数据和指标。 那么他们之间究竟是怎样的一个对应关系和内在联系? 测试时,我们经常容易将线程数等同于表述为并发数,这一表述正确吗? 本文就将对性能领域的这些关键概念做一次探讨。 文章可

    2024年02月03日
    浏览(54)
  • 蚁剑返回数据为空的几种原因

    中国蚁剑返回数据为空, 1,可能是post没有大小写, 2,看防火墙有没有关, 3,代理是不是手动。 一句话木马?php @eval($_POST[\\\"password\\\"]);? 今天连接蚁剑死活连不上到头来发现post没有大写 然后就连接成功了 4.格式要换成base64,上下格式都要换成base64

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包