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

相关文章
|
3天前
|
监控 算法 Java
Java虚拟机垃圾回收机制深度剖析与优化策略####
【10月更文挑战第21天】 本文旨在深入探讨Java虚拟机(JVM)中的垃圾回收机制,揭示其工作原理、常见算法及参数调优技巧。通过案例分析,展示如何根据应用特性调整GC策略,以提升Java应用的性能和稳定性,为开发者提供实战中的优化指南。 ####
19 5
|
1月前
|
监控 架构师 Java
JVM进阶调优系列(6)一文详解JVM参数与大厂实战调优模板推荐
本文详述了JVM参数的分类及使用方法,包括标准参数、非标准参数和不稳定参数的定义及其应用场景。特别介绍了JVM调优中的关键参数,如堆内存、垃圾回收器和GC日志等配置,并提供了大厂生产环境中常用的调优模板,帮助开发者优化Java应用程序的性能。
|
1月前
|
Arthas 监控 Java
JVM知识体系学习七:了解JVM常用命令行参数、GC日志详解、调优三大方面(JVM规划和预调优、优化JVM环境、JVM运行出现的各种问题)、Arthas
这篇文章全面介绍了JVM的命令行参数、GC日志分析以及性能调优的各个方面,包括监控工具使用和实际案例分析。
46 3
|
1月前
|
存储 算法 Java
深入理解Java虚拟机(JVM)及其优化策略
【10月更文挑战第10天】深入理解Java虚拟机(JVM)及其优化策略
43 1
|
1月前
|
Java Android开发 开发者
【编程进阶知识】精细调控:掌握Eclipse JVM参数配置的艺术
本文详细介绍了如何在Eclipse中配置JVM参数,包括内存的初始和最大值设置。通过具体步骤和截图演示,帮助开发者掌握JVM参数的精细调控,以适应不同的开发和测试需求。
43 1
|
1月前
|
监控 Java
Java的JVM如何优化?
Java的JVM如何优化?
59 3
|
3月前
|
Java
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
【Azure 应用服务】如何查看App Service Java堆栈JVM相关的参数默认配置值?
|
3月前
|
C# 开发者 Windows
震撼发布:全面解析WPF中的打印功能——从基础设置到高级定制,带你一步步实现直接打印文档的完整流程,让你的WPF应用程序瞬间升级,掌握这一技能,轻松应对各种打印需求,彻底告别打印难题!
【8月更文挑战第31天】打印功能在许多WPF应用中不可或缺,尤其在需要生成纸质文档时。WPF提供了强大的打印支持,通过`PrintDialog`等类简化了打印集成。本文将详细介绍如何在WPF应用中实现直接打印文档的功能,并通过具体示例代码展示其实现过程。
322 0
|
3月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
3月前
|
运维 监控 Java
【JVM 调优秘籍】实战指南:JVM 调优参数全解析,让 Java 应用程序性能飙升!
【8月更文挑战第24天】本文通过一个大型在线零售平台的例子,深入探讨了Java虚拟机(JVM)性能调优的关键技术。面对应用响应延迟的问题,文章详细介绍了几种常用的JVM参数调整策略,包括堆内存大小、年轻代配置、垃圾回收器的选择及日志记录等。通过具体实践(如设置`-Xms`, `-Xmx`, `-XX:NewRatio`, `-XX:+UseParallelGC`等),成功降低了高峰期的响应时间,提高了系统的整体性能与稳定性。案例展示了合理配置JVM参数的重要性及其对解决实际问题的有效性。
102 0