网络带宽

在压力测试中,有时要模拟大量的用户请求,如果单位时间内传递的分组太大,超过了带宽的传输容量,将会产生网络资源竞争,间接导致服务端收到的请求数量达不到服务端处理能力的上限。

连接池

可用的连接数太少,造成请求等待。

垃圾回收机制

对于像 Tomcat这样的普通应用服务器,因为 java的堆栈内存是动态分配的,而具体的回收机制是基于算法的,如果在新生代的 Eden和 Survivor区频繁进行 Minor GC,而老年代的 full GC也会经常回收,那么 TPS对 TPS也是有一定影响的,因为垃圾回收其本身就会占用一定的资源。

数据库配置

在高并发的情况下,如果请求数据需要写入数据库,并且需要写入多个表时,如果数据库的连接数不够多,或者 SQL没有索引没有绑定变量写入数据,或者没有主从分离,读写分离等等,都会导致处理过慢的数据库事务,影响到 TPS。

通信连接机制

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

硬件资源

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

压力机

例如 PerformanceRunner性能测试工具,单机负载能力是有限的,如果需要模拟的用户请求数量超过了它的负载限制,则间接影响 TPS。

压测脚本

举一个 PerformanceRunner性能测试工具的例子,在以前工作的同事遇到过,进行阶梯压力测试,较大的模拟请求数超过了设置的线程数,导致线程不足。

业务逻辑

由于业务不连贯、更复杂、整个事务理线被拉长而引起的问题。

系统架构

例如有没有缓存服务、缓存服务器配置、缓存命中率、缓存穿透率、缓存过期等等,都会影响测试结果。

以上是关于软件测试的知识,由多测师亲自撰写,全网独家提供!

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部