1、优化内核及TCP连接:

fs.file-max =   # 系统文件描述符总量

net.ipv4.ip_local_port_range =    # 打开端口范围

net.ipv4.tcp_max_tw_buckets =   # 设置tcp连接时TIME_WAIT个数
net.ipv4.tcp_tw_recycle =   # 开启快速tcp TIME_WAIT快速回收
net.ipv4.tcp_tw_reuse =   # 开启TIME_WAIT重用
net.ipv4.tcp_syncookies =   # 开启SYN cookies 当出现syn等待溢出,启用cookies来处理,可防范少量的syn攻击
net.ipv4.tcp_syn_retries =   # 对于一个新建的tcp连接,内核要发送几个SYN连接请求才决定放弃
net.ipv4.tcp_synack_retries =   # 这里是三次握手的第二次连接,服务器端发送syn+ack响应 这里决定内核发送次数
net.ipv4.tcp_keepalive_time =   # tcp的长连接,这里注意:tcp的长连接与HTTP的长连接不同
net.ipv4.tcp_fin_timeout =    # 设置保持在FIN_WAIT_2状态的时间
net.ipv4.tcp_max_syn_backlog =   # tcp半连接最大限制数
net.core.somaxconn =   # 定义一个监听最大的队列数
net.core.netdev_max_backlog =   # 当网络接口比内核处理数据包速度快时,允许送到队列数据包的最大数目 保存退出
[root@cloud ~]# sysctl -p # 添加生效

2、修改Tomcat Connector运行模式为apr

  Tomcat Connector有三种运行模式:

    bio:阻塞IO bio是三种运行模式中性能最低第一种。

    nio:是一个基于缓冲区,并能提供非阻塞I/O操作的JAVA API 因此NIO也成为非阻塞I/O,比bio拥有更好的并发性能。

    apr:调用httpd核心链接库来读取或文件传输,从而提高tomat对静态文件的处理性能。Tomcat APR模式也是Tomcat在高并发下的首选运行模式:

[root@server3 src]# java -version    # 请确保JDK版本的正确性
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) -Bit Server VM (build 25.77-b03, mixed mode)
# 安装apr、apr-util、tomcat-native.tar.gz
[root@server3 src]# wget http://apache.fayea.com//apr/apr-1.5.2.tar.gz
[root@server3 src]# wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz
[root@server3 apr-1.5.]# cd apr-1.5.
[root@server3 apr-1.5.]# vim configure #查找 $RM "$cfgfile" 这个地方,用#注释掉,然后就可以了
[root@server3 apr-1.5.]# ./configure --prefix=/usr/local/apr
[root@server3 apr-1.5.]# make && make install
[root@server3 apr-1.5.]# cd ..
[root@server3 src]# tar xf apr-util-1.5..tar.gz
[root@server3 src]# cd apr-util-1.5.
[root@server3 apr-util-1.5.]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@server3 apr-util-1.5.]# make && make install
[root@server3 apr-util-1.5.]# ll /usr/local/apr*
/usr/local/apr:
total
drwxr-xr-x. root root Apr : bin/
drwxr-xr-x. root root Apr : build-/
drwxr-xr-x. root root Apr : include/
drwxr-xr-x. root root Apr : lib/ /usr/local/apr-util:
total
drwxr-xr-x. root root Apr : bin/
drwxr-xr-x. root root Apr : include/
drwxr-xr-x. root root Apr : lib/
[root@server3 apr-util-1.5.]# cp -a /usr/local/tomcat8./bin/tomcat-native.tar.gz /usr/local/src/
[root@server3 apr-util-1.5.]# cd !$
cd /usr/local/src/
[root@server3 src]# tar xf tomcat-native.tar.gz
[root@server3 src]# cd tomcat-native
tomcat-native-1.2.-src/ tomcat-native.tar.gz
[root@server3 src]# cd tomcat-native-1.2.-src/
[root@server3 tomcat-native-1.2.-src]# cd native/ [root@server3 native]# ./configure --prefix=/usr/local/apr --with-java-home=/usr/local/jdk1./
[root@server3 native]# make && make install
[root@server3 native]# vim /etc/profile.d/apr.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
:wq
[root@server3 native]# source /etc/profile.d/apr.sh [root@server3 bin]# sh shutdown.sh
[root@server3 bin]# sh startup.sh
[root@server3 bin]# tail ../logs/catalina.out
-Apr- ::20.319 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8./webapps/ROOT has finished in ms
-Apr- ::20.320 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8./webapps/examples
-Apr- ::20.713 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8./webapps/examples has finished in ms
-Apr- ::20.717 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8./webapps/manager
-Apr- ::20.799 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8./webapps/manager has finished in ms
-Apr- ::20.799 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat8./webapps/docs
-Apr- ::20.835 INFO [localhost-startStop-] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /usr/local/tomcat8./webapps/docs has finished in ms
24-Apr-2016 08:42:20.843 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]  # 通过查看启动日志,tomcat运行模式已经切换到APR。
24-Apr-2016 08:42:20.872 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-apr-8009"]
-Apr- ::20.877 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in ms

三、Tomcat内存优化:

  Tomcat内存优化主要是对tomcat启动参数优化,可以修改catalina.sh中设置JAVA_OPTS参数

    1.JAVA_OPTS参数说明

    -server  启用jdk 的 server 版;
-Xms java虚拟机初始化时的最小内存;
-Xmx java虚拟机可使用的最大内存;

配置如下:

[root@server3 bin]# vim /usr/local/tomcat8./bin/catalina.sh
 97行 JAVA_OPTS='-server -Xms1024m -Xmx1024m'

四、Tomcat并发优化

  1、Tomcat配置文件server.xml中<Connector .../> 

  2、参数说明:

minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为
acceptCount:允许的最大连接数,应大于等于 maxProcessors ,默认值为
enableLookups:是否反查域名,取值为: true 或 false 。为了提高处理能力,应设置为 false
connectionTimeout:网络连接超时,单位:毫秒。设置为 表示永不超时,这样设置有隐患的。通常可设置为 毫秒。
其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。
web server允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 个左右, Linux 是 个左右。 maxThreads  客户请求最大线程数
minSpareThreads    Tomcat初始化时创建的 socket 线程数
maxSpareThreads   Tomcat连接器的最大空闲 socket 线程数
enableLookups      若设为true, 则支持域名解析,可把 ip 地址解析为主机名
redirectPort        在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
acceptAccount       监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads  )
connectionTimeout   连接超时
minProcessors         服务器创建时的最小处理线程数
maxProcessors        服务器同时最大处理线程数
URIEncoding    URL统一编码

配置如下:

      <Connector port="" protocol="HTTP/1.1"
maxThreads=""
minProcessors=""
maxProcessors=""
minSpareThreads=""
maxSpareThreads=""
enableLookups="false"
URIEncoding="utf-8"
acceptCount=""
connectionTimeout=""
disableUploadTimeout="ture"
redirectPort="" />

tomcat对内存及并发的优化就这些。可根据具体的资源进行调整。重启tomcat,观察日志有无报错。

【 Tomcat 】tomcat8.0 基本参数调优配置的更多相关文章

  1. 【 Tomcat 】tomcat8.0 基本参数调优配置-----(1)

    Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你.对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU 的频率,保证文件 ...

  2. 【 Tomcat 】tomcat8.0 基本参数调优配置-----(2)

    Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒你.对于操作系统优化来说,是尽可能的增大可使用的内存容量.提高CPU 的频率,保证文件 ...

  3. tomcat8.0 基本参数调优配置

    1.优化内核及TCP连接:   fs.file-max = 655350 # 系统文件描述符总量 net.ipv4.ip_local_port_range = 1024 65535 # 打开端口范围 ...

  4. 【学习】011 JVM参数调优配置

    自动内存管理机制 Java虚拟机原理 所谓虚拟机,就是一台虚拟的机器.他是一款软件,用来执行一系列虚拟计算指令,大体上虚拟机可以分为 系统虚拟机和程序虚拟机, 大名鼎鼎的Visual Box.Vmar ...

  5. tomcat 9.0.4 性能调优

    参考了网上的一些优化参数,但是在启动中发现 有2个报错: 11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPr ...

  6. [转帖]Mysql 最简单的参数调优配置

    http://blog.jobbole.com/113659/ 我并不期望成为一个专家级的 DBA,但是,在我优化 MySQL 时,我推崇 80/20 原则,明确说就是通过简单的调整一些配置,你可以压 ...

  7. JVM 参数调优配置

    在 tomcat 配置文件 tomcat/bin/catalina.sh 中 配置  JAVA_OPTS="-server -Xms2048m -Xmx2048m -Xss1024K -XX ...

  8. LNMT(Linux+Nginx+MySQL+Tomcat)常见性能参数调优

  9. JBOSS参数调优

        阅读目录 JBOSS参数调优 jvm调优讲解1 JVM调优讲解2 JVM常见配置汇总 JBOSS生产环境下JVM调优 JBOSS瘦身 JBoss性能优化:内存紧张的问题终于解决了(转载)--- ...

随机推荐

  1. PAT——乙级1022:D进制的A+B &乙级1037:在霍格沃茨找零钱

    1022 D进制的A+B (20 point(s)) 输入两个非负 10 进制整数 A 和 B (≤2​30​​−1),输出 A+B 的 D (1<D≤10)进制数. 输入格式: 输入在一行中依 ...

  2. npm无法安装全局web3的问题

  3. NO6——KMP

    int next[N]; char str1[M],str2[N]; //str1 长,str2 短 //len1,len2,对应str1,str2的长 void get_next(int len2) ...

  4. LTE QOS

    http://wenku.baidu.com/link?url=ziFIkdKaC7MU2RY-bTOp2bt87WFPw5_02bqmYs5W6w4ktOfPHEcWesK1U2T7YiyXjVSM ...

  5. ArcGIS API for javascript中搜索框的使用问题

    我们在开发中常常需要用搜索框去搜索地图上的某个数据,然后在地图上显示出来.这个时候我们要用到esri.dijit.Search().在设置里面的sources的时候,需要注意一点:必须要使用在线的fe ...

  6. codeforce580c (dfs)

    题目意思:给你一棵树,然后每个叶子节点会有一家餐馆,你讨厌猫,就不会走有连续超过m个节点有猫的路,然后问你最多去几家饭店 思路:直接DFS Example Input 4 11 1 0 01 21 3 ...

  7. [C/C++] 深拷贝和浅拷贝

    ·默认拷贝构造函数可以完成对象的数据成员值简单地复制-----浅拷贝 ·对象的数据资源是由指针指示的堆时,默认拷贝构造函数仅作指针值的复制,需要显式定义拷贝构造函数-----深拷贝 首先定义几个点: ...

  8. Redis使用手册

    简介 Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型. Key-Value数据库. Redis面向互联网的方案提供了三种形式: 1.主从 主机进行写操作, ...

  9. tomcat 路径"/"表示根目录

  10. 【bzoj2768/bzoj1934】[JLOI2010]冠军调查/[Shoi2007]Vote 善意的投票 最小割

    bzoj2768 题目描述 一年一度的欧洲足球冠军联赛已经进入了淘汰赛阶段.随着卫冕冠军巴萨罗那的淘汰,英超劲旅切尔西成为了头号热门.新浪体育最近在吉林教育学院进行了一次大规模的调查,调查的内容就是关 ...