1. 首页 > 快讯

加速您的 Web 项目:深入 Tomcat 优化指南

雄猫背景

自从JSP发布以来,各种JSP引擎相继推出。 Apache Group完成GNUJSP1.0的开发后,开始考虑基于SUN的JSWDK开发一个可以直接提供Web服务的JSP服务器。当然,它也支持Servlet,于是Tomcat就诞生了。 Tomcat是jakarta项目的一个重要子项目。它被JavaWorld杂志编辑评为2001年最具创新性的Java产品。同时它是Sun公司官方推荐的servlet和jsp容器,因此越来越受欢迎。深受软件公司和开发人员的喜爱。新版本的tomcat中可以实现servlet和jsp的最新规范。其次,Tomcat是完全免费的开源软件,任何人都可以从互联网上免费下载。 Tomcat和Apache的结合相当完美。

[[314743]][[314744]]汤姆猫

本章知识链路

Tomcat 被誉为最好的Web 服务器。基本上每个开发者(JAVA)都会使用它。因此,本章将从以下几个方面进行阐述。文章如有错误,可以留言,共同讨论学习。

Tomcat的JVM内存检查; Tomcat的启动优化; Tomcat的并发优化; Tomcat的内存优化; apache的ab压力测试; Tomcat的三大模式BIO/NIO/APR(略)。tomcat想法

Tomcat之JVM内存查看

这里我将使用tomcat6和tomcat7进行说明。 tomcat7+的配置和操作方法类似。

Tomcat6的用户配置:Tomcat6配置

Tomcat7的用户配置:Tomcat7配置

上述设置完成后:本地访问/localhost:8080/manager/status

优化前信息

Tomcat之启动优化

修改Linux下的catalina.sh文件和Windows下的catalina.bat文件;内容如下:

导出JAVA_OPTS='

-服务器

-Xms1600M

-XMX1600M

-Xss512k

-XX:+积极选择

-XX:+UseBiasedLocking

-XX:PermSize=128M

-XX:MaxPermSize=256M

-XX:+禁用显式GC

-XX:MaxTenuringThreshold=31

-XX:+UseConcMarkSweepGC

-XX:+UseParNewGC

-XX:+CMSParallelRemarkEnabled

-XX:+UseCMSCompactAtFullCollection

-XX:LargePageSizeInBytes=128m

-XX:+UseFastAccessorMethods

-XX:+UseCMSInitiatingOccupancyOnly

-Djava.awt.headless=true'

检查是否生效

Tomcat之并发优化

修改位置:优化/opt/tomcat7/conf下的server.xml文件中的节点配置。请务必先备份。

标准版优化:

协议='org.apache.coyote.http11.Http11NioProtocol'

最大线程数='600'

minSpareThreads='100'

maxSpareThreads='500'

接受计数='700'

连接超时='20000'

重定向端口='8443'/

复杂版本优化:

协议='HTTP/1.1'

URIEncoding='UTF-8'

minSpareThreads='25'

maxSpareThreads='75'

启用查找='假'

禁用上传超时='true'

连接超时='20000'

接受计数='300'

最大线程数='300'

maxProcessors='1000'

minProcessors='5'

useURIValidationHack='假'

压缩='开'

压缩最小尺寸='2048'

compressableMimeType='text/html,text/xml,text/JavaScript,text/css,text/plain'

重定向端口='8443'/

Tomcat之内存优化

错误故障排除:

检查%TOMCAT_HOME%\logs文件夹中的日志文件,看看是否存在内存溢出错误。

错误信息一:java.lang.OutOfMemoryError: Java堆空间

原因:Tomcat默认可以使用的内存是128MB。在较大的应用项目中,这个内存不够用,可能会导致系统无法运行。

常见的问题是报Tomcat内存溢出错误和Out of Memory(系统内存不足)异常,导致客户端显示500错误。

一般可以通过调整Tomcat使用的内存来解决这个问题。

解决方法:在Windows环境下修改:

“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头添加以下设置:

JAVA_OPTS=-Xms2048m -Xmx2048m

Linux环境下修改:

“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头添加以下设置:

JAVA_OPTS=-Xms2048m -Xmx2048m

错误信息二:java.lang.OutOfMemoryError: PermGen space

原因:PermGen空间的全称是Permanent Generation space,指的是内存的永久存储区域。该内存主要被JVM用来存储Class和Meta信息。当Loader加载类时,类会被放置在PermGen空间中。它和存储类实例(Instance)的Heap区域不同。 GC(Garbage Collection)在主程序运行过程中不会清理PermGen空间,所以如果你的应用程序中有很多CLASS,PermGen很可能会出现。 space错误,这个错误在Web服务器预编译JSP时很常见。如果你的WEB APP使用了大量的第三方jar,并且它们的大小超过了jvm的默认大小(4M),就会产生这个错误信息。

解决方法:在Windows环境下修改:

“%TOMCAT_HOME%\bin\catalina.bat”文件,在文件开头添加以下设置:

设置JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m - XX:MaxPermSize=256m

Linux环境下修改:

“%TOMCAT_HOME%\bin\catalina.sh”文件,在文件开头添加以下设置:

导出JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m XX:MaxPermSize=256m

修改windows中的位置:

Apache的ab压力测试

下载httpd-2.2.29.tar.gz包/opt并解压到下面:httpd-2.2.29.tar.gz根目录/下:mkdir -p /usr/local/web/apache

进入/opt下的httpd-2.2.29文件夹: cd httpd-2.2.29 Installation./configure --prefix=/usr/local/web/apache --enable-shared=max --enable-module=rewirte --启用模块=so

制作

进行安装

ab压力测试开始:

进入/usr/local/web/apache/bin目录,执行以下命令:ab -n1000 -c100 /localhost:8080/

报告说明

附注

加速您的 Web 项目:深入 Tomcat 优化指南和的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

用户评论

服从

想深入了解如何把 Tomcat 优化到更好,提升网站性能?

    有11位网友表示赞同!

淡写薰衣草的香

分享一下你有哪些实际操作经验?我正在学习 Tomcac 的部署和优化

    有10位网友表示赞同!

羁绊你

这篇文章能帮助我更快地上手 Tomcat 吗?

    有20位网友表示赞同!

百合的盛世恋

我最近遇到一些 Tomcat 相关的性能问题,不知道有没有相关解决方案

    有5位网友表示赞同!

浮世繁华

Tomcat 部署项目太麻烦了是不是?文章里会不会讲到一些简化流程的方法?

    有9位网友表示赞同!

无关风月

做web开发确实需要掌握这些服务器优化技巧。

    有5位网友表示赞同!

柠夏初开

我平时都是用 JBoss,想了解一下 Tomcat 的优缺点有哪些。

    有18位网友表示赞同!

淡抹烟熏妆丶

希望文章讲解详细一点,最好提供一些代码示例!

    有17位网友表示赞同!

纯情小火鸡

Tomcat 优化真是深奥!希望这个教程能让我学到不少知识。

    有6位网友表示赞同!

雪花ミ飞舞

如果是针对高并发情况的优化方法更好!

    有13位网友表示赞同!

不忘初心

文章里会讲到内存管理和垃圾回收的优化吗?

    有6位网友表示赞同!

柠栀

学习一下 Tomcat 的部署,是不是可以提升自己的职业技能呀?

    有16位网友表示赞同!

念安я

看到这个标题我很激动,我一直在想学习tomcat的高级技巧!

    有5位网友表示赞同!

江山策

希望能从文章中了解到一些实战经验和总结!

    有11位网友表示赞同!

大王派我来巡山!

Tomcat 是一个非常流行的web服务器,掌握它的优化技巧确实很有价值!

    有12位网友表示赞同!

玩味

网上很多关于 Tomcat 的教程,但是高质量的很难找,希望这篇文章能给我带来新的收获。

    有11位网友表示赞同!

嘲笑!

希望文章能够讲得通俗易懂一些,方便学习理解!

    有12位网友表示赞同!

凉话刺骨

期待阅读这篇关于 Tomcat 高级优化的文章!

    有14位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7544.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666