(windows下)tomcat优化--内存,并发.缓存三方面优化
一.内存
注:
jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量、静态变量区)配置,
多了一个元数据区(Metadata Space:默认为内存的0.2%):所以设置元数据区大小的参数也变成对应的MetaspaceSize和MaxMetaspaceSize了。
set JAVA_OPTS=-server -Xms2048M -Xmx2048M -Xss2m -XX:MetaspaceSize=256m -XX:MaxNewSize=1024m
开启tomcat后,使用jps查看端口占用情况:
bootstrap即是tomcat的进程号
然后用jmap -heap 20372查看详情
上图显示证明配置已经成功. 注:jps和jmap命令必须要配置好java的环境变量.
2.配置优化(并发)
打开tomcat安装目录\conf\server.xml文件,定位到这一行:
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
这一行就是我们的tomcat容器性能参数设置的地方,它一般都会有一个默认值,这些默认值是远远不够我们的使用的,我们来看经过更改后的这一段的配置:
<Connector
port="8080"
protocol="HTTP/1.1"
maxThreads="1000"
minSpareThreads="100"
acceptCount="1000"
maxConnections="1000"
connectionTimeout="20000"
maxHttpHeaderSize="8192"
tcpNoDelay="true"
compression="on"
compressionMinSize="2048"
disableUploadTimeout="true"
redirectPort="8443"
enableLookups="false"
URIEncoding="UTF-8" />
配置线程池:在service标签下Connector之前配置
<!-- 线程池 -->
<Executor name="tomcatThreadPool"
namePrefix="catalina-exec-"
maxThreads="1000"
minSpareThreads="100"
maxIdleTime="60000"
maxQueueSize="Integer.MAX_VALUE"
prestartminSpareThreads="false"
threadPriority="5"
className="org.apache.catalina.core.StandardThreadExecutor"/>
线程池配置完成后在Connector中引用:
<Connector
executor="tomcatThreadPool" ...
参考博客:http://blog.csdn.net/qq525099302/article/details/78396120
https://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html
http://blog.csdn.net/u012562943/article/details/51441157
http://blog.csdn.net/wangyonglin1123/article/details/50986524
(windows下)tomcat优化--内存,并发.缓存三方面优化的更多相关文章
- windows下TOMCAT对内存使用的设置
1.打开TOMCAT目录 E:\备份\apache-tomcat-8.5.50-windows-x64\apache-tomcat-8.5.50\bin catalina.bat----------- ...
- (转)Linux下tomcat JVM内存设置步骤
java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space -------------- ...
- Windows下tomcat进程监控批处理程序
在Windows下tomcat进程监控批处理程序脚本如下: @echo off ::tomcat安装目录 set _tomcatDir=E:\myFiles\apache-tomcat-8.5.31 ...
- windows下tomcat切割日志按照日期输出
windows下tomcat默认不会把应用的日志信息输出在日志文件中的,只会在控制台打印. 解决方法: 1,下载工具cronolog-1.6.1-win32.zip,并解压. 2,把cronolog. ...
- 【tomcat环境搭建】Linux和Windows下tomcat开机自启动设置
目前很多项目都部署在tomcat上,频繁操作中,每次启动或关闭tomcat都稍显麻烦,那如何设置tomcat的开机自启动? Linux下tomcat的开机自启动设置 网上主要有两种方式,一种是shel ...
- Linux和Windows下tomcat开机自启动设置
Linux下tomcat的开机自启动设置 1.修改系统文件rc.local:vi /etc/rc.d/rc.local rc.local是给用户自定义启动时需要执行的文件,和windows里面的“启动 ...
- 环境变量(windows下tomcat问题);shh连接虚拟机网络配置
环境变量(windows下tomcat问题) 有tomcat有jdk 再配置环境变量:参考 提示:若选择“用户变量”,则本次配置的变量只对该用户有效 若选择“系统变量”,则对所有用户 ...
- Windows下Tomcat调优
windows tomcat 优化 1. tomcat conf server.xml 在server.xml中修改以一部分,增加节点数目,可以很好的提高性能: <Connector port ...
- Windows 下tomcat安装及将多个tomcat注册为Windows服务
一.应用场景 虽然Windows在当下已经不再是我们作为服务器操作系统平台的首选,但是还是有一些开发商或者项目整体需求的限制必须运行在Windows系统平台之下.为了避免多个应用部署在同一个tomca ...
随机推荐
- 对sssp项目搭建的补充,总错误处理。
总错误处理,是为了在程序运行时代码出错能及时在控制台看出错误信息. 1. springMVC配置文件中: -------- 2.controller包中: 新建类FrameControllerAdvi ...
- Ubuntu 安装 Kubernetes
Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上,为容器化的应用提供资源调度.部署运行.服务发现.扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-Pa ...
- Systemd on ubuntu
何为 systemd? systemd 是一个 Linux 下的系统和会话管理器,与 SysV 和 LSB 启动脚本兼容.systemd 提供了积极的并行处理能力,使用套接字(socket)和 D-b ...
- JS怎样捕获浏览器关闭时间弹出自定义对话框
<script type="text/javascript">window.onbeforeunload = function (e) { e = e || windo ...
- Unity中Oculus分屏相机和普通相机一键切换
Unity中Oculus分屏相机和普通相机一键切换 一.OCulus 分屏相机介绍 在VR开发工程中,总会觉得OC分屏的处理太慢,严重浪费时间啊! 但是不使用有不好调试,来回切换相机就成为了一个必须. ...
- Map的有序实现类和无序实现类
1.HashMap不是有序的: 2.TreeMap和LinkedHashMap是有序的(TreeMap默认升序,LinkedHashMap则记录了插入顺序).
- JavaScript实现本地图片上传预览功能(兼容IE、chrome、FF)
需要解决的问题有:本地图片如何在上传前预览.编辑:最近发现这个功能很多是基于flash实现的,很多JavaScript实现的代码兼容性都很差,特别是在IE和firefox和chrome三个浏览器上不兼 ...
- Android 菜单动态变化【添加或去除】
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android: ...
- gvim编辑器_vimrc文件
set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswin set dif ...
- {sharepoint} SetPermission
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...