当压测数据压不上去时可能是哪些原因造成的

1、网络带宽

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

2、连接池

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

(关于连接池的具体内容,可参考之前的博客:性能测试:连接池和线程

3、垃圾回收机制

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

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

4、数据库配置

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

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

5、通信连接机制

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

(关于协议的连接,可参考之前的博客:HTTP协议进阶:连接管理

6、硬件资源(服务器 和 压测机)

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

7、压力机

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

8、压测脚本

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

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

9、业务逻辑

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

10、系统架构

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

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

https://blog.csdn.net/weixin_34235135/article/details/93219512

原文地址:https://www.cnblogs.com/kaibindirver/p/11728126.html

时间: 2024-11-08 20:44:44

当压测数据压不上去时可能是哪些原因造成的的相关文章

MySQL压测--参数压测

我们知道,MySQL为了保证数据的尽量不丢失,一般会把参数sync_binlog 和innodb_flush_log_at_trx_commit都设置为1,即双1原则,但是,凡是都有两面性,高安全和高性能往往是让人很难取舍的,需要根据你的实际业务需求进行抉择: 1.测试背景 首先分别了解一下这两个参数的官方解释: sync_binlog Controls how often the MySQL server synchronizes the binary log to disk. 控制MySQL

java 生成压测数据

public static void main(String[] args) throws IOException { List<Object[]> rows = new ArrayList<Object[]>(); String filePath = "D:\\开发计划\\test\\"; String fileName = "dataSoure"; for(int i=0;i<10000;i++){ Random rd = new

mysql做千万条压测数据

#创建数据库CREATE DATABASE bigdata#使用数据库USE bigdata #创建表CREATE TABLE dept(id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,dname VARCHAR(20) NOT NULL DEFAULT '',loc VARCHAR(13) NOT NULL DEFAULT '') ENGINE = INNODB DE

sysbench压测工具 压测 mysql

Sysbench的测试主要包括以下几个方面: 1.磁盘io性能 2.cpu性能 3.内存分配及传输速度 4.POSIX线程性能 5.调度程序性能 6.数据库性能(OLTP基准测试).sysbench 安装注:我这里选择源码包安装sysbench0.5版本下载软件http://repo.percona.com/apt/pool/main/s/sysbench/wget http://repo.percona.com/apt/pool/main/s/sysbench/sysbench_0.5.ori

虚拟网卡性能压测

本文主要介绍多种场景下,虚拟机网卡的压测及性能对比,根据openstack实际的部署方式,虚拟机网卡压测场景包括 SRIOV(passthrough).SRIOV+Macvtap(passthrough).Vlan+Linux bridge.OVS+Linux Bridge,分别从协议类型(TCP/UDP).Message Size方向压测虚拟机网卡的时延.发包率.吞吐量. 压测环境 host1:  服务器型号:IBM x3550m2 CPU型号:Intel(R) Xeon(R) CPU*8,每

来自滴滴、微博、唯品会、魅族、点评关于全链路压测等问题实践分享

架构师小组交流会:每期选一个时下最热门的技术话题进行实践经验分享. 第二期:因为大家对全链路压测的问题比较感兴趣,因此做了一番探讨. 参与嘉宾:滴滴技术负责人彭令鹏.魅族系统架构师何伟.唯品会应用架构负责人张广平.新浪微博技术专家聂永.大众点评交易平台技术负责人陈一方.七牛云首席架构师李道兵. 本文是对此次交流的整理,欢迎探讨. 第一轮:自由交流 滴滴彭令鹏:大家好,我是彭令鹏,目前在滴滴平台部负责整个专快车业务的稳定性和效率,之前在百度做了5年半的网页搜索部底层架构的工作.现在在滴滴主要在推四

PHP压测优化

概述 一个产品的编码完成,并不能代表产品能够给用户体验,其中还必须包含测试.压测分析等,而往往我们的产品上线前却忽略掉压测分析.既然压测分析很重要那么我们应该如何进行呢? 本文章主要通过实践经验来学习了解压测过程,并且提出一些在PHP端可以进行优化的功能点,从而帮助后续开发过程中应用最优方式去编码. 工具 有道是磨刀不误砍柴工,要有好的工具才能做事更有效率,要学会工具的应用才能更进一步的优化系统项目. 关于PHP的工具性能检测工具的话,可以应用xhprof工具或者CI的原生时间打印工具.Xhpr

后端服务性能压测实践

转自:https://mp.weixin.qq.com/s/XW9geHZ9odHdI7srDiKBIg 目录 背景 环境检测 压力机及压力工具检测 Linux openfiles limit 设置 排查周边依赖 空接口压测检测 聚合报告中 throughput 计算 压测及性能排查方法 关注各纬度 log Linux 常规命令 性能排查两种方式(从上往下.从下往上) 总结 背景 最近大半年内有过两次负责性能压测的一些工作.一件事情做了一次可能还无法总结出一些东西,两次过后还是能发现一些共性问题

京东全链路压测军演系统(ForceBot)架构解密

摘要:全链路压测是应对电商大促容量规划最有效的手段,如何有效进行容量规划是其中的架构关键问题.京东在全链路压测方面做过多年尝试,本文转载京东商城基础平台技术专家文章,介绍其最新的自动化压测 ForceBot 体系. ForceBot愿景 1.诞生背景 伴随着京东业务的不断扩张,研发体系的系统也随之增加,各核心系统环环相扣,尤其是强依赖系统,上下游关系等紧密结合,其中一个系统出现瓶颈问题,会影响整个系统链路的处理性能,直接影响用户购物体验. 往年的 618.双 11 大促备战至少提前 3 个月时间