性能测试影响因素

TPS(Transactions Per Second,每秒事务处理量)、QPS(Queries Per Second,每秒查询率)、吞吐量和并发数是评估计算机系统或服务器性能的重要指标。

Resource Saturated:资源饱和

Throughput Faling:吞吐量预测

End Users Effected:受影响的最终用户

utilization:利用率

light load:轻载

heavy load:重载

而影响tps、qps、吞吐量、并发数的原因有以下因素:

一、硬件资源

  • CPU性能
  • 内存:内存的大小和速度会影响系统缓存和数据处理能力。
  • 存储设备:存储设备的存取速度,如硬盘或SSD的读写速度,对吞吐量有直接影响。
  • 网络带宽:在压力测试中,如果单位时间内传递的数据包过大,超过了带宽的传输能力,可能会导致网络资源竞争,间接影响TPS和QPS。

二、软件资源

  • 数据库配置:在高并发情况下,如果请求数据需要写入数据库,且需要写入多个表,而数据库的最大连接数不够,或者写入数据的SQL没有索引,抑或没有主从分离、读写分离等,都可能导致数据库事务处理过慢,影响TPS和QPS。
  • 缓存机制:使用缓存可以减轻数据库的负载,提高系统的响应速度,从而提高QPS。
  • 程序设计:高效的算法和代码可以提高程序的执行效率,从而提高TPS、QPS和吞吐量。

三、系统结构

  • 并行处理结构:通过并行处理,可以同时处理多个任务或请求,从而增大吞吐量。
  • 负载均衡:通过负载均衡技术,将请求分发到多个服务器上,可以提高系统的并发处理能力,从而提高TPS、QPS和吞吐量。

四、网络

网络延迟会影响系统的响应速度。如果网络延迟较高,请求需要等待较长的时间才能得到响应,从而降低QPS和TPS。

五、并发请求数

同时发送给系统的请求数量也会影响TPS、QPS和吞吐量,当请求数据量小时,处理时间较短。

六、连接池

6.1 连接

客户端想要访问服务器首先需要和服务器创建一个连接,比如数据库连接、redis连接等。而连接相当于是一个资源,服务器资源有限,所以同时可以提供的连接数是有限制的。如果并发的客户端数量较大,就会导致同时需要大量的连接,很可能会导致服务器性能急剧下降,甚至有宕机的风险。对于服务器而言通常会设置最大可以支持的连接数,而对于客户端而言也需要采用珍惜连接资源的措施,采用连接池使连接复用就是很好的一种方式。

6.2 连接池

以数据库连接池为例,应用程序访问数据库执行SQL时,首先需要和数据库服务器建立连接,然后执行SQL语句,最后再关闭数据库连接。而数据库连接相当于是一个资源,创建连接时需要进行TCP三次握手的操作,关闭连接时需要进行TCP四次挥手的操作。
如果每次执行SQL都需要进行连接的创建和销毁,无疑会严重降低SQL执行的效率。因为需要花费大量的资源进行TCP连接的频繁创建和销毁过程。
连接池相当于是连接的容器,在应用程序启动时初始化指定数量的连接供应用程序使用,那么在每次执行SQL时只需要从连接池中获一个连接对象直接执行SQL即可,执行完SQL将连接还给连接池即可。应用程序完全不用关心连接的创建和销毁过程。

6.3 常用连接池

连接池的种类有很多,比如数据库连接池包括DBCP、C3P0、Druid、HikariCP等开源连接池,DBCP和C3P0两个连接池整体性能较差,Druid和HikariCP两个连接池性能很好,目前最热门连接池是Druid和HikariCP连接池。Springboot2.0默认使用数据库连接池为HikariCP连接池另外还有redis连接池、mongo连接池等常用连接池。

七、压力机

压力机是一种用于测试系统的性能、稳定性以及容错性的设备或软件,通常用于测试在大量用户访问、数据存储、计算负担等情况下,系统是否能够正常运行。它能够模拟真实环境下的负载,从而评估系统在处理高负载情况下的表现,以帮助软件开发和运维人员优化系统性能。

八、数据库管理

数据库锁定、等待时间和事务处理等都会影响并发能力,进而影响TPS、QPS和吞吐量。

因此,影响TPS、QPS、吞吐量和并发数的因素是多方面的,为了提升这些性能指标,需要根据实际情况综合考虑和优化这些因素。

可以查看博主博文:https://www.cnblogs.com/jackion5/p/14169454.html

  • 39
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值