GC基础原理,涉及调优目标,GC事件分类、JVM内存分配策略、GC日志分析等java的最大好处是自动垃圾回收,这样就无需我们手动的释放对象空间了,但是也产生了相应的负效果,gc是需要时间和资源的,不好的gc会严重影响系统的性能,因此良好的gc是JVM的高性能的保证。 1 GC调优目标大多数情况下对 Java 程序进行GC调优, 主要关注两个目标:响应速度、吞吐量响应速度(Re
转载
2023-07-19 15:23:52
323阅读
1. 性能的参考指标执行时间:一段代码从开始运行到运行结束,所使用的时间。CPU时间:函数或者线程占用CPU的时间。内存分配:程序在运行时占用的内存空间。磁盘吞吐量:描述I/O的使用情况。网络吞吐量:描述网络的使用情况。响应时间:系统对某用户行为或者事件做出响应的时间。响应时间越短,性能越好。2. 木桶原理木桶原理又称“短板理论”,其核心思想是:一只木桶盛水的多少,并不取决于桶壁上最高的那块木板,
转载
2023-08-04 13:52:22
120阅读
本文主要通过抓包分析了一次 HTTP(S) 请求究竟需要多少流量,同时也分析了一下整个 HTTP 请求的执行流程。1. 背景最近查询监控,观察到某个负载的带宽峰值在最高的时候都达到了近 30M,然后查了对应时间段的系统 QPS,发现确实是有一个明细的峰值,但是也不应该有这种多流量吧?根据QPS和接口响应数据大致计算下来,最多 5M 带宽就够了。后续对接口响应进行了优化和精简,整体响应数据降低了 2
转载
2024-07-25 14:33:51
683阅读
Tomcat的吞吐量大小取决Io的很大的因素,同时可以通过调整启动项目中的配置,来做一些性能的提升。重要的三个配置项:maxConnections、maxThreads、acceptCount。首先来看下maxConnections最连接数、maxThreads最大线程数、acceptCount等待线程数server:
tomcat:
uri-encoding: UTF-8
#
转载
2023-10-26 20:32:48
416阅读
【前言】 在了解 垃圾回收器 之前,首先得了解一下垃圾回收器的几个名词。吞吐量 CPU 用于运行用户代码的时间与 CPU 总消耗时间的比值。比如说虚拟机总运行了 100 分钟,用户代码 时间 99 分钟,垃圾回收 时间 1 分钟,那么吞吐量就是 99%。吞吐量 = 运行用户代码时间/(运行用户代码时间 + 垃圾回收时间)停顿时间 停顿时间 指垃圾回收器正在运行时,应用程序 的 暂停时间。对于 独占
转载
2023-12-02 20:55:22
117阅读
一个系统的吞度量(承压能力)与一个请求request对CPU的消耗、外部接口、IO等密切关联。单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 一般系统吞吐量由几个重要关键要素组成:QPS:Queries Per Second 每秒内的查询率。它是指一台服
转载
2023-11-13 16:52:36
128阅读
吞吐量吞入量Total Throughput (bytes):代表一段时间内服务器返回给客户端的数据量的大小吞吐率Average Throughput (bytes/second):代表单位时间内服务器返回给客户的数据量的大小loadrunner所统计的数据量Total Throughput (bytes),在整个测试过程中是服务器返回给客户端的所有数据,跟客户端发出的字节数无关!正常情况下,该项
转载
2023-11-17 22:16:10
127阅读
java程序性能当我们调优java程序时,通常的目标有两个:响应能力 或者 吞吐量响应能力响应能力指一个程序或者系统对请求的是否能够及时响应。比如:一个桌面UI能多快的响应一个事件;一个网站能够多快返回一个页面请求;数据库能够多快返回查询的数据;对于这类对响应能力敏感的场景,长时间的停顿是无法接受的。吞吐量吞吐量关注的是,在一个指定的时间内,最大化一个应用的工作量。如下方式来衡量一个系统吞吐量的好
转载
2023-11-20 07:37:36
157阅读
衡量指标有哪些?1. 吞吐量和响应速度分布式的高并发应用并不能把单次请求作为判断依据,它往往是一个统计结果。其中最常用的衡量指标就是吞吐量和响应速度,而这两者也是考虑性能时非常重要的概念。 像我们平常开发中经常提到的,QPS 代表每秒查询的数量,TPS 代表每秒事务的数量,HPS 代表每秒的 HTTP 请求数量等,这都是常用的与吞吐量相关的量化指标。在性能优化的时候,我们要搞清楚优化的目标,到底是
转载
2024-07-08 14:28:34
84阅读
在容量测试时,“控量”是非常重要的,JMeter 是根据线程数大小来控制压力强弱的,但我们制定的压测目标中的指标往往是吞吐量(QPS/TPS),这就给测试人员带来了不便之处,必须一边调整线程数,一边观察 QPS/TPS 达到什么量级了,为了解决这个问题,JMeter 提供了吞吐量定时器的插件,我们可以通过设定吞吐量上限来限制 QPS/TPS,达到控量的效果。 上面的做法能够确保将吞吐量控
转载
2024-03-11 23:12:54
253阅读
收集性能测试结果性能测试执行过程中,场景监控的主要任务是收集测试结果,测试结果有事 务响应时间、吞吐量、TPS、服务器硬件性能、JVM使用情况和数据库性能状态 等。Jmeter中通过监听器及其它外置工具来完成测试结果收集工作事务响应时间用户从发出请求到接收完响应之间的总耗时,它由网络传输耗时、服务处理 耗时等多个部分组成。通常以毫秒(ms)作为单位。站在用户角度来说,你可 以将软件性能看作是软件对
转载
2023-10-23 10:35:29
223阅读
一、概述 1.了解JVM调优之前我们需要知道两个概念:吞吐量(TPS)和响应时间(RT)。吞吐量:指系统在单位时间内处理请求的数量。对于并发系统,通常需要用吞吐量作为性能指标。响应时间:指系统对请求作出响应的时间。对于单用户的系统,响应时间可以很好地度量系统的性能。2.什么是JVM调优?简单理解,JVM调优主要就是为了解决系统运行时慢、卡顿、OOM、死锁等问题。其实上面所说的问题存在很多方面的原因
转载
2023-11-07 06:48:05
130阅读
性能测试理论理解性能测试
性能衡量标准
吞吐量(TPS):指的是服务端返回给客户端的数据量。吞吐率:单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量。它是衡量网络性能的重要指标,通常情况下,吞吐率用“字节数/秒”来衡量,当然,你可以用“请求数/秒”和“页面数/秒”来衡量。其实,不管是一个请求还是一个页面,它的本质都是在网络上传输的数据,那么来表示数据的单位就是字节数。以用
转载
2024-03-09 18:48:25
165阅读
前言: 在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请求进来,就没有多余的连接可用了,只能拒绝连接。要是我们在请求耗时服务的时候,能够异步请求(请求到cont
转载
2024-03-24 17:14:05
90阅读
GC调优简单介绍1. 调优前规划1.1 考虑原则1.2 规划硬件需求1.3 规划分代情况1.4 设定日志参数1.4.1 日志参数的设置1.4.2 GC日志查看2. 问题检测3. 常用参数3.1 G1常用参数3.2 CMS 常用参数3.3 Parallel常用参数3.4 GC常用参数 1. 调优前规划1.1 考虑原则调优前要熟悉业务场景,选择合适的垃圾回收器,若业务需要优先响应时间,则应选择STW
转载
2024-08-13 13:14:15
65阅读
什么是性能测试? 压力测试:强调极端暴力 稳定性测试:在一定压力下,长时间运行的情况 基准测试:在特定条件下的性能测试 负载测试:不同负载下的表现 容量测试:最优容量 吞吐量的指标受到响应时间、服务器软硬件配置、网络状态等多方面因素影响。吞吐量越大,响应时间越短。服务器硬件配置越高,吞吐量越大。网络越差,吞吐量越小。QPS(TPS):每秒
转载
2024-01-04 17:51:21
85阅读
调优前的基础概念1、吞吐量:用户代码时间 /(用户代码执行时间 + 垃圾回收时间) 2、响应时间:STW越短,响应时间越好所谓调优,首先确定,追求啥?吞吐量优先,还是响应时间优先?还是在满足一定的响应时间的情况下,要求达到多大的吞吐量…场景分析选择像类似于科学计算,数据挖掘,这种追求吞吐量优先的,一般选用(PS + PO)垃圾回收器组合 对于对响应时间要求比较高的,类似于网站,GUI渲染, API
*作者:青芒@有赞本文思路 1.JVM运行时内存划分 2.对象创建内存动作 3.Java线程栈 4.JVM垃圾收集器1.JVM运行时内存划分1.1 程序计数器当前线程所执行的字节码的行号指示器。字节码解释器工作的时候就是通过改变这个计数值来选取下一条要执行的字节码指令。1.2 虚拟机栈(java方法栈)线程私有,java方法执行时的内存模型,每个方法执行的时候都会创建一个栈帧用于存储局部变量表、操
转载
2024-08-04 15:41:04
26阅读
最近用netty写了一套代理服务发现网速超级慢下载只有200k左右,代理服务器的实际网速在100Mbit/s 左右。找了好久终于找到原因了。原来是netty tcp 参数SO_SNDBUF和SO_RCVBUF设置太小了(原来为32K,现在设置为2M后网速恢复正常)。源码地址(求Star): GitHub - zhining-lu/n
转载
2023-08-08 11:19:40
364阅读
在实践中我们发现对于大多数的应用领域,评估一个垃圾收集(GC)算法如何根据如下两个标准:吞吐量越高算法越好暂停时间越短算法越好首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads)中执行GC。 只要GC线程是活动的,它们将与应用程序线程(application threads)争用当前可用CPU
转载
2024-06-21 08:34:51
39阅读