草庐IT

深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」

【易错问题】MajorGC和FullGC的区别是什么?触发条件呢?相信大多数人的理解是MajorGC只针对老年代,FullGC会先触发一次MinorGC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。在基于HotSpotVM的基础角度针对HotSpotVM的实现,它里面的GC其实准确分类只有两大种:PartialGC(部分回收模式)PartialGC代表着并不收集整个GC堆的模式YoungGenerationGC(新生代回收模式):它主要是进行回收新生代范围内的内存对象的GC回收器。Old/TenuredGenerationGC(老年代回收模式):它主要是针对于回收老年代

深度剖析 | 【JVM深层系列】[HotSpotVM研究系列] JVM调优的"标准参数"的各种陷阱和坑点分析(攻克盲点及混淆点)「 1 」

【易错问题】MajorGC和FullGC的区别是什么?触发条件呢?相信大多数人的理解是MajorGC只针对老年代,FullGC会先触发一次MinorGC,不知对否?我参考了R大的分析和介绍,总结了一下相关的说明和分析结论。在基于HotSpotVM的基础角度针对HotSpotVM的实现,它里面的GC其实准确分类只有两大种:PartialGC(部分回收模式)PartialGC代表着并不收集整个GC堆的模式YoungGenerationGC(新生代回收模式):它主要是进行回收新生代范围内的内存对象的GC回收器。Old/TenuredGenerationGC(老年代回收模式):它主要是针对于回收老年代

【性能优化】MySQL性能优化之存储引擎调优

1MySQL总体架构介绍1.1MySQL总体架构介绍引言MySQL是一个关系型数据库应用十分广泛在学习任何一门知识之前对其架构有一个概括性的了解是非常重要的比如索引、sql是在哪个地方执行的流程是什么样的今天我们就先来学习一下MySQL的总体架构总的来说:MySQL架构是一个客户端-服务器系统。MySQL主要包括以下几部分:Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块binglog日志模块。存储引擎:主要负责数据的存储和读取,采用可以替换的插件式架构,支持InnoDB、MyIS

【性能优化】MySQL性能优化之存储引擎调优

1MySQL总体架构介绍1.1MySQL总体架构介绍引言MySQL是一个关系型数据库应用十分广泛在学习任何一门知识之前对其架构有一个概括性的了解是非常重要的比如索引、sql是在哪个地方执行的流程是什么样的今天我们就先来学习一下MySQL的总体架构总的来说:MySQL架构是一个客户端-服务器系统。MySQL主要包括以下几部分:Server层:主要包括连接器、查询缓存、分析器、优化器、执行器等,所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图,函数等,还有一个通用的日志模块binglog日志模块。存储引擎:主要负责数据的存储和读取,采用可以替换的插件式架构,支持InnoDB、MyIS

JVM常用调优配置参数

常用的JVM配置参数:-Xms2g:初始化堆大小为2g;-Xmx2g:堆最大内存为2g;-XX:NewRatio=4:设置年轻的和老年代的内存比例为1:4;-XX:SurvivorRatio=8:设置新生代Eden和Survivor比例为8:2;–XX:+UseParNewGC:指定使用ParNew+SerialOld垃圾回收器组合;-XX:+UseParallelOldGC:指定使用ParNew+ParNewOld垃圾回收器组合;-XX:+UseConcMarkSweepGC:指定使用CMS+SerialOld垃圾回收器组合;-XX:+UseG1GC:设置使用G1垃圾回收器-XX:+Prin

JVM常用调优配置参数

常用的JVM配置参数:-Xms2g:初始化堆大小为2g;-Xmx2g:堆最大内存为2g;-XX:NewRatio=4:设置年轻的和老年代的内存比例为1:4;-XX:SurvivorRatio=8:设置新生代Eden和Survivor比例为8:2;–XX:+UseParNewGC:指定使用ParNew+SerialOld垃圾回收器组合;-XX:+UseParallelOldGC:指定使用ParNew+ParNewOld垃圾回收器组合;-XX:+UseConcMarkSweepGC:指定使用CMS+SerialOld垃圾回收器组合;-XX:+UseG1GC:设置使用G1垃圾回收器-XX:+Prin

Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog

前两天看到一群里在讨论Tomcat参数调优,看到不止一个人说通过accept-count来配置线程池大小,我笑了笑,看来其实很多人并不太了解我们用的最多的WebServerTomcat,这篇文章就来聊下Tomcat调优,重点介绍下线程池调优及TCP半连接、全连接队列调优。Tomcat线程池先来说下线程池调优,就拿SpringBoot内置的Tomcat来说,确实是支持线程池参数配置的,但不是accept-count参数,可以通过threads.max和threads.minSpare来配置线程池最大线程数和核心线程数。如果没有设置,则会使用默认值threads.max:200threads.mi

Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog

前两天看到一群里在讨论Tomcat参数调优,看到不止一个人说通过accept-count来配置线程池大小,我笑了笑,看来其实很多人并不太了解我们用的最多的WebServerTomcat,这篇文章就来聊下Tomcat调优,重点介绍下线程池调优及TCP半连接、全连接队列调优。Tomcat线程池先来说下线程池调优,就拿SpringBoot内置的Tomcat来说,确实是支持线程池参数配置的,但不是accept-count参数,可以通过threads.max和threads.minSpare来配置线程池最大线程数和核心线程数。如果没有设置,则会使用默认值threads.max:200threads.mi

高性能 Java 计算服务的性能调优实战

作者:vivo互联网服务器团队-ChenDongxing、LiHaoxuan、ChenJinxia随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课。性能优化从何着手?如何从问题表象定位到性能瓶颈?如何验证优化措施是否有效?本文将介绍分享vivopush推荐项目中的性能调优实践,希望给大家提供一些借鉴和参考。一、背景介绍在Push推荐中,线上服务从Kafka接收需要触达用户的事件,之后为这些目标用户选出最合适的文章进行推送。服务由Java开发,CPU密集计算型。随着业务的不断发展,请求并发及模型计算量越来越大,导致工程上遇到了性能瓶颈,Kafka消费出现严重的积压现象,无法及时完成目标

高性能 Java 计算服务的性能调优实战

作者:vivo互联网服务器团队-ChenDongxing、LiHaoxuan、ChenJinxia随着业务的日渐复杂,性能优化俨然成为了每一位技术人的必修课。性能优化从何着手?如何从问题表象定位到性能瓶颈?如何验证优化措施是否有效?本文将介绍分享vivopush推荐项目中的性能调优实践,希望给大家提供一些借鉴和参考。一、背景介绍在Push推荐中,线上服务从Kafka接收需要触达用户的事件,之后为这些目标用户选出最合适的文章进行推送。服务由Java开发,CPU密集计算型。随着业务的不断发展,请求并发及模型计算量越来越大,导致工程上遇到了性能瓶颈,Kafka消费出现严重的积压现象,无法及时完成目标