Tomcat JVM参数优化策略| 学习笔记

简介: 快速学习Tomcat JVM参数优化策略。

开发者学堂课程【线上Linux服务器优化经验Tomcat JVM参数优化策略】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/382/detail/4811


Tomcat JVM参数优化策略


一、总结概述

二、Tomcat JVM参数优化

三、下期公开课预告

1.主题:Web服务器企业应用架构经验分享

2.内容:

3.参与方式

4.开班介绍

5.授课模式

6.开课时间

 

一、总结概述

那怎么样判断这个网站,它的一个资源和素材是被 NG 处理的,还是被 tomcat 处理其实有一个简单而又明确的一个区分标准,比如举个例子,我们在打开一个公开课的网站,

image.png

比如现在就看见这个图片,复制图片网址图片的一个地址,那我们怎么判断这个图片地址是被这个 NG 处理了还是 tomcat 的处理了?

一个最简单的小窍门是这样的,比如说我们找它的报错一,那后面随便跟一个数字,跟这个数字的意思,就说这个,图片肯定是不存在会报错,我们根据报错信息去判断,做一个输入,然后刷新一下,可以看到就报错出现一个404,说没有找到。

image.png

那么通过这个404,其实找到了就是这个 NG ,它这个图片就这个是被哪个这个应用复习给处理的,我们看到它是显示的是这个 NG ,然后一点六版本。

其实就是这个图片被NG给处理掉了,那么通过这个方式其实就非常简单的能够判断,就是每一个图片,它到底是被NG所处理的还是被我们后端它们快速处理的,那当然,如果说是被它们概括处理的话,它的返回的错误信息,应该就是它们开的一个错误信息。

NG服务器可以再加一个 tomcat ,为了充分利用资源,一个好的方式就是在NG服务器上再加一个 tomcat ,也就是说前端既是 NG 也是 tomcat ,剩下两台服务器都是加一个 tomcat 这样充分发挥三台服务器的性能,是更好的一个策略。

 

二、Tomcat JVM参数优化

1.优化参数:

-server-Xms3550m-Xmx3550m-Xmn1g-XX:PermSize=256M-XX:MaxPermSize=512m

Tomcat JVM 是 java 运行中的一个虚拟机,只有给虚拟机增加更多的资源,才能让它更好的运行。

对与 JVM,在不同的运维公司会有不同的区分方式。一般来说,对与JVM的优化参数都是由开发给出一个相关的配置需求,运维去做一个部署实施。

对于虚拟机,经常需要提到的是堆内存的大小,整个堆内存大小由年轻代大小、年老代大小和持久代大小组成,即整个堆内存大小=年轻代大小+年老代大小+持久代大小。

2.具体设置操作:

对于JAVA虚拟机有一个堆内存的设置,一般的优化都是堆内存大小进行设置。

堆内存是由三部分组成的,第一是年轻代的大小,第二部分是年老代大小,第三部分是持久代大小。

-Xmx3550m:设置JVM最大内存为3550M

-Xmx3550m:设置JVM初始堆内存为3550M(通常建议将最大堆内存和初始堆内存的值大小设置相同,好处就是这样可以避免很多的操作)

-Xmn2g:设置堆内存年轻代大小为2G,整个堆内存大小=年轻代大小+年老代大小+持久代大小(设置年轻代大小和年老代大小的值时,一定要保持平衡,要保证可以将其发挥最大的性能)

持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小,此值对系统性能影响较大

XX:PermSize=256M:设置堆内存持久代初始值为256M

XX:MaxPermSize=512m:设置持久代最大值为512M.持久代的大小一般是固定的,根据业务来调整持久代的值。

以上参数设置的大小是参照硬件环境其中内存大小为32G来设置,如果内存较小,那么就根据实际需要去适当降低配置。

另外需要注意在进行 JVM 相关的英文业务时,建议操作系统和版本要用最新的,这样可以保证在进行 JVM 优化时,内存设置可以最大化,如果是32位,内存利用率是有一定的限制的,建议使用64位操作系统。

 

三、下期公开课预告

1.主题

Web服务器企业应用架构经验分享

2.内容

Apache 架构技术分析(lamp+lamj)

Apache+tomcat 架构实战经验分享

Nginx 常见架构讨论与可行性分析

Nginx 常见性能调化策略

Nginx 负载均衡架构经验分享

3.参与方式

加入 Linux 运维专家(134896298)然后关注群公告,每周会定期进行公开课技术分享,具体开课时间会提前通知,欢迎大家届时参加。

参与方式:打开爱维 Linux 腾讯课堂:http://ke.qq.com/course/17291.点击报名,即可免费参与,如果你没来及参加线上直播,那么可以通过访问爱维Linux交流论坛:http://i,iivey.com/观看公开课的录制视频。

4.开班介绍

爱维Linux ,专注Linux运维实战教育,我们开设了两个班级:

●高薪运维入i门提高班详情: http://www.ivey.com/666-2

●高薪运维实战提升班详情: http://www.ivey.com/archives/66

5.授课模式

课程汇聚了以南非蚂蚁领衔的行业顶尖技术专家10年一线工作经验和培训心得,课程由浅入深,循序渐进,能够帮助学员们系统学习Linux一线经验,并迅速掌握Linux的各种应用技能。

授课方法

理论结合实际+实战技巧+经验分享+实时互动+专业学习教材

6.开课时间

入门提高班将在3月12开课。而实战提高班将在5月份开课, 5个月的授课时间,现

在入门门提高班接受报名.有意向的朋友可通过如下方式联系我们: .

QQ : 397824870 (蚂蚁老师) 3335603751 (章老师) 1218761836( 王老师)

微信:ixdba8

相关文章
|
1月前
|
监控 算法 Java
Java虚拟机(JVM)垃圾回收机制深度剖析与优化策略####
本文作为一篇技术性文章,深入探讨了Java虚拟机(JVM)中垃圾回收的工作原理,详细分析了标记-清除、复制算法、标记-压缩及分代收集等主流垃圾回收算法的特点和适用场景。通过实际案例,展示了不同GC(Garbage Collector)算法在应用中的表现差异,并针对大型应用提出了一系列优化策略,包括选择合适的GC算法、调整堆内存大小、并行与并发GC调优等,旨在帮助开发者更好地理解和优化Java应用的性能。 ####
40 0
|
1月前
|
存储 监控 算法
Java虚拟机(JVM)垃圾回收机制深度解析与优化策略####
本文旨在深入探讨Java虚拟机(JVM)的垃圾回收机制,揭示其工作原理、常见算法及参数调优方法。通过剖析垃圾回收的生命周期、内存区域划分以及GC日志分析,为开发者提供一套实用的JVM垃圾回收优化指南,助力提升Java应用的性能与稳定性。 ####
|
2月前
|
监控 算法 Java
Java虚拟机垃圾回收机制深度剖析与优化策略####
【10月更文挑战第21天】 本文旨在深入探讨Java虚拟机(JVM)中的垃圾回收机制,揭示其工作原理、常见算法及参数调优技巧。通过案例分析,展示如何根据应用特性调整GC策略,以提升Java应用的性能和稳定性,为开发者提供实战中的优化指南。 ####
46 5
|
2月前
|
Java
JVM内存参数
-Xmx[]:堆空间最大内存 -Xms[]:堆空间最小内存,一般设置成跟堆空间最大内存一样的 -Xmn[]:新生代的最大内存 -xx[use 垃圾回收器名称]:指定垃圾回收器 -xss:设置单个线程栈大小 一般设堆空间为最大可用物理地址的百分之80
|
3月前
|
监控 架构师 Java
JVM进阶调优系列(6)一文详解JVM参数与大厂实战调优模板推荐
本文详述了JVM参数的分类及使用方法,包括标准参数、非标准参数和不稳定参数的定义及其应用场景。特别介绍了JVM调优中的关键参数,如堆内存、垃圾回收器和GC日志等配置,并提供了大厂生产环境中常用的调优模板,帮助开发者优化Java应用程序的性能。
|
3月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
87 3
|
3月前
|
存储 算法 Java
深入理解Java虚拟机(JVM)及其优化策略
【10月更文挑战第10天】深入理解Java虚拟机(JVM)及其优化策略
58 1
|
3月前
|
Java Android开发 开发者
【编程进阶知识】精细调控:掌握Eclipse JVM参数配置的艺术
本文详细介绍了如何在Eclipse中配置JVM参数,包括内存的初始和最大值设置。通过具体步骤和截图演示,帮助开发者掌握JVM参数的精细调控,以适应不同的开发和测试需求。
56 1
|
5月前
|
Java
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
|
5月前
|
C# 开发者 Windows
震撼发布:全面解析WPF中的打印功能——从基础设置到高级定制,带你一步步实现直接打印文档的完整流程,让你的WPF应用程序瞬间升级,掌握这一技能,轻松应对各种打印需求,彻底告别打印难题!
【8月更文挑战第31天】打印功能在许多WPF应用中不可或缺,尤其在需要生成纸质文档时。WPF提供了强大的打印支持,通过`PrintDialog`等类简化了打印集成。本文将详细介绍如何在WPF应用中实现直接打印文档的功能,并通过具体示例代码展示其实现过程。
446 0