压力测试中tps上不去的原因

TPS (transaction per second)代表每秒执行的事务数量,可基于测试周期内完成的事务数量计算得出。例如,用户每分钟执行6个事务,TPS为6 / 60s = 0.10 TPS。
同时我们会知道事务的响应时间(或节拍),以此例,60秒完成6个事务也同时代表每个事务的响应时间或节拍为10秒。

有很多原因,分开分析,大概是下面几个原因:
1、网络带宽:每秒可传递的数据大小有限,并发超过一定阈值,就会造成请求等待或者网络资源竞争
2、连接池:可用的连接数太少,造成请求等待
3、连接池垃圾回收机制:频繁的full GC
4、数据库数据写入:如果数据要入库,写入多个表,且入库的处理SQL没有索引,没有绑定变量,则SQL执行效率太低
5、服务器连接机制:串行 并行 长连接 管道,不同的连接机制造成的请求传输也不同
6、硬件:CPU 磁盘内存不够,页交换频繁等
7、压力机本身的问题
8、业务逻辑:业务复杂,造成的事务处理线被拉长

我大概能想到的就是这些,当然,也有其他原因,不过一般分析性能瓶颈主要从网络 连接池 事务处理逻辑 数据库 硬件 压力机这几个方面考虑

延伸点的话,还有缓存的应用问题,比如缓存命中率太低,缓存穿透,缓存过期造成的原因

比如缓存命中率太低 我们技术总监跟我说过这个词 但是我没理解

延伸点的话,还有缓存的应用问题,比如缓存命中率太低,缓存穿透,缓存过期
http://www.cnblogs.com/imyalost/p/7189455.html

http://blog.csdn.net/wenwen091100304/article/details/48035003

posted on 2018-01-18 13:23  sunny_2016  阅读(749)  评论(0编辑  收藏  举报

导航