该优化针对Linux X86_X64环境
http://netkiller.github.io/www/tomcat/server.html
1. Tomcat优化其实就是对server.xml优化(开户线程池,调整http connector参数)
搜索【<Executor name="tomcatThreadPool"】,开启并调整为
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="1000" maxIdleTime="60000"
minSpareThreads="20"/>
搜索【port="8080"】,调整为
<Connector executor="tomcatThreadPool" port="8080" //开启线程池
protocol="org.apache.coyote.http11.Http11AprProtocol"//开启Apr协议,需要安装Apr支持
maxHttpHeaderSize="8192" maxThreads="1000" processorCache="1000" acceptCount="1000"
minSpareThreads="100"
acceptorThreadCount="8" URIEncoding="UTF-8"
enableLookups="false" redirectPort="8443"//关闭反向查询
connectionTimeout="120000" keepAliveTimeout="120000"
maxKeepAliveRequests="65535" disableUploadTimeout="true"
compression="on" compressionMinSize="4096"//开启静态文件压缩
noCompressionUserAgents="gozilla, traviata"//开启静态文件压缩
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,application/json,application/x-javascript " //开启静态文件压缩
/>
2. 对catalina.sh优化JVM
打开 Tomcat路径\bin\ catalina.sh,在最顶部加入,红色部分请根据实际情况调整
JAVA_OPTS="-server -showversion -Xms12g -Xmx12g -XX:PermSize=256m -XX:MaxPermSize=256m"
JAVA_OPTS="$JAVA_OPTS -d64 -XX:CICompilerCount=8 -XX:+UseCompressedOops"
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90"
JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=256m -XX:-UseAdaptiveSizePolicy"
JAVA_OPTS="$JAVA_OPTS -Duser.timezone=Asia/Shanghai -XX:-DontCompileHugeMethods"
JAVA_OPTS="$JAVA_OPTS -Xss256k -XX:+AggressiveOpts -XX:+UseBiasedLocking"
JAVA_OPTS="$JAVA_OPTS -XX:MaxTenuringThreshold=31 -XX:+CMSParallelRemarkEnabled "
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=256m -XX:+UseFastAccessorMethods"
JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -XX:+UseGCOverheadLimit -XX:AllocatePrefetchDistance=256 -XX:AllocatePrefetchStyle=1"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:MaxGCPauseMillis=200"
【注意】
1.-Xms=-Xmx=服务器内存*70%,如部署tomcat,jboss在同一台服务器-Xms=-Xmx=服务器内存*80%*1/4
2. 添加的参数建议要自己明白是什么意思,可以参考JVM参数列表
相关文章
- linux环境中,如何解压后缀是bz2的压缩包?tar.bz2格式的压缩包,如何进行解压?
- linux环境中安装iotop命令,解决-bash: iotop: command not found问题
- 跟老男孩学Linux运维:Shell编程实战2.4 脚本语言的种类
- Linux 产能工具及其使用技巧
- Linux的用户相关文件
- linux环境下使用rsync命令完成数据同步
- linux环境下使用sort命令完成常见排序操作
- 《嵌入式Linux开发实用教程》——1.3 arm-linux交叉编译链
- linux下安装jre运行环境
- Linux 下工作用户及环境
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
- 《构建高可用Linux服务器 第3版》—— 第3章 生产环境下的Shell脚本
- Linux环境下配置vscode的C/C++ 的make编译环境(编写makefile方式)代码Demo版
- Ubuntu 交叉编译( gcc-linaro-arm-linux-gnueabihf)环境搭建
- Linux下配置C/C++开发环境-----Eclipse
- Linux常用基本命令wc-统计文件的字节,字符,行数
- Linux的httpd
- Linux 如何将linux主机变为路由器&&iptables的基本用法
- lazarus 2016 2月18 4:22:35 支持android开发了, 既ios,linux,macosx,window,web 后 囊括一切啦。 哈哈
- Linux搭建SVN server
- 【正点原子FPGA连载】第十五章开发环境搭建 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Linux开发指南
- 手动释放linux内存cache
- Linux 之 arm linux 与 windows 使用 tftp 进行文件传输的简单整理
- 在Linux环境下安装和配置phpmyadmin
- 运维笔记:Linux搭建NFS存储共享服务器