压力测试中tps上不去的原因
2024-08-30 17:38:59
PS (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
最新文章
- JQuery Ajax调用asp.net后台方法
- linux安装apache
- [JAVA]HTTP请求应答作输入输出
- SSIS数据转换后数值总数差异过大
- 一个App完成入门篇(一)-从Hello world开始
- iOS-公司开发者账号的申请和注册(博主原创+亲身经历+2016年申请+附带与邓白氏公司的往来邮件截图)
- java.lang.reflect.Method
- 去除冗余 – 精简您的CSS样式代码
- mysql 用户名密码登陆不上
- [E120L][KitKat][4.4.2][CM11] CM11 rom+ google app安装心得
- jquery ajax用例样板
- Android(java)学习笔记254:ContentProvider使用之内容观察者(观察发出去的短信)
- iotop
- 高级UNIX环境编程3 FILE IO
- 1.在CentOS 6.4安装python3
- PHP系统左侧菜单栏的管理与实现
- [LeetCode] Single Element in a Sorted Array 有序数组中的单独元素
- 7-20 jquery遍历节点,bootstrap模态框绑定事件和解绑,mock.js,model.urlroot,id,打基础
- Helm 入门指南
- 二叉树遍历-c实现
热门文章
- MATLAB实例:构造网络连接图(Network Connection)及计算图的代数连通度(Algebraic Connectivity)
- python进阶之内存模型
- linux--新装机图形化界面遇到的问题
- 《细说PHP》第四版 样章 第18章 数据库抽象层PDO 10
- 用Scriban进行模版解析
- Linux Ubuntu 16.04 安装步骤+远程环境
- abp实战-ContosoUniversity Abp版-1运行项目
- java基础(7):自定义类、ArrayList集合
- JQuery操作attr、prop、val()/text()/html()、class属性
- paypal开发指南