您现在的位置是:物联网 >>正文
Web服务器(Tomcat)高级优化
物联网12235人已围观
简介自从JSP发布之后,推出了各式各样的JSP引擎。Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支 ...
自从JSP发布之后,高级推出了各式各样的优化JSP引擎 。Apache Group在完成GNUJSP1.0的高级开发以后 ,开始考虑在SUN的优化JSWDK基础上开发一个可以直接提供Web服务的JSP服务器,当然同时也支持Servlet,高级 这样Tomcat就诞生了。Tomcat是优化jakarta项目中的一个重要的子项目 ,其被JavaWorld杂志的高级编辑选为2001年度最具创新的Java产品 ,同时它又是源码下载优化sun公司官方推荐的servlet和jsp容器,因此其越来越多的高级受到软件公司和开发人员的喜爱。servlet和jsp的优化最新规范都可以在tomcat的新版本中得到实现。其次,高级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的User配置 :
Tomcat6配置
Tomcat7的User配置:
Tomcat7配置
上述设置完成后:本地访问 /localhost:8080/manager/status

未优化前信息
Tomcat之启动优化
Linux中修改catalina.sh文件 ,windows中修改catalina.bat文件;内容如下:
export JAVA_OPTS="
-server
-Xms1600M
-Xmx1600M
-Xss512k
-XX:+AggressiveOpts
-XX:+UseBiasedLocking
-XX:PermSize=128M
-XX:MaxPermSize=256M
-XX:+DisableExplicitGC
-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文件中<Connector>节点的配置优化 ,一定先备份。
标准版优化: <Connector port="8080"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="600"
minSpareThreads="100"
maxSpareThreads="500"
acceptCount="700"
connectionTimeout="20000"
redirectPort="8443" />
复杂版优化 :<Connector port="8080"
protocol="HTTP/1.1"
URIEncoding="UTF-8"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
disableUploadTimeout="true"
connectionTimeout="20000"
acceptCount="300"
maxThreads="300"
maxProcessors="1000"
minProcessors="5"
useURIValidationHack="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/JavaScript,text/css,text/plain"
redirectPort="8443"/>
Tomcat之内存优化
错误排查 :
查看%TOMCAT_HOME%\logs文件夹下 ,日志文件是否有内存溢出错误
错误提示一:java.lang.OutOfMemoryError: Java heap space
产生原因: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 space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中 ,高防服务器它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误 ,这种错误常见在web服务器对JSP进行pre-compile的时候 。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了 。
解决办法 :Windows环境下修改:
“%TOMCAT_HOME%\bin\ catalina.bat ”文件 ,在文件开头增加如下设置:
set JAVA_OPTS=-Xms64m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m - XX:MaxPermSize=256m
Linux环境下修改:
“%TOMCAT_HOME%\bin\ catalina.sh ”文件 ,在文件开头增加如下设置 :
export 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 安装./configure --prefix=/usr/local/web/apache --enable-shared=max --enable-module=rewirte --enable-module=so
make
make install
ab压力测试开始:
进入/usr/local/web/apache/bin目录下 ,执行以下命令 :ab -n1000 -c100 /localhost:8080/
报告说明

附注
因时间有限,免费模板文章中细节应用未在此体现,大家阅读时若有疑问可以随时留言讨论 。小编在这里致敬每一位技术人,大家辛苦啦!! !!
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/news/643d399353.html
上一篇:实例解析Java反射,你会了吗?
下一篇:人工智能如何改变云安全服务?
相关文章
智能恒温器存在网络安全风险吗?
物联网智能恒温器是最受欢迎的智能家居设备之一,原因很容易理解。它们方便、环保、省钱,甚至可以改善空气质量。不过,与所有物联网(IoT)设备一样,它们也会带来一些网络安全问题。如果正在考虑购买或已经拥有智能恒 ...
【物联网】
阅读更多有效安全自动化的关键因素
物联网在调研机构进行的一次访谈中,Tenzir公司的首席未来学家Oliver Rochford讨论了自动化如何与人类专业知识进行战略整合,确保数据完整性,以及高级任务实现自动化时需要考 ...
【物联网】
阅读更多上千个Docker hub镜像泄露认证密钥和私钥
物联网上千个Docker hub镜像泄露认证密钥和私钥。Docker Hub 是Docker社区的基于云的仓库,用于保存、分享和分发Docker镜像。这些容器创建的模板中包含在Docker中部署应用所有必要 ...
【物联网】
阅读更多
热门文章
最新文章
友情链接
- 新型 MassJacker 剪贴板恶意软件,捆绑在盗版软件中偷窃加密货币钱包
- 2024年度威胁报告:网络安全设备成黑客首选突破口
- 微软又全球宕机11小时,多项核心服务无法使用
- 警惕!利用AI深度伪造视频的新型“自骗”攻击浪潮来袭
- K8s曝9.8分漏洞,黑客可获得Root访问权限
- SpringBoot前后端加密让数据传输更优雅
- 大规模DOS攻击利用280万个IP攻击VPN和防火墙登录
- 深信服秋季新品重磅发布:安全GPT4.0数据安全大模型与分布式存储EDS新版本520,助力数字化更简单、更安全
- 起亚汽车曝严重漏洞:仅凭车牌号就可远程控制汽车
- 九个存在九年的 npm 软件包遭劫持 通过混淆脚本窃取 API 密钥 b2b信息平台香港物理机企业服务器亿华云网站建设云服务器源码库