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

相关文章
|
监控 算法 Java
Java虚拟机(JVM)垃圾回收机制深度剖析与优化策略####
本文作为一篇技术性文章,深入探讨了Java虚拟机(JVM)中垃圾回收的工作原理,详细分析了标记-清除、复制算法、标记-压缩及分代收集等主流垃圾回收算法的特点和适用场景。通过实际案例,展示了不同GC(Garbage Collector)算法在应用中的表现差异,并针对大型应用提出了一系列优化策略,包括选择合适的GC算法、调整堆内存大小、并行与并发GC调优等,旨在帮助开发者更好地理解和优化Java应用的性能。 ####
453 27
|
9月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1667 5
|
存储 设计模式 监控
快速定位并优化CPU 与 JVM 内存性能瓶颈
本文介绍了 Java 应用常见的 CPU & JVM 内存热点原因及优化思路。
1355 166
|
监控 Java 编译器
聊聊JVM如何优化
JVM的优化是一个复杂而细致的过程,涉及内存管理、垃圾回收、即时编译、线程调度等多个方面。通过合理配置JVM参数、选择合适的垃圾回收器、优化线程调度和使用专业的监控工具,可以大幅提升Java应用的性能和稳定性。掌握这些优化技巧,能够帮助开发者在高并发、高负载的生产环境中保持系统的高效运行。
791 13
|
存储 设计模式 监控
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
398 0
如何快速定位并优化CPU 与 JVM 内存性能瓶颈?
|
监控 Java 开发者
Java虚拟机(JVM)深度优化指南####
本文深入探讨了Java虚拟机(JVM)的工作原理及其性能优化策略,旨在帮助开发者通过理解JVM的内部机制来提升Java应用的运行效率。不同于传统的技术教程,本文采用案例分析与实战技巧相结合的方式,为读者揭示JVM调优的艺术。 ####
533 8
|
监控 算法 Java
Java虚拟机垃圾回收机制深度剖析与优化策略####
【10月更文挑战第21天】 本文旨在深入探讨Java虚拟机(JVM)中的垃圾回收机制,揭示其工作原理、常见算法及参数调优技巧。通过案例分析,展示如何根据应用特性调整GC策略,以提升Java应用的性能和稳定性,为开发者提供实战中的优化指南。 ####
277 5
|
存储 监控 算法
Java虚拟机(JVM)垃圾回收机制深度解析与优化策略####
本文旨在深入探讨Java虚拟机(JVM)的垃圾回收机制,揭示其工作原理、常见算法及参数调优方法。通过剖析垃圾回收的生命周期、内存区域划分以及GC日志分析,为开发者提供一套实用的JVM垃圾回收优化指南,助力提升Java应用的性能与稳定性。 ####
|
存储 算法 Java
深入理解Java虚拟机(JVM)及其优化策略
【10月更文挑战第10天】深入理解Java虚拟机(JVM)及其优化策略
276 1
|
存储 IDE Java
实战优化公司线上系统JVM:从基础到高级
【11月更文挑战第28天】Java虚拟机(JVM)是Java语言的核心组件,它使得Java程序能够实现“一次编写,到处运行”的跨平台特性。在现代应用程序中,JVM的性能和稳定性直接影响到系统的整体表现。本文将深入探讨JVM的基础知识、基本特点、定义、发展历史、主要概念、调试工具、内存管理、垃圾回收、性能调优等方面,并提供一个实际的问题demo,使用IntelliJ IDEA工具进行调试演示。
348 0